Servlet生命周期方法的执行顺序
- 执行Servlet
构造器
方法 - 执行
init
初始化方法 - 执行
service
方法 - 执行
destroy
销毁方法
public class HelloServlet implements Servlet{
public HelloServlet() {
System.out.println("第一步:执行构造器方法");
}
@Override
public void init(ServletConfig servletConfig) throws ServletException {
System.out.println("第二步:执行init初始化方法");
}
@Override
public ServletConfig getServletConfig() {
return null;
}
@Override
public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
System.out.println("第三步:执行service方法");
}
@Override
public String getServletInfo() {
return null;
}
@Override
public void destroy() {
System.out.println("第四步:执行destroy销毁方法");
}
}
输出结果:
第一步和第二步是在第一次访问的时候创建Servlet程序会被调用,之后刷新页面只是执行了service
方法,也就是每次访问都会调用service
方法。构造器方法只执行了一次,所以是单例的。
而第四步destroy
方法在停止服务时才会执行。