1、加载和实例化:默认情况下servlst第一次被访问时,容器会创建servlet对象
2、初始化:在servlet初始化后容器会调用servlet的init()方法,初始化这个对象,完成一些如加载配置文件和创建链接的操作。这个方法只会被调用一次。
3、请求处理:每一次请求servlet的时候,servlet容器都会调用其service的方法,对请求进行处理。这个方法可以被多次调用。
4、服务终止:当需要释放内存或者容器关闭时。容器会调用servlet的destory方法完成资源回收释放。调用完毕后,容器会释放这个实力。该实例由java的垃圾回收器回收。这个方法只会被调用一次。
*有时候我们会在服务器开启时完成serlet对象的创建和初始化。具体操作是:
@WebServlet(urlPatterns = "/demo1",loadOnStartup = 1)
在@WebServlet注解里面添加一个loadOnStartup = 1这里数值不一定是1,可以是0或者正整数数值越小优先级越高,默认情况是负整数。
接下来我们来演示一下这些步骤:
public void init(ServletConfig servletConfig) throws ServletException {
System.out.println("Tomcat 调用了Servlet的init()方法 ");
}
public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
System.out.println("爱吃包子 selvet");
}
public void destroy() {
System.out.println("see you!");
}
在上一篇博客的基础上,我在init()方法和destory()方法里面分别增加了一个输出。我们运行一下这个web程序。