一、概述
Servlet 是一种独立于平台和协议的服务器端的 Java 应用程序,可以生成动态的 Web
页面。
Servlet 是位于 Web 服务器内部的服务器端的 Java 应用程序,与传统的从命令行启动
的 Java 应用程序不同, Servlet 由 Web 服务器进行加载, 该 Web 服务器必须包含支持 Servlet
的 Java 虚拟机。
Java Servlet 与 Applet 的比较 :
相似之处:
* 它们不是独立的应用程序,没有 main() 方法。
* 它们不是由用户或程序员调用,而是由另外一个应用程序 (容器 )调用。
* 它们都有一个生存周期,包含 init() 和 destroy() 方法。
不同之处:
* Applet 具有很好的图形界面 (AWT) ,与浏览器一起,在客户端运行。
* Servlet 则没有图形界面,运行在服务器端。
Java Servlet 与 CGI(Common Gateway Interface) 的比较 :
与传统的 CGI 和许多其他类似 CGI 的技术相比, Java Servlet 具有更高的效率,更容易
使用,功能更强大,具有更好的可移植性,更节省投资。在未来的技术发展过程中, Servlet
有可能彻底取代 CGI。
* 高效
在传统的 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 具有完善的标准。 因此,为 IPlanet Enterprise Server
写的 Servlet 无需任何实质上的改动即可移植到 Apache 、Microsoft IIS 或者 WebStar 。几乎
所有的主流服务器都直接或通过插件支持 Servlet 。
评论0
最新资源