方法1:web服务启动时自动加载servlet
就是写一个servlet,在init()方法中写好想要执行的程序,
同时,在web.xml配置文件中指出
<servlet>
<servlet-name>XXXX</servlet-name>
<servlet-class>XXXX</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
其中粗体部分即可实现tomcat启动时执行该servlet,Jboss中同样适用~
load-on-startup的值必须为整数
当load-on-startup值为负整数或者未指定时,容器在该servlet被调用时加载
当其值为0和正整数时,容器启动时加载,值越小,优先级越高
方法2:让服务启动或停止时自动执行代码
原理是使用servlet的监听器,建立一个servlet类并且实现ServletContextListener 接口:
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
public class TestListener implements ServletContextListener {
public void contextInitialized(ServletContextEvent event) {
//启动时要自动执行的代码
}
public void contextDestroyed(ServletContextEvent event) {
//停止时要自动执行的代码
}
}
在web.xml中添加一个listener ,以便让该servlet类自动执行,在web.xml中添加如下内容:
< listener >
< listener-class > TestListener </ listener-class >
</ listener >
listener-class里面的内容就是刚才添加的servlet类