设置Servlet实例化(被创建)时机
当浏览器第一次访问Servlet的时候,服务器为该Servlet创建实例,该实例会永驻内存,当服务器关闭或当前应用被移出服务器时,Servlet实例才会被销毁。
现在我们可以通过在web.xml文件中添加<load-on-startup>元素,来设置Servlet在服务器启动的时候就被创建。在web.xml中的配置如下:
<servlet>
<servlet-name>test1</servlet-name>
<servlet-class>cn.chen.servlet.Test1Servlet</servlet-class>
<load-on-startup>0</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>test1</servlet-name>
<url-pattern>/test1</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>test2</servlet-name>
<servlet-class>cn.chen.servlet.Test2Servlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>test2</servlet-name>
<url-pattern>/test2</url-pattern>
</servlet-mapping>
<load-on-startup>元素是<servlet>元素的子元素,用于指定Servlet被加载的时机和顺序。它的值必须是一个整数,如果这个值是一个负数即表示在第一次访问的时候被创建实例。<load-on-startup>的值越小越先被加载。