Servlet的生命周期分为五个阶段:加载,创建,初始化,处理客户请求,卸载。
另外简单说下Servlet工作步骤。
- 加载
- 创建
- 初始化
- 处理客户请求
- 卸载
加载:容器通过类加载器使用Servlet类对应的文件来加载Servlet
创建:通过Servlet构造函数来创建一个Servlet实例
初始化: 通过调用Setvlet的init()方法来完成初始化工作,init()方法仅执行一次!
处理客户请求: 客户端发送HttpServlet请求时,web容器会创建一个新的线程,并调用Servlet中的service方法响应客户端的请求(service方法会根据客户端请求的method方法属性调用doGet/doPost方法)
卸载: 在服务器端停止且卸载Servlet时执行该方法。当Servlet对象退出生命周期时,负责释放占用的资源。一个Servlet在运行service()方法时可能会产生其他的线程,因此需要确认在调用destroy()方法时,这些线程已经终止或完成。
Servlet工作步骤:
(1)客户端向Servlet容器发送Http请求
(2)Servlet容器接收请求
(3)Servlet容器创建一个HttpRequest对象,将请求信息封装到这个对象中
(4)Servlet容器创建一个HttpResponse对象
(5)Servlet容器调用HttpServlet对象的service方法,把HttpRequest对象与HttpResponse对象作为参数传给HttpServlet 对象
(6)HttpServlet调用HttpRequest对象的有关方法,获取Http请求信息。
(7)HttpServlet调用HttpResponse对象的有关方法,生成Http响应数据。
(8)Servlet容器将HttpServlet的响应数据返回到客户端。