Servlet中的init()和destory()

之前在学习ServletContext的时候突然发现自己并不知道init()方法和destory()方法的使用时间

  init()方法执行时间:

      1、只有第一次访问所属的servlet的时候才会执行,

         并且只执行一次,下一次再访问该servlet也不会执行

         只有下一次重启服务器才会再次执行

  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()方法,那么就执行;如果没有,就按照顺序执行

  

posted @ 2021-03-07 18:50  陌上尘如玉  阅读(228)  评论(0)    收藏  举报