之前在学习ServletContext的时候突然发现自己并不知道init()方法和destory()方法的使用时间
init()方法执行时间:
1、只有在web.xml中配置<load-on-startup>Integer numbet<load-on-startup>的时候
那么每次启动服务器都会自动执行他所在的对应的servlet的init方法
2、通过浏览器中URL访问的方式,首先访问init(),再次访问service()方法
destory()方法的执行时间:
必须和<load-on-startup>Integer numbet<load-on-startup>配合使用
而且只有在关闭Tomcat服务器的时候才会执行
例子:
1 <servlet> 2 <servlet-name>Test01</servlet-name> 3 <servlet-class>com.ss.servlet.Test01</servlet-class> 4 <load-on-startup>2</load-on-startup> 5 </servlet> 6 7 <servlet> 8 <servlet-name>Test02</servlet-name> 9 <servlet-class>com.ss.servlet.Test02</servlet-class> 10 <load-on-startup>1</load-on-startup> 11 </servlet>
在服务器一开始启动,首先根据<load-on-starrtup>中的数字,按照从小到大的顺序访问对应的servlet,
如果存在inti()方法,那么就执行;如果没有,就按照顺序接着执行
在服务器关闭之初,根据<load-on-startup>的数字,按照从小到大的顺序访问对应的servlet
如果存在destory()方法,那么就执行;如果没有,就按照顺序执行