动态网页新军JSP vs老牌悍将ASP、PHP
摘 要:
关键词:
ASP全名为Active Server Pages,是一个Web服务器端的的开发环境,利用它可以产生和执行动态的、互动的、高性能的Web服务应用程序。ASP采用脚本语言VBScript(JavaScript)作为自己的开发语言。
PHP是一种跨平台的服务器端的嵌入式脚本语言。它大量借用c、 Java和Perl语言的语法,并耦合PHP自己的特性,使Web开发者能够快速地写出动态产生页面。它支持目前绝大多数的数据库。PHP是完全免费的,用户可以从PHP官方站点( )自由下载。
JSP是Sun公司推出的新一代网站开发语言。JSP即Java Server Page,它可以在Servlet和JavaBean的支持下,完成功能强大的站点程序。JSP是基于Java语言的,也就继承了Java语言的所有优势。
三者都提供在HTML代码中混合某种程序代码、有语言引擎解释执行程序代码的能力。但JSP代码被编译成Servlet,并由Java虚拟机解释执行,这种编译操作仅在对JSP页面的第一次请求时发生。在ASP、PHP、JSP环境下,HTML代码主要负责描述信息的显示样式,而程序代码则用来描述处理逻辑。普通的HTML页面只依赖于Web服务器,而ASP、PHP、JSP页面需要附加语言引擎分析和执行程序代码。程序代码的执行结果被
重新嵌入到HTML代码中,然后一起发送给浏览器。ASP、PHP、JSP三者都是面向Web服务器的技术,客户端浏览器不需要任何附加的软件支持。
JSP与ASP的比较
JSP是由Sun公司推出的非常类似于ASP的一种动态网页技术标准。它也提供了在HTML代码中混合程序代码,由语言引擎进行解释执行的能力。不同的是,ASP用的是Vbscript, JavaScript之类的脚本语言,而JSP使用的是成熟强大的JAVA代码。客户端请求JSP编写页面时,代码首先被转换成JAVA源文件,再编译成支持HTTP, FTP等网络协议的class文件(即Servlet),并由JAVA虚拟机执行。这种编译操作仅在对JSP页面的第一次请求时发生,虽然首次调用需几秒的编译加载时间,但后续请求只需调用服务器端缓存中的Servlets就可以了,比起每次请求都要解释执行的ASP代码要快。
综合来讲,JSP和ASP的主要区别或者说JSP的优势表现在以下几方面:
1) 最大区别或优势:JSP技术是基于平台和服务器独立的。它广泛吸收和接纳了各种工具包、服务器组件和数据库开发商提供的产品。例如Sun公司授权Macromedia为JSP的工具提供商,Apache, Netscape等公司为结盟公司,还得到Oracle, IBM等大公司的支持。这也就使得JSP可以运行于IIS, Apache, Netscape等各种Web服务器,支持Solaris, Windows. MACOS, Unix, Linux等绝大多数操作系统平台。
2) JSP突出的组件技术(包括JavaBean, EJB、定制的JSP标签)使JSP具有跨平台可重用性,大大加速了总体开发进程。JavaBean是一种可重用JAVA组件,即可以被JavaApplet/Servelt/JSP等JAVA程序调用,也可以被可视化JAVA开发工具使用,它是完全意义的OOP。虽然ASP支持微软的组件对象模型COM,但事实上COM的开发远比JavaBean复杂而繁琐,UNIX环境下实现COM更是困难。而且COM必须在服务器上注册后才可引用,更改COM需要重新注册,而JavaBean无需注册,放在ClassPath包含的目录中就可以了。
3) JSP对数据库的访问主要通过JDBC (JavaDataBaseConnectivity)来实现的。对于只支持ODBC的数据库,可以通过JDBC ODBC Bridge来实现访问。这也就意味着JSP可以比ASP(只支持ODBC数据库)访问更多类型的数据库。
4) JSP比ASP安全性更高。ASP应该说只在服务器端运行,将执行结果以HTML形式返回客户端浏览器,由此屏蔽源码程序。但IIS存在的漏洞已使得许多网站的ASP源码被下载了,可想而知若这样的情况发生在电子商务网站,那结果不堪设想。相比之下,JSP的安全性要高得多,它在执行前要编译成字节码,再由JAVA虚拟机执行,源码相对不易被下载,尤其在用了JavaBean之后,安全性更高。此外,JAVA语言还能够有效地防止系统崩溃,提供防止内存泄露的方法,JSP自身也有强大的意外事件处理机制。而ASP在这方面则几乎是无能为力的[2]。
JSP与PHP的比较
PHP由于是自由软件,在许多方面还是存在着一定的缺陷,与JSP相比有一定的差距:
1)虽然PHP和JSP都具有平台和服务器的独立性,但严格来说,JSP更胜一筹。JSP能够支持从Windows、NT、Linux、Unix到OS/390、FreeBSD几乎所有的平台,而PHP目前支持的平台则相对有限。
2)PHP是解释型的语言,性能相对JSP要差。JSP经JIT编译后,可以和C不相上下,而且支持多线程。
3)JSP有JavaBean和EJB这样强大的组件开发技术。通过JAVA2平台(即J2EE)能够同企业应用系统(ERP、CISS等)实现交互。而PHP在这方面几乎是空白,加上对不同数据库的接口不统一,使得它在通过分布计算构建大型电子商务站点中无能为力。
JSP的特点
随着JSP技术的不断发展,它已经越来越多的应用在Web程序开发中。而且JSP可以和EJB、J2EE等组件进行集成,开发结构和功能更为复杂的企业级应用程序。加上它具有跨平台、执行速度较快的优势,因此在很多方面体现出其优越性。我们可以总结JSP的特点如下:
1) 将内容的生成和显示分离。使用JSP开发页面,设计人员可以使用HTML或XML标记来设计和 规划最终显示的页面,而使用JSP或脚本代码来生成页面中的动态显示内容,动态内容通常被封装在JavaBean中。这样可以使开发人员的分工更加明确,Web程序更容易维护,页面设计人员即使修改页面文件也不会影响内容的生成。
2) 生成可重用组件。很多JSP页面程序都依赖可重用组件如EJB、JavaBean等来执行更为复杂的操作,程序开发人员可以共享这些通用的组件,这样可以加速整个程序的开发过程。
3) 采用标识简化页面开发。JSP标记具有扩充性,它允许用户定制常用的功能标识库。由于Web页面设计制作者可以使用标记库中的标记,因此很大程度上减少了页面制作的复杂度。
4) 安全性。所有JSP代码都在服务器上运行,通过JSP引擎编译成Class文件后在执行,生成的动态内容会以HTML或XML的形式发回客户端浏览器,在客户端是看不到JSP代码的。另外由于JSP是基于Java的,具有很多的Java语言的特性,当然也包含Java的安全性,因此JSP也具有很好的安全性。
5) 跨平台性。随着Java语言的迅速发展,几乎所有的平台都支持Java,这也给JSP带来了广泛的适应性。
下一篇:浅谈广电网络技术改造