在web项目中有很多时候需要在项目启动时就执行一些方法,而且只需要执行一次,比如:加载解析自定义的配置文件、初始化数据库信息等等,在项目启动时就直接执行一些方法,可以减少很多繁琐的操作。
这里写了个简单的实例,用的是监听器机制,创建一个类实现ServletContextListener 接口,实现里面的contextInitialized和contextDestroyed方法。
1 package com.test.listener;
2
3 import javax.servlet.ServletContextEvent;
4 import javax.servlet.ServletContextListener;
5 //创建的类名根据需要定义,但一定要实现ServletContextListener接口
6 public class WebContextListener implements ServletContextListener {
7
8
9 @Override
10 public void contextInitialized(ServletContextEvent arg0) { 12 //这里可以放你要执行的代码或方法
13 }
14
15 @Override
16 public void contextDestroyed(ServletContextEvent arg0) {
17 // TODO Auto-generated method stub
18
19 }
20
21
22 }
其中contextInitialized方法是项目在启动初始化的时候就会执行的方法,contextDestroyed是在消亡的时候执行的方法,这里我们需要把随项目启动时执行的代码放在contextInitialized方法中。
然后在web.xml中为这个监听器添加配置:
1 <listener> 2 <listener-class> com.test. listener.WebContextListener</listener-class> 3 </listener>
其中listenner-class配置的是上面定义的监听器类路径
这样就就可以了,部署好项目,启动就可以执行contextInitialized里面的代码了
