JavaWeb之Servlet的生命周期

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JavaWeb之Servlet的生命周期相关的知识,希望对你有一定的参考价值。

相关方法

init():只会调用一次,并且是在servlet对象创建的时候的触发,一般用于做初始化工作
service():处理请求和产生响应的,一次请求调用一次
destroy():只会调用一次,servlet从容器中移除时触发

tomcat启动时,servlet默认没有创建,当在浏览器访问时,才会创建servlet,触发init()和service()方法
当关闭tomcat或将项目从tomcat移除时,会触发servlet的destroy()方法

详细过程

技术图片

当在浏览器输入http://loclhost/Day03/lifeServlet时,首先会根据域名localhost在hosts文件中查找主机ip,即127.0.0.1,然后根据端口号80找到应用程序tomcat,接着根据URI中的/lifeServlet在web.xml查找是否有对应的Servlet,如果找到就将对应的请求交给相应的servlet处理,找不到就交给默认的servlet处理。tomcat会从Servlet容器中获取对应的Servlet,如果找不到会反射创建Servlet对象并放入Servlet容器(创建ServletConfig对象并执行init(ServletConfig config)),调用Servlet对象的service()方法处理请求并作出响应,第二次访问同个目标时,便直接调用service()方法,当tomcat关闭后,会触发servlet对象的destroy()方法

以上是关于JavaWeb之Servlet的生命周期的主要内容,如果未能解决你的问题,请参考以下文章

JavaWeb之Servlet

javaWeb中servlet开发——Servlet生命周期

JavaWeb学习笔记-07servlet生命周期

JavaWeb应用和Servlet的生命周期

(转)JavaWeb学习之Servlet----Servlet的生命周期继承结构修改Servlet模板

Servlet对象的生命周期