servlet生命周期

当web应用启动的时候,we b.xml文件首先被装载,(这里面包含了整个应用的servlet配置信息,以及每个servlet的初始化信息)。同时创建应用的servletContext对象。

servlet的初始化阶段:

一旦一个servlet进入初始化阶段,这是需要客户端首次请求访问或者在web.xml文件中的<load-on-startup>元素中设置了数字(即在应用启动的时候),便开始一系列初始化过程。

1.容器加载servlet.class文件到内存中。

2..class文件装载到内存之后,必然可以获取该servlet的配置信息(位于web.xml文件中的),进而封装称为一个servletConfig对象,此时的servletConfig对象与servlet Context对象关联。

3.接下来是创建servlet对象。也就是实例化一个servlet对象。

4.servlet容器调用servlet对象的init(servletConfig)方法,这使得该对象与servletConfig对象关联。

经过以上的步骤那么,servlet对象与servlet Config对象关联,servletConfig对象又与servletContext对象关联,导致servlet与servlet Context对象关联。那么也就是说在创建了servlet对象之后,servlet对象只要通过getServletContext()方法就能获取到当前应用的servlet Context对象。

运行时阶段:

就是响应客户端请求的一系列过程,通过HttpServletRequest获取请求信息,再通过HttpServletResponse对象生成响应结果。当响应结束之后,那么容器会销毁request/response对象。

销毁阶段:(销毁servletContext对象)

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

待续~~~~~~~

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 从三月份找实习到现在,面了一些公司,挂了不少,但最终还是拿到小米、百度、阿里、京东、新浪、CVTE、乐视家的研发岗...
    时芥蓝阅读 42,366评论 11 349
  • 局部变量放在栈中,实例变量放在堆中,静态变量放在方法区中 所谓生命周期,指的是Servlet容器如何创建Servl...
    itachi阅读 212评论 0 1
  • Servlet 生命周期:Servlet 加载--->实例化--->服务--->销毁。 Servlet生命周期分为...
    重山杨阅读 765评论 0 2
  • Servlet程序是运行在服务器端的一段Java程序,其生命周期受到Web容器的控制,生命周期包括:加载程序、初始...
    kylelin阅读 578评论 0 1
  • 本文包括: Servlet简介关于Servlet的一些类 Servlet生命周期 ServletConfig获得初...
    廖少少阅读 3,900评论 1 67