首页 > 代码库 > 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和正整数时,容器启动时加载,值越小,优先级越高