Servlet的生命周期就是从servlet出现到消亡(销毁)的全过程。
Servlet部署在容器里(应用服务器Tomcat,其他应用服务器,比如jboss,weblogic...),它的生命周期由容器来管理。
Servlet的生命周期分为以下几个阶段:(重点)
1.装载Servlet,由相应的Tomcat容器来完成
2.创建一个Servlet实例
3.调用Servlet的init()方法,该方法只会在第一次访问Servlet时被调用一次
4.服务:调用Servlet的service()方法,一般业务逻辑在这里处理,该方法在访问该Servlet时,会被调用
5.销毁:调用Servlet的destroy()方法,销毁该Servlet实例,该方法在以下情况被调用:
a.tomcat重新启动
b.reload该webapps
c.重新启动电脑
总的来说Servlet生命周期分成3个阶段:
1)初始化阶段:调用init方法
2)响应客户请求:调用service
3)终止:调用destory方法
初始化阶段:在下列时刻servlet容器装载servlet
1 servlet容器启动时,自动装载某些servlet
2 在servlet容器启动后,客户首次向servlet发送请求
3 servlet类文件被更新之后,重新装载servlet
Servlet被装载之后,servlet容器创建一个servlet'对象并调用servlet的init方法,在servlet生命周期内,init方法只能被调用一次。servlet工作原理:客户端发起一个请求,servlet调用service方法时请求进行响应,service对请求的方式进行了匹配,选择调用dopost或者doget等这些方法,然后进入对应方法中调用逻辑层的方法,实现对客户的响应。
响应客户请求:对于用户到达servlet的请求,servlet容器会创建特定于该请求的servletrequest和servletresponse对象,然后调用servlet的service方法,service方法从servletrequest对象中获取客户请求的信息,处理该请求,并且通过servletresponse对象向客户端返回响应信息。
终止:当web应用终止或者servlet容器终止或servlet容器重新装载servlet新实例时,servlet容器会调用servlet对象的destory方法,在destory方法中可以释放servlet占用的资源