Servlet生命周期共有四个阶段
执行servlet构造器方法
执行init初始化方法
执行service方法
执行destroy销毁方法
第一个和第二个是在程序第一次访问创建servlet程序时会被调用,说明这两个是当地的,只有一个实例,创建一次就可以。第三个即service方法在每次访问的时候都会执行
我们来先写一个servlet程序,然后自动生成他里面的这几个方法,我们再重写一下里面的方法
public class hello_servlet implements Servlet {
public hello_servlet() {
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.我是访问的servlet程序");
}
@Override
public String getServletInfo() {
return null;
}
@Override
public void destroy() {
System.out.println("销毁方法");
}
}
我们来运行来瞅瞅:
我们可以看到,无论页面刷新了多少次,1和2即
servlet构造器方法
和init初始化方法
只会执行一遍,而service方法
每刷新一变就会执行一遍,但是我们还是没看到4即destroy销毁方法
然后我们选择停止运行
可以看到,这是销毁方法才出来,所以destroy销毁方法只在我们停止程序的时候才会执行