jsp与asp和php的比较2007-12-26 19:27与Asp和php的比较:
目前,最常用的三种动态网页语言有ASP(Active Server Pages),JSP(Java Server Pges),PHP (Hypertext Preprocessor)。
ASP全名Active Server Pages,是一个WEB服务器端的开发环境, 利用它可以产生和运行动态的、交互的、高性能的WEB服务应用程序。ASP采用脚本语言VB Script(Java script)作为自己的开发语言。
PHP是一种跨平台的服务器端的嵌入式脚本语言. 它大量地借用C,Java和Perl语言的语法, 并耦合PHP自己的特性,使WEB开发者能够快速地写出动态生成页面.它支持目前绝多数数据库。还有一点,PHP是完全免费的,不用花钱,你可以从PHP官方站点([url]http://www.[/url])自由下载。而且你可以不受限制地获得源码,甚至可以从中加进你自己需要的特色。
JSP 是Sun公司推出的新一代站点开发语言,他完全解决了目前ASP,PHP的一个通病--脚本级执行(据说PHP4 也已经在Zend 的支持下,实现编译运行).Sun 公司借助自己在Java 上的不凡造诣,将Java 从Java 应用程序 和 Java Applet 之外,又有新的硕果,就是Jsp--Java Server Page。Jsp 可以在Serverlet和JavaBean的支持下,完成功能强大的站点程序。
三者都提供在 HTML 代码中混合某种程序代码、由语言引擎解释执行程序代码的能力。但JSP代码被编译成 Servlet 并由 Java 虚拟机解释执行,这种编译操作仅在对 JSP页面的第一次请求时发生。在 ASP 、PHP、JSP 环境下, HTML 代码主要负责描述信息的显示样式,而程序代码则用来描述处理逻辑。普通的 HTML 页面只依赖于 Web 服务器,而 ASP 、PHP、JSP 页面需要附加的语言引擎分析和执行程序代码。程序代码的执行结果被重新嵌入到 HTML 代码中,然后一起发送给浏览器。 ASP 、PHP、 JSP三者都是面向 Web 服务器的技术,客户端浏览器不需要任何附加的软件支持。
JSP vs ASP
JSP跨平台,而且支持Apache, Netscape, IIS,IBM Http Server在内的所有主流Web Server (市场份额在85%以上),而ASP目前只支持NT+IIS(市场份额在20%左右);提供了更好的安全机制,这对于e-business这样的应用来说是至关重要的; JSP可以跨操作系统、Web Server和应用服务器,而ASP只限于NT+IIS;
JSP是一个开放的标准,得到了Oracle, Netscape, IBM & WebLogic, Inprise等的支持;JSP的组件编写更为容易,而且JSP的性能由于ASP;
JSP vs PHP
JSP是一个业界标准,得到Sun,IBM,Oracle,BEA,Apache等 的支持,PHP只是一个开发组织并不强的free ware ;PHP的性能不好,是解释型的,JSP采用JIT编译后,和c不相上下,而且支持多线程; JSP支持的平台众多,从Win98,NT,Unix,Linux,FreeBSD到AS/400,OS/390,而PHP支持的平台有限; JSP可以利用JDBC和众多主流关系数据库连接,而PHP目前只支持MySql和Oracle等有限的几种; JSP中的组件,JavaBean和EJB开发非常容易,而且还可以在JSP中使用Java所有的类和功能。而PHP只能用C写一些功能有限的组件,而且编写较为复杂; 利用JSP可以支持EJB,以支持Transaction和CORBA标准,而且还可以支持LDAP,Message等服务,使得访问ERP,CICS,MQ等企业应用非常容易。而PHP在这方面先天不足,所以对于电子商务这样的Mission-critical的应用来说,PHP并不适合。
性能比较
有人做过试验,对这三种语言分别做循环性能测试及存取Oracle数据库测试。在循环性能测试中,JSP只用了令人吃惊的四秒钟就结束了20000*20000的循环。而ASP、PHP测试的是2000*2000循环(少一个数量级),却分别用了63秒和84秒。
数据库测试中,三者分别对 Oracle 8 进行 1000 次 Insert,Update,Select,和Delete: Jsp 需要 13 秒,Php 需要 69 秒,ASP则 需要 73 秒。
前景分析
目前在国内PHP与ASP应用最为广泛。而JSP由于是一种较新的技术,国内采用的较少。但在国外,JSP已经是比较流行的一种技术,尤其是电子商务类的网站,多采用JSP。
采用PHP的网站如新浪网(sina)、中国人(Chinaren)等,但由于PHP本身存在的一些缺点,使得它不适合应用于大型电子商务站点,而更适合一些小型的商业站点。
首先,PHP缺乏规模支持。其次,缺乏多层结构支持。对于大负荷站点,解决方法只有一个:分布计算。数据库、应用逻辑层、表示逻辑层彼此分开,而且同层也可