Servlet生命周期
JavaWeb应用的生命周期由Servlet容器控制,而Servlet的容器也同样由Servlet容器控制。Servlet的生命周期分为三个阶段:初始化阶段、运行阶段和销毁阶段。javax.servlet.Servlet接口定义了三个方法:init()、service()和destroy()。它们会在Servlet生命周期的不同阶段被调用。
初始化阶段
(1)Servlet容器加载Servlet类,将其class文件读入到内存
(2)Servlet容器创建ServletConfig对象。该对象包含了特定Servlet的初始化配置信息。并且将该对象与ServletContext对象关联。可以通过该对象获得ServletContext对象。
(3)Servlet容器创建Servlet对象。
(4)Servlet容器调用Servlet对象的init(ServletConfig)方法,并建立Servlet和ServletConfig对象的关联。通过Servlet可以获得ServletConfig对象。
运行阶段
这个阶段,Servlet可以随时响应客户端的请求。当Servlet容器收到要求访问特定的Servlet的请求时,Servlet容器会创建针对这个请求的ServletRequest和ServletResponse对象,然后调用对应Servlet的service()方法。当Servlet容器把Servlet生成的响应结果发送给客户端后,Servlet容器就会销毁ServletRequest对象和ServletResponse对象。
销毁阶段
当Web应用被终止时,Servlet容器会调用所有Servlet对象的destroy()方法,然后再销毁这些Servlet对象。然后还会销毁与该Servlet对应的ServletConfig对象。