1.配置web.xml,设置监听器
<listener>
<listener-class>com.abl.util.InitListener</listener-class> <!-- 监听器 -->
</listener>
2.创建启动类(被监听的对象),继承ServletContextListener
注:SunglassesTimer方法为循环执行的方法体,需继承TimerTask
public class InitListener implements ServletContextListener {
private static Logger logger = Logger.getLogger(InitListener.class);
private Timer timer = null;
@Override
public void contextDestroyed(ServletContextEvent context) {
timer.cancel(); //循环一次关闭线程
}
@Override
public void contextInitialized(ServletContextEvent context) {
// 上下文初始化执行
try {
System.out.println("自动加载启动开始.");
timer = new Timer(true); //初始化对象
timer.schedule(new SunglassesTimer(), 1000, 2000); // 定义任务 一秒开始 两秒循环
} catch (Exception e) {
// TODO: handle exception
logger.info("启动计时器失败");
}
}
}
3.创建SunglassesTimer,此方法体填写需要循环执行的内容
public class SunglassesTimer extends TimerTask{
/*
* 继承TimerTask,执行run方法
*/
@Override
public void run() {
SimpleDateFormat sdf = null;
sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");
System.out.println("当前时间:" + sdf.format(new Date()));
}
}