Servlet生命周期
一、出生:init()
--准备工作 没有设置load-on-startup: 有访问请求服务器资源的时候执行
--设置load-on-startup=2:启动的优先级,值越小优先级越高,服务器启动该方法执行;
--只执行一次
--方法的含义:由 servlet 容器调用,指示将该 servlet 放入服务。
load-on-startup设置(启动服务器的时候,对应的init()方法将自动按优先级执行)
<servlet> <description></description> <servlet-name>Servlet02</servlet-name> <servlet-class>Servlet02</servlet-class> <load-on-startup>3</load-on-startup> </servlet> <servlet-mapping> <servlet-name>Servlet02</servlet-name> <url-pattern>/Servlet02</url-pattern> </servlet-mapping> <servlet> <description></description> <servlet-name>Servlet03</servlet-name> <servlet-class>Servlet03</servlet-class> <load-on-startup>2</load-on-startup> </servlet> <servlet-mapping> <servlet-name>Servlet03</servlet-name> <url-pattern>/Servlet03</url-pattern> </servlet-mapping> <servlet> <description></description> <servlet-name>Servlet04</servlet-name> <servlet-class>Servlet04</servlet-class> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>Servlet04</servlet-name> <url-pattern>/Servlet04</url-pattern> </servlet-mapping>
执行结果:
二、活着:service(request,response)
--一定是访问的情况下执行:执行多次
--方法的含义:由 servlet 容器调用,以允许 servlet 响应某个请求
三、死亡:destroy()
--回收占用资源(比如内存、文件句柄和线程),一次;servlet从tomcat服务器取出的时候执行;
--方法的含义:由 servlet 容器调用,指示将从服务中取出该 servlet。