JavaWeb之Servlet的生命周期

相关方法

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

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

详细过程

JavaWeb之Servlet的生命周期

当在浏览器输入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()方法

猜你喜欢

转载自blog.51cto.com/13646338/2469785