文档介绍:: .
,具有更好的可移植性,更节省投资(更重要的是, Servlet 程序员
收入要比 Perl 程序员高:-):
高效。
在传统的 CGI 中,每个请求都要启动一个新的进程,如果 CGI 程序本身的执行时间较短,
启动进程所需要的开销很可能反而超过实际执行时间。而在 Servlet 中,每个请求由一个轻
量级的 Java 线程处理(而不是重量级的 操作系统进程)。
在传统 CGI 中,如果有 N 个并发的对同一 CGI 程序的请求,则该 CGI 程序的代码在内存中
重复装载了 N 次;而对于 Servlet,处理请求的是 N 个线程,只需要一份 Servlet 类代码。在
性能优化方面,Servlet 也比 CGI 有着更多的选择,比如缓冲以前的计算结果,保持 数据库
连接的活动,等等。
方便。
Servlet 提供了大量的实用工具例程,例如自动地解析和解码 HTML 表单数据、读取和设置
HTTP 头、处理 Cookie、跟踪会话状态等。
功能强大。
在 Servlet 中,许多使用传统 CGI 程序很难完成的任务都可以轻松地完成 。例如,Servlet 能
够直接和 Web 服务器交互,而普通的 CGI 程序不能。Servlet 还能够在各个程序之间共享数
据,使得数据库连接池之类的功能很容易实现。
可移植性好。
Servlet 用 Java 编写,Servlet API 具有完善的标准。因此,为 I-Planet Enterprise Server 写的
Servlet 无需任何实质上的改动即可移植到 Apache、Microsoft IIS 或者 WebStar。几乎所有的
主流服务器都直接或通过插件支持 Servlet。
节省投资。
不仅有许多廉价甚至免费的 Web 服务器可供个人或小规模网站使用,而且对于现有的服务
器,如果它不支持 Servlet 的话,要加上这部分功能也往往是免费的(或只需要极少的投资)。
JSP 及其特点
JavaServer Pages(JSP)是一种实现普通静态 HTML 和动态 HTML 混合编码的技术,
有关 JSP 基础概念的说明请参见《 JSP 技术简介 》。
许多由 CGI 程序生成的页面大部分仍旧是静态 HTML,动态内容只在页面中有限的几
个部分出现。但是包括 Servlet 在内的大多数 CGI 技术及其变种,总是通过程序生成整个页
面。JSP 使得我们可以分别创建这两个部分。例如,下面就是一个简单的 JSP 页面:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML Transitional//EN">
<HTML>
<HEAD><TITLE>欢迎访问网上商店</TITLE></HEAD>
<BODY>
<H1>欢迎</H1>
<SMALL>欢迎,
<!-- 首次访问的用户名字为"New User" --><% ((request)); %>
要设置帐号信息,请点击
<A HREF="Account-" >这里</A></SMALL>
<P>
页面的其余内容。.
</BODY></HTML>
下面是 JSP 和其他类似或相关技术的一个简单比较:
JSP 和 Active Server Pages(ASP)相比
Microsoft 的 ASP 是一种和 JSP 类似的技术。JSP 和 ASP 相比具有两方面的优点。首先 ,动
态部分用 Java 编写,而不是 VB Script 或其他 Microsoft 语言,不仅功能更强大而且更易于
使用。第二,JSP 应用可以移植到其他操作系统和非 Microsoft 的 Web 服务器上。
JSP 和纯 Servlet 相比
JSP 并没有增加任何本质上不能用 Servlet 实现的功能。但是,在 JS