有时候,我们希望Servlet程序,可以在启动Tomcat时随即启动,比如,当启动一个Web项目时,首先,需要对数据库信息进行初始化
此时,只需要使用web.xml文件中的<load-on-startup>
元素,将初始化数据库的Servlet,配置为随着Web应用启动即可
<load-on-startup>
元素,是<servlet>
元素的一个子元素,用于指定Servlet被加载的时机和顺序
<load-on-startup>
元素中,其值必须是一个整数
如果,该值是一个负数,或者没有设定元素值
Servlet容器,将在客户端首次请求这个Servlet时加载它
如果,该值是正整数,或者是0
Servlet容器,将在Web应用启动时,加载并初始化Servlet,并且的值越小,它对应的Servlet就越先被加载
示例程序
将HelloWorldServlet配置,为Tomcat启动时自动加载的Servlet
配置代码
<?xml version="1.0" encoding="ISO-8859-1"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
version="3.0">
<servlet>
<servlet-name>HelloWorldServlet</servlet-name>
<servlet-class>cn.itcast.firstapp.servlet.HelloWorldServlet</servlet-class>
<!--设置Servlet在Web应用启动时,初始化-->
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>HelloWorldServlet</servlet-name>
<url-pattern>/HelloWorldServlet</url-pattern>
</servlet-mapping>
</web-app>
启动Tomcat
在Tomcat控制台,输出的信息中可以看到,HelloWorldServlet的初始化信息被输出
说明,HelloWorldServlet在Tomcat启动时,被自动加载并且进行了初始化