下面是我在另外一个帖子的留言:
(原贴http://www.delphibbs.com/delphibbs/dispq.asp?lid=1433470)
首先,asp和jsp不是语言,而是一项技术,而asp用的vbscript和jsp用的java只是语言载体
而已,相对来说,asp和vbscript结合相对较为松散,而jsp则与java紧密的绑定在一起,
需要注意的是,jsp,servlet,ejb是j2ee的基本技术体系,所以楼上有人说jsp没什么好
学的是非常错误的看法.
jsp不同与asp通过脚本语言来编写,jsp的后台代码是纯粹的java
代码,因此,楼上说jsp是脚本的看法也是不对的.同时,由于jsp支持
以类似于asp的方式来编写代码,因此如果据此就认为jsp只不过是一个
asp的java实现版本的话,那就大错特错了.向大家推荐jive(http://www.jivesoftware.com)
通过对jive的学习,大家可以深刻的体会到jsp和asp是多么的不同.
jsp tag的应用以及jsf的出现,说实话,我看不大懂现在最新标准的jsp
代码.
java不同于其他编程语言的一点在于从一开始就强调设计模式的运用,
整个jdk的类库设计堪称设计模式的教科书.因此,对于java体系中的
重要成员jsp来说,设计模式也是自始至终贯穿在其间的,因此,那种
说两周就可以学会jsp的说法是非常幼稚的.真正商用的jsp应用,
都会在实际的业务层之下构建一个framework,它可能直接使用
网上开放源码的framework,也可能是自行设计的,目的只有一个,
给构建的系统以最大的灵活性和可扩展性.j2ee的目标也正在与此.
最后,说明一点,jsp和servlet本质上是没有区别的,他们只是在代码
编写的表现形式不同,这也就决定了他们在实际应用的时候还是稍有区别
的,一般来说,偏重界面效果,追求网页美观的类似于门户网站的应用
会选择jsp,而偏重于业务处理,关注网页间的流转顺序的业务应用会选择
servlet,但实际上,他们并不是绝对的.
在我看来,jsp和servlet毫无二致.
--------------------------
转贴结束
--------------------------
回过头来,所说他们的优缺点,java的优点是什么?是完整的解决方案,
大厂商的支持,是跨平台的优越性,但它也有缺点,而这对一个软件开发商
来讲有时是致命的,它的学习曲线太陡,在初步入门以后,很难进一步掌握它的
精髓所在,对整个java技术体系的把握,是需要多年积累和经验的。坦率的讲,
我们公司的第一个java项目做的非常糟糕,差一点失败,但幸运的是,我在一家
大公司,可以找到及时而有效的技术支持,而公司本身对项目的经验和把握也在一定
程度上弥补了技术的不足,然而,你认为你们公司能做到吗?
asp或者asp。net的好处是开发简单,效率高,(其实这也是java的弱点之一,开发效率太低)
但是,它的性能问题说实话,我认为可能比java还要糟糕,大家都以为java性能差,可是
大家有没有想一想java的运行环境通常是什么地方?是sun fire 6800,ibm rs/3900等等这些
小型机上,说实话,你指望它的性能能差到什么地方去?换个角度来看asp,它运行的平台肯定是
wintel了,wintel组合的机器在硬件性能上能达到什么高度,大家都是能看到的,我也无需多说,
也许有人会说,java的性能还是比asp差呀,你要靠那么好的机器才能运行,我不去争论
在同等硬件下谁的性能好,但java可以用性能更好的硬件,而asp却不行,因此,在性能问题上,
实际上asp是处于劣势的。
因此,在我看来,你们选择技术方案的前提,是你们系统的目标客户究竟是什么样子,如果
是大企业,大客户,可以眉头都不皱一下的掏100万买台小型机的话,就无需犹豫了,用java
吧,但是如果面对的是中小型企业,他们的it规划多是基于wintel架构的,我的意见是:永远不要
在windows平台上运行java的程序,除了开发的时候。