前言
当浏览器向服务器发送请求时,服务器会依据浏览器发送的请求调用相应的servlet类进行处理,然后把响应结果返回给浏览器。那么当服务器通过tomcat容器调用相应的servlet类完成任务时,整个过程是如何的呢?即这个serlvet的生命周期,它包括四个阶段 实例化 – 初始化 — 运行 — 销毁。
一、实例化阶段
在第一个阶段中,容器会调用serlvet的构造函数对servlet类进行实例化,那么什么时候进行实例化呢?
1.浏览器提出请求时
一般情况下,当浏览器向服务器对应应用程序中包含的该servlet类第一次发送请求时,容器会调用构造函数对此servlet进行实例化,产生唯一的一个实例,如果后面再次发生请求,将反复调用该实例。即实例化 只做一次,而且也只产生一个实例。
2.应用程序在容器中部署时,自动进行实例化。
某些serlvet类需要应用程序部署时自动进行实例化,例如过滤器等。有在配置文件中添加相应标签和加入注解式两种方式。
(1)配置文件web.xml
在配置文件serlvet标签添加load-on-startup标签,例如:
<servlet