1.创建一个Task类 这是一个线程类
public class Task extends TimerTask{
@Override
public void run() {
//任务代码
System.out.println("开始执行");
}
}
2.创建一个时间管理类TimerManager
public class TimerManager {
//时间间隔为一天
private static final long PERIOD_DAY = 24 * 60 * 60 * 1000;
public TimerManager(int hour,int minute,int second){
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.HOUR_OF_DAY,hour);
calendar.set(Calendar.MINUTE, minute);
calendar.set(Calendar.SECOND, second);
//第一次执行定时任务的时间
Date date=calendar.getTime();
Timer timer = new Timer();
Task task=new Task();
timer.schedule(task, date,PERIOD_DAY);
}
}
3.创建一个监听器
public class TaskListener implements ServletContextListener {
@Override
public void contextDestroyed(ServletContextEvent arg0) {
}
@Override
public void contextInitialized(ServletContextEvent arg0) {
//每天8点30自动执行
new TimerManager(8,30,0);
}
}
4.在web.xml配置文件中添加监听器,listener-class的值为自建的监听器的全路径
<listener>
<listener-class>auto_run.TaskListener</listener-class>
</listener>