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开发——Servlet生命周期