服务热线:13616026886

技术文档 欢迎使用技术文档,我们为你提供从新手到专业开发者的所有资源,你也可以通过它日益精进

位置:首页 > 技术文档 > JAVA > 新手入门 > 基础入门 > 查看文档

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 发出请求时
=重新装入 servlet 时
装入 servlet 后,服务器创建一个 servlet 实例并且调用 servlet 的 init() 方法。在初始化阶段,servlet 初始化参数被传递给 servlet 配置对象。

(2) 请求处理
对于到达服务器的客户机请求,服务器创建特定于请求的一个"请求"对象和一个"响应"对象。服务器调用 servlet 的 service() 方法,该方法用于传递"请求"和"响应"对象。service() 方法从"请求"对象获得请求信息、处理该请求并用"响应"对象的方法以将响应传回客户机。service() 方法可以调用其它方法来处理请求,例如 doget()、dopost() 或其它的方法。

(3) 终止
当服务器不再需要 servlet, 或重新装入 servlet 的新实例时,服务器会调用 servlet 的 destroy() 方法。

扫描关注微信公众号