Web开发技术与JSP

时间:2017-10-07 14:09

将程序代码嵌入HTML中,由HTML负责信息的表示,程序代码负责处理的逻辑,其执行结果被重新嵌入到HTML后一起发送给客户浏览器,这便是目前开发动态交互站点最常用的技术。本文对ASP、PHP、JSP进行比较,并对

JSP进行更多介绍。

WEB三剑客:ASP、PHP、JSP

ASP(ActiveServerPages)是微软1996年底推出的技术,使用VBScript作为其缺省语言;PHP(PersonalHomePagetools)也是在同年开始推出,使用了类似C语言的脚本;而JSP是Sun属下Javasoft公司推出的技术,自然是用了Java语言。JSP宣布于1999年6月,是三者中最新的技术,以JavaServlet技术为基础,又在许多方面作了改进,并且充分借鉴了ASP和PHP的一些合理的地方。

Web应用的关键是数据库的访问。ASP采用微软的ODBC,ODBC向应用程序提供了统一的数据库访问接口,使特定数据库可以独立于应用程序;JSP采用了JDBC,这是Java与数据库的接口规范,结构类似于ODBC,但有更好的跨平台性,另外,JSP还可以使用JDBC-ODBC桥来间接使用ODBC;PHP则为不同数据库分别提供了大量的调用函数。PHP+MySQL,ASP+SQLServer以及JSP+Oracle是最常见的组合。

从所属体系来看,ASP可调用各种ActiveX组件,属于Microsoft的DNA体系,DNA集成了COM/DCOM模型和MTS、MSMQ等;JSP可以导入各种强大的Java类,包括JavaBean,并从属于J2EE/COBRA体系,值得注意的是目前JSP得到各大开发商全力支持,其中有IBM、Oracle和Netscape等;PHP则是一个开放源码组织的项目,它的支持仅来自开放源码组织,据说几个星期就更新一次;用户可自己编写外围函数,或通过更改编码并重新编译来适应各种要求和变化,PHPLIB就是最常用的一系列基库。

ASP的不足是只在Windows平台才能充分发挥其价值;对于关键的大型应用,NT平台往往无法让人放心,未来的电子商务对系统安全性和运行稳定性的要求只会越来越高,所以有时只能忍痛割爱。而PHP和JSP均可跨越各种平台。在NT上ASP是比较优先的选择;在Unix或Linux上则只能在PHP/JSP之间加以选择;平台的选择可能更为基本,而这已是一个更广泛的课题了。

PHP的不足其实是很明显的。它没有统一的数据库接口,试想如果改变了数据库平台,程序也得改变;没有特别好的框架结构,团队合作比较困难;没有组件的支持,而组件将是未来程序开发的主流;也没有像COM/DCOM/DNA或者J2EE/COBRA这样的体系支持,这样就很难适用大型应用的要求。

JSP至少也有一个缺憾。虽然JSP也是简单易学的,但无奈国内的相关资料实在太少。笔者的主页《小龙亭JSP实践之旅》(http://go18.163.com/~blueski)已提供了150多篇JSP相关文章,可供参考,故顺便在此推荐一下。另外,如果有一些Java基础,使用JSP显然会更加得心应手。笔者认为,学习和掌握Java语言应是面向未来的开发人员必修的一门课程呢。

现在的评论一般都避免强调孰优孰劣,这就像国内的搜狐、网易和新浪的地位一样敏感;其实,最好的技术乃是最实用或者最适用的技术。另外,有竞争才有发展,三种技术本身都在不断发展。只是笔者相信,JSP一定会笑傲江湖。

JSP之笑傲江湖篇

JSP在很多方面有着强大优势:

JSP继承了Java的各种优势,符合“writeonce,runanywhere”的原则。Java能通过异常处理机制来有效防止系统的崩溃;利用沙箱机制和内存管理可提高系统安全性及防止内存泄漏。实际上JSP在页面中可以嵌入几乎全部的Java语句(称为Scriptlets)。值得一提的是,下一代ASP也将相应地以VB取代VBScript来提升总体的性能,而下一代的VB也将汲取Java的一些优点,如多线程、异常处理等。

大多数JSP都利用了JavaBean来执行应用中的复杂处理。由于这些组件是可重用的,所以提高了开发效率,并可利用第三方的大量组件;另外,组件的使用也有利于页面中动态和静态的分离,页面设计者和程序开发者可以各司其职。可以说,JSP为分离处理逻辑与表示样式提供了最好的解决方案。

JSP和XML有着内在的结合,JSP的语法本身有两种方式,Java代码(Scriptlets)或者JSP标记。例如,脚本可以被包含在<%和%>之中,或者放在XML标志<jsp:scriptlet>和</jsp:scriptlet>中。JSP可以用于生成XML和HTML页面,对于简单的XML生成,开发人员可以包含XML标识和JSP页面的静态模板部分;对于动态XML生成,则使用基于服务器的对象来生成XML输出的客户化标识。此外,JSP规范也提供了一个机制以便于创建任意JSP页面的一个XML版本。在未来的Web世界中,Java和XML将是相辅相成的,Java为XML提供易于使用的代码,XML为Java提供信息交换的数据和内容。