首页 > 代码库 > web项目启动时,执行某个方法

web项目启动时,执行某个方法

1.监听(Listener)

web文件添加

<listener>  
   <listener-class>cn.ro.common.InitListener</listener-class>  
</listener>

添加InitListener类,如下

package cn.ro.common;
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
public class InitListener implements ServletContextListener  {
@Override
public void contextInitialized(ServletContextEvent paramServletContextEvent) {

              //实现方法
}
@Override
public void contextDestroyed(ServletContextEvent paramServletContextEvent) {
}
}

2.spring初始化bean时

1、在需要进行操作的bean的xml定义中加上init-method属性,指定下启动时运行哪个方法;

2、实现InitializingBean接口,Spring在启动时会自动调用这个接口中的初始化方法 

public class SysInitBean implements InitializingBean,ServletContextAware{
          public void afterPropertiesSet() throws Exception {
      //初始化代码
       }
}<span style="background-color: rgb(226, 226, 226); "> </span>
实现InitializingBean接口就可以获取spring的所有配置信息。
实现ServletContextAware,可以获得servletcontext

3.servlet的init()方法

自动执行servlet

写一个servlet,在init()方法中写好想要执行的程序,

同时,在web.xml配置文件中指出

<servlet>
                <servlet-name>XXXX</servlet-name>
                  <servlet-class>XXXX</servlet-class>
                 <load-on-startup>1</load-on-startup>
        </servlet>

load-on-startup的值必须为整数,当load-on-startup值为负整数或者未指定时,容器在该servlet被调用时加载

当其值为0和正整数时,容器启动时加载,值越小,优先级越高