三种Web开发主流技术的评价之JSP
--------------------------------------------------------------------------------
 
作者:polygame 来源:新浪科技 
  JSP又是什么原因出现的呢?Java在推向开发人员时出现了重重困难,首先是Java缺少主流系统的广泛支持,而在所有的平台和技术上都缺少可以直接参照的应用方式。这时java就走向了在各个应用层上的积极进取,在自己擅长的与不擅长的领域都走出了坚定的脚步。其中最让Web技术人员兴奋的就是Java Servlet的出现和JSP的渐渐成熟,这一步步都让Java正式的走向了Web开发技术的舞台。Java利用了它的跨平台技术,使java的应用能快速的部署在各个平台上,而真的可以一处编写随处运行。它有较的利用了这个优势,巧妙的将java的通用性、jsp的易用性、servlet的速度结合在一起,利用平台部署上的技巧有效的屏蔽java的速度问题,所以Java迅速的在Web开发人员的团员中推广开来。携着Java Bean、EJB、Java Application Server、Java事务服务器等这样的强大后台走向了真正的成熟应用。  Jsp到底是一个什么样的语言呢?实际上JSP就是Java,只是它是一个特别的Java语言,加入了一个特殊的引擎,这个引擎将HTTPServlet这个类的一些对象自动进行初始化好让用户使用,而用户不用再去操心前面的工作。同时这个引擎又引入了Java Servlet Code(.java文件)->Java Runtime Bin Code(.class文件),这就是为什么我们第一次运行JSP时CPU运行能达到很高的原因,它实际上是调用了jsp引擎来生成java文件,再用javac来编译它到class文件,这才能去执行它。同时也说明了在第一次运行以后,速度为什么哪么快的原因,只要这个jsp文件不改变哪么这个操作就不再会进行了(除非你删除了class文件)。所以说,java有什么jsp就有什么样的功能,与asp一样,jsp的真正力量是我们永远看不到头的!  强势:  1、一处编写随处运行。这是一个程序员的梦想,也是从前的程序员的恶梦,为了在不同的平台间运行,使许多程序员一行行的重写代码。在这一点上java已经给了我最完美的答案它做的要比php更出色,除了系统之外,你的代码不用做一点更改的。  2、系统的多台平支持。我已经在差不多所有平台上见到了一致的java servlet/jsp的Web Server/Application Server……系统它可以让你在任意环境做开发,在任意环境进行系统部署,在任意环境扩展。相比asp/php的局限性是显面易见的。  3、强大的的可伸缩性。从只有一个小的jar文件就可以运行servlet/jsp到由多台服务器进行集群和负载均横,到多台Application进行事务处理、消息处理......一台服务器到无数以服务器,Java显示了一个巨人的生命力。  4、多样化和功能强大的开发工具支持。这一点与asp很像,java已经有了许多非常优秀的开发工具而且有许多可以免费得到,并且其中的许多已经可以顺利的运行于多种平台之下。如果你细心的使用它们会发现比自己第一面看到它们时的功能要强大的多。  弱势:  1、与ASP一样,Java的一些优势正是它致命的问题所在。正是由于为了跨平台的功能,为了极度的伸缩能力,所以极大的增加了产品的复杂性。这么说,它在扩展时需要的分成多少块,哪么java系统中就有多少种产品。所以你要以看到jre、jdk、jsdk、jswdk……,实际上它们只要有效的搭配在一起,就可以产生强大的效能,密不可分,但是对于一位初学者来说:“有没有搞错!难道让我运行一个jsp就要这么多乱七八糟的东西!”  2、从出现的第一天起就被对手痛骂的:“慢如老牛”。真的,我在第一次运行我的jsp时,我竟然以为我的机器死机而将哪个进程给kill了!第一次编绎、运行对于使用者来说真是一场恶梦,在开发时我经常晚上做梦在看WinNT的任务管理器CPU格全绿时等着降下来的样子和感觉。  3、技巧还是技巧。一个短处就一定要付出代价的。Java的运行速度是用将class常驻内存来完成的,所以它在一些情况下所使用的内存比起用户数量来说却实是“最低性能价格比”了。另一方面来说,它还需要硬盘空间来存储一系列的.java文件和.class文件以及对应的版本文件。  4、缺少系统性的资料。这也许不该说,但是sun在国内做的却实很差劲,java的资烊在国内极少,到现在我还没有在书店里看到一本jsp的书,而对java体系的论述书更是少而又少,与java相关的书(中文版)到现在不过三位数。而再看看之中大量的具然还在讲Visual J++或是Java 1.1这样的阵年旧货。  总结:  适用人群:具有较强学习能力和耐心的开发人员。投入低但是希望拥有较大的伸缩能力的应用。  适用平台:……(太多而只不再一一列说)适用应用:Internet/Intranet高可靠性应用、Internet/Intranet与Client/Server结合的应用系统  学习方式:Java的Doc文档和java站点中的一系文档Internet的源代码资源(对不起大家,真的不能提出更好的建议了,再有的就是大家的能力和运气,以及Inetnet上网友的帮助了)  推荐开发工具:JBuilder/Visual Age for java(这个我没用过,但是有人强力推荐)/Sun Forte for JavaKAWA  推荐开发环境:Windows NT/Windows 2000开发系统JBuilder 3.5(它能成为Web Server,甚至不再需要其它的工具)Tomcat 3.1JDK 1.3(可以不安装)Access 2000/P II 266/128M RAM/9G HD  推荐应用环境(最少):RedHat Linux 6.2/MySQL 3.22/Apache 1.3.12/Tomcat 3.1/JDK 1.3Beta/PIII 500/512M RAM/9G HD  推荐应用环境(最佳):Solaris 8/Sybase 11/iPlanet Enterprise Web Server 4.1/JDK 1.3Beta/Sun Netra T1/1G RAM/18G HD 

