4.1 Servlet 简介 1. Servlet 是什么? Servlet 是使用Java Servlet 应用程序设计接口(API)及相关类和方法的 Java 程序。除了 Java Servlet API, Servlet 还可以使用用以扩展和添加到 API 的 Java 类软件包。Servlet 在启用 Java 的 Web 服务器上或应用服务器上运行并扩展了该服务器的能力。Java servlet 对于Web 服务器就好象Java applet 对于Web 浏览器。Servlet 装入Web 服务器并在Web 服务器内执行,而 applet 装入Web 浏览器并在Web 浏览器内执行。Java Servlet API 定义了一个servlet 和 Java 使能的服务器之间的一个标准接口,这使得Servlets 具有跨服务器平台的特性。 Servlet 通过创建一个框架来扩展服务器的能力,以提供在 Web 上进行请求和响应服务。当客户机发送请求至服务器时,服务器可以将请求信息发送给 Servlet, 并让 Servlet 建立起服务器返回给客户机的响应。 当启动 Web 服务器或客户机第一次请求服务时,可以自动装入 Servlet。装入后, Servlet 继续运行直到其它客户机发出请求。Servlet 的功能涉及范围很广。例如,Servlet 可完成如下功能: (1) 创建并返回一个包含基于客户请求性质的动态内容的完整的 HTML 页面。 (2) 创建可嵌入到现有 HTML 页面中的一部分 HTML 页面(HTML 片段)。 (3) 与其它服务器资源(包括数据库和基于 Java 的应用程序)进行通信。 (4) 用多个客户机处理连接,接收多个客户机的输入,并将结果广播到多个客户机上。例如,Servlet 可以是多参与者的游戏服务器。 (5) 当允许在单连接方式下传送数据的情况下,在浏览器上打开服务器至applet 的新连接,并将该连 接保持在打开状态。当允许客户机和服务器简单、高效地执行会话的情况下,applet 也可以启动客户浏览器和服务器之间的连接。可以通过定制协议或标准(如 IIOP)进行通信。 (6) 对特殊的处理采用 MIME 类型过滤数据,例如图像转换和服务器端包括(SSI)。 (7) 将定制的处理提供给所有服务器的标准例行程序。例如,Servlet 可以修改如何认证用户。 2. Servlet 的生命周期 Servlet 的生命周期始于将它装入 Web 服务器的内存时,并在终止或重新装入 Servlet 时结束。 (1) 初始化 在下列时刻装入 Servlet: 如果已配置自动装入选项,则在启动服务器时自动装入 在服务器启动后,客户机首次向 Servlet 发出请求时 重新装入 ...