servlet生命周期详解

Servlet生命周期是由Servlet容器来控制的,分为3个阶段:初始化阶段,运行阶段,销毁阶段

首先看初始化阶段:

Servlet容器加载servlet类,把他的.class文件中的数据读到内存中。

Servlet容器创建servletConfig类,servletConfig对象包含了servlet的初始化配置信息,此外servlet容器还会使得servletConfig对象与当前的web应用的servletContext对象关联

Servlet容器创建servlet对象

Servlet容器调用servlet对象的init(ServletConfig config)的方法,通过初始化步骤,创建了servlet对象和servletConfig对象,并且servlet对象与servletConfig对象关联,而ServletConfig对象又与当前对象的servletContext对象关联,当servlet容器完成servlet后,servlet对象只要通过getServletContext()方法就能得到web应用的servletContext对象。

运行阶段:

在运行阶段servlet可以随时响应客户端的请求,当servlet容器接到访问特定的servlet请求时,servlet容器会创建针对这个请求的servletRequest和ServletResponse对象,然后调用service()方法,并把这个两个对象当做参数传递给service()方法,service()方法通过serletRequest对象获得请求信息,并处理请求,再通过servletResponse对象

对象生成响应结果。(不管是doget还是dopost,都是到service()来出来,如果重新,就不会处理doXXX)

当servlet容器吧servlet生成的响应结果发过客户后,servlet容器会销毁servletRequest和ServletResponse对象。

销毁阶段:

当web应用被终止时,servlet容器会先调用web应用中所有的servlet对象的destroy()方法,然后再销毁servlet对象,此时容器还会销毁与servlet对象关联的servletConfig对象。

在destroy()方法的实现中,可以释放servlet所占有的资源,如果关闭文件输入输出流,关闭与数据库的连接等。

猜你喜欢

转载自lvwenwen.iteye.com/blog/1693868