解决方案 »

  1.   

    三种Web开发主流技术的评价之ASP
    --------------------------------------------------------------------------------
     
    作者:polygame 来源:新浪科技 
      三种主流技术是哪三种呢?我主要讲一下ASP(ActiveX Server Page)、PHP、Java这三种技术。主要是基于我到现在已经使用的以下产品而谈:  ASP:MS IIS 4/Visuale Interdev 6  PHP:Apache 1.2.x/HomeSite 4.5/PHP 4  Java:iPlanet Web Server 4.1/JBuilder 3.5/JDK 1.2.2  以上技术本人却实使用过,而且已经使用它们做过项目,基于以前的工作经验给初学者和正在对自己应用系统进行选择的同仁谈谈自己对它们的评价,以做参考,同时也请大家提出自己的想法和意见 ,多交流。但是我有一个这样的看法:“一个产品它存在就有存在的理由,它不可能一无是处,而是需要你去选择一个最合适你的技术、产品”。一个好的技术要用在最合适它的地方,所以本文可以做为你参考的一个文章,而不会告诉你任何一个技术的“最”。  ASP:ActiveX Server Page  ASP我们先来谈谈它,因为ASP是到现在开发人郡最广的一个技术了,所以想来大家也会对它最关注。ASP是一个近乎完美的想法,可是因为MS一个大的环境的问题所以在一些方面反回使它缩小在了一个小的框架中,如果它能更好的跳出这个框架,我想由它现在的基础将无人可比。  ASP更精确的说是一个中间件,这个中间件将Web上的请求转入到一个解释器中,在这个解释器中将所有的ASP的Script进行分析,再进行执行,而这时可以在这个中间件中去创建一个新的COM对象,对这个对象中的属性和方法进行操作和调用,同时再通过这些COM组件再完成更多的工作。所以说,ASP强大的不在于它的VBScript, 而在于它后台的COM组件,这些组件来无限的扩充了ASP的能力。  强势:  1、简单易学。Basic有谁不会?很少会有人举手,所以有人在说这个开发基础是最广的。而且MS有一向做的非常好的联机手册,本地化语言的帮助,同时非常快的出现教学书籍,这样会大大方便开发人员的学习和对技术的深入研究。  2、安装使用方便。装好一个Windows 2000,只要你安装了IIS哪么ASP就可以使用了,从没有什么需要你花心思去配置的。而说实话,ASP的调优也不难做,而要做到最细时也不是一般人能做的了的。  3、开发工具强大而多样。这个我不用说了,可以说的就是我以前使用VB中的Web Class开发出的Web应用一点不差,当时让许多人大吃一惊,VB也能做ASP上的应用!!!其实这正说明了ASP开发工具的多样化,同时它们的功能也很强,这一点已经被许多程序员所津津乐道。易用、简单、人性化,这本就是微软的强项哟。  4、效率高。在低的访问量下,ASP能体现出一定的效率,这时它对机器的要求并不高。  弱势:  1、Windows本身的所有问题都会一成不变的也累加到了它的身上。安全性、稳定性、跨平台性(Win2K已经不再支持Alpha了)都会因为与NT的捆绑而显现出来。  2、ASP由于使用了COM组件所以它会变的十分强大,但是这样的强大由于Windows NT系统最初的设计问题而会引发大量的安全问题。只要在这样的组件或是操作中一不注意,哪么外部攻击就可以取得相当高的权限而导致网站瘫痪或者数据丢失。  3、由于ASP还是一种Script语言所没除了大量使用组件外,没有办法提高其工作效率。它必须面对即时编绎的时间考验,同时我们还不知其背后的组件会是一个什么样的状况。  4、无法实现跨操作系统的应用。当然这也是微软的理由之一,只有这样才能发挥ASP最佳的能力。可是我却认为正是Windows限制了ASP,ASP的概念本就是为一个能让系统运行于一个大的多样化环境而设计的。  5、还无法完全实现一些企业级的功能:完全的集群、负载均横。  总结:  适用人群:熟悉MS架构的人员。想用最短的时间学习,同时想用最简单的方式完成自己的应用。  适用平台:Windows系列平台适用应用:企业内部管理信息系统、中小Internet应用、快速数据库开发的应用。  学习方式:IIS 4 Online Help(中文)MSDN Lib相关知识市场上众多的ASP书籍  推荐开发工具:Visual InterDev/Home Site/Front Page  推荐开发环境:Windows 2000 Server/MS SQL  推荐应用环境(最少):Windows 2000 Server/MS SQL 7/PIII 500/256M RAM/18G HD
     
      

  2.   

    这个问题不用费脑劲了
    做项目时需要用哪个,
    哪个用得多就学哪个,
    JSP不会一两年就灭亡
    ASP。NET也不会一两年内就下台学会一个,当刀使啊
    “先就业,后择业,再创业”哈哈