servlet生命周期
1、执行 Servlet 构造器方法
2、执行 init 初始化方法
3、执行 service 方法
4、执行 destroy 销毁方法
- 进行测试,每个方法中添加输出语句,看最后输出的顺序
import javax.servlet.*;
import java.io.IOException;
public class HelloServlet implements Servlet {
public HelloServlet() {
System.out.println("1.构造器");
}
@Override
public void init(ServletConfig servletConfig) throws ServletException {
System.out.println("2.init方法");
}
@Override
public ServletConfig getServletConfig() {
return null;
}
@Override
public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
System.out.println("3.service方法 -----> 我被访问了");
}
@Override
public String getServletInfo() {
return null;
}
@Override
public void destroy() {
System.out.println("4.destroy方法");
}
}
- 测试结果如下:
- 关闭Tomcat服务时,如下:
- 结论
即构造器和init()只在第一次访问 ( 第一次创建servlet程序 ) 的时候调用,
service(request,response)每次访问都会调用
destroy()在 web 工程停止的时候调用