分为三个阶段:初始化阶段、响应客户请求阶段和终止阶段。
javax.servlet.Servlet接口定义了3个方法:
init()、service()、destroy().
初始化阶段:
在下列情况下Servlet容器装载Servlet:
Servlet容器启动时自动装在某些Servlet.
Servlet容器启动后,客户首次向Servlet发出请求。
Servlet的类文件被更新后,重新装载Servlet.
//Servlet容器是否在启动时自动装载Servlet,这是由在web.xml中为Servlet设置的<load-on-startup>属性决定的
Servlet被装载后,Servlet容器创建一个Servlet实例并且调用Servlet的init()方法进行初始化。在Servlet的整个生命周期中,init方法只会被调用一次。
重载方式:
public void init(ServletConfig config) throws ServletException;
public void init()throws ServletException;
用第一个方法应该先调用super.init(config)方法确保参数config应用ServletConfig对象;
用第二个方法可以不用调用super.init()方法,如果要在init方法中访问ServletConfig对象,可以调用Servlet类的getServletConfig()方法。
响应客户请求阶段
Servlet容器创建特定于这个请求的ServletRequest对象和ServletResponse对象,然后调用Servlet的service方法从ServletRequest对象获得客户请求信息并处理该请求,通过
ServletResponse对象向客户返回响应结果。
终止阶段
当Web应用被终止,或Servlet容器终止运行,或Servlet容器重新装载Servlet的新实例时,Servlet容器会先调用Servlet的destroy()方法。在destroy方法中,可以释放Servlet所
占用的资源。