一、Servlet基础:
Servlet是一种独立于操作系统平台和网络传输协议的服务器端的Java应用程序,它用来扩展服务器的功能,可以生成动态的Web页面。最大的用途是通过动态响应客户机请求来扩展服务器功能。Servlet不是从命令行启动的,而是由包含Java虚拟机的Web服务器进行加载。
二、Servlet工作原理 :
Servlet运行在Web服务器上的Web容器里。Web容器负责管理Servlet。它装入并初始化Servlet,管理Servlet的多个实例,并充当请求调度器,将客户端的请求传递到Servlet,并将Servlet的响应返回给客户端。Web容器在
Servlet 的使用期限结束时终结该 Servlet。服务器关闭时,Web容器会从内存中卸载和除去 Servlet.
Servlet基本工作流程如下所示:
(1)客户机将请求发送到服务器。
(2)服务器上的Web容器实例化(装入)Servlet
(3)Web容器将请求信息发送到
Servlet。(4)Servlet
创建一个响应,并将其返回到Web容器。(5)Web容器将响应发回客户机。
(6)服务器关闭或Servlet空闲时间超过一定限度时,调用destory()方法退出。
三、Servlet生命周期:
(1) 初始化
在下列时刻装入 Servlet:如果已配置自动装入选项,则在启动服务器时自动装入
在服务器启动后,客户机首次向 Servlet 发出请求时
重新装入 Servlet 时装入 Servlet 后,服务器创建一个 Servlet 实例并且调用 Servlet 的 init() 方法。在初始化阶段,Servlet 初始化参数被传递给 Servlet 配置对象。
(2) 请求处理
对于到达服务器的客户机请求,服务器创建特定于请求的一个“请求”对象和一个“响应”对象。服务器调用 Servlet 的 service() 方法,该方法用于传递“请求”和“响应”对象。service() 方法从“请求”对象获得请求信息、处理该请求并用“响应”对象的方法以将响应传回客户机。service() 方法可以调用其它方法来处理请求,例如 doGet()、doPost()
或其它的方法。
(3) 终止
当服务器不再需要 Servlet, 或重新装入 Servlet 的新实例时,服务器会调用 Servlet 的 destroy() 方法。
生命周期图如下:
时间: 2024-11-05 00:51:50