servlet的生命周期是由servlet的容器来控制的。分为三个阶段:初始化阶段、运行阶段、销毁阶段。
初始化阶段的步骤:
-
- servlet容器加载servlet类,把它的class文件读取到内存中。
- servlet容器创建servletConfig对象。servletConfig对象包含了servlet对象的初始化配置信息。此外servlet容器还会使得servletConfig对象与当前web应用的servletContext对象相关联。
- servlet容器创建servlet对象。
- servlet容器调用servlet的init(ServletConfig config)方法。
通过初始化步骤,创建了servlet对象和servletConfig对象,并且servlet对象和servletConfig对象相关联,而servletConfig对象又与当前web的servletContext对象关联。当servlet容器实例化servlet对象后,通过servlet对象的getServletContext()方法即可获得web的servletContext对象。
注:servlet初始化的情况
:
- 当web应用处于运行阶段时,特定的servlet被客户端首次请求访问。
- 在web.xml文件中为servlet设置了<load-on-startup>元素
<servlet>
<servlet-name>servlet1</servlet-name>
<servlet-class>servlet.servlet1</servlet-class>
<load-on-startup>0</load-on-startup>
</servlet>
在servlet的配置当中,<load-on-startup>5</load-on-startup>的含义是:标记容器是否在启动的时候就加载这个servlet。当值大于等于0的时候,表示容器在应用启动的时候就加载这个servlet;当该值为负数或没有指定的时候,表示容器在该servlet被选择的时候才加载该servlet。正数的值越小,表示该servlet被加载的优先级越高。
3. 当web应用被重新启动的时候,所有的servlet会在特定的时间被重新初始化。
这个阶段servlet可以随时响应客户端的请求。当servlet容器接到访问特定servlet的请求时,容器会创建针对这个servlet的servletRequest对象和servletReponse对象,然后调用service()方法,并把这两个对象作为参数传递给service()方法。service()方法通过servletRequest对象获取请求信息,并处理该请求,然后通过servletReponse对象返回响应结果。不管是用post还是get方式提交请求,都会在service()中处理,由service()方法来交由相应的doPost()/doGet()方法处理。如果你重写了service()方法,就不会再处理doPost/doGet()了,这个时候可以自己转向doPost/doGet方法。当servlet容器把servlet生成的结果发送给客户端之后,servlet容器会销毁servletRequest对象和servletReponse对象。
当web应用被终止的时候,web容器会首先调用应用中所有servlet的destory()方法,然后再销毁servlet对象。此外,容器还会销毁与servlet关联的servletConfig对象。
注:
在servlet的生命周期中,servlet的初始化和销毁只会发生一次。
分享到:
相关推荐
Servlet 生命周期与工作原理 Servlet 生命周期与工作原理是指在 Servlet 容器中,Servlet 的从创建到销毁的整个过程。这个过程可以分为三个阶段:初始化阶段、响应客户请求阶段和终止阶段。 初始化阶段 在这个...
servlet生命周期演示,便于理解servlet工作流程。
servlet生命周期详解
SERVLET生命周期与JSP生命周期比较
达内学习笔记,servlet生命周期,十分详细,保证一看就懂
servlet生命周期详细图解,矢量图。 详细的解释请参考本人博客:http://blog.csdn.net/dwyers/article/details/38435949
servlet生命周期和模版设计模式,包括代码以及相关文档
关于对Servlet声明周期的图例示意!
山寨qq项目1.登录界面教你学会制作qq登录及后台运行。
Servlet 生命周期
Java WEB 篇七 Servlet 生命周期
注:本示例中有5章图片,但因为上传比较麻烦,所以就放在附件中 博文链接:https://lvp.iteye.com/blog/234610
Servlet技术 两条主线 1、HTTP协议 2、Servlet生命周期
从三个阶段来描述servlet的生命周期:初始化阶段、运行阶段和销毁阶段。