web 服务启动时自动执行某个类的代码

方法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类

猜你喜欢

转载自032615.iteye.com/blog/1136738
今日推荐