1操作类
package com;
import java.util.TimerTask;
public class JinTask extends TimerTask {
public void run() { //可以定义自己要处理的方法 System.out.println("开始执行了!!!!"); System.out.println(System.currentTimeMillis());
}
}2定时器监听类
package com;import java.util.Calendar;import java.util.GregorianCalendar;import java.util.Timer;
import javax.servlet.ServletContextEvent;import javax.servlet.ServletContextListener;
import org.apache.commons.logging.Log;import org.apache.commons.logging.LogFactory;
public class JinListener implements ServletContextListener {//Fieldsprivate Log logger = LogFactory.getLog(this.getClass()); //日志private static Timer timer;private static DeleteImageTask task = new JinTask();
public void contextDestroyed(ServletContextEvent arg0) { logger.debug("调用contextDestroyed方法"); if (timer != null) { timer.cancel(); logger.debug("Timer Canceled"); } //timer.schedule(task, 0, 100); logger.debug("contextDestroyed方法执行完成");
}
public void contextInitialized(ServletContextEvent arg0) { logger.debug("调用contextInitialized方法"); try { timer = new Timer(true); GregorianCalendar now = new GregorianCalendar(); //每天9:22执行 Calendar.DAY_OF_YEAR(一年中第一天的值为 1) //HOUR_OF_DAY( 用于 24 小时制时钟) //WEEK_OF_YEAR(第一个星期为1) now.set(Calendar.HOUR_OF_DAY, 9); now.set(Calendar.MINUTE, 22); now.set(Calendar.SECOND, 0); timer.schedule(task, now.getTime()); } catch (Exception e) { e.printStackTrace(); logger.error("Unable to initialize Schedule."); } logger.debug("contextInitialized方法执行完成");
}}
3web.xml中的配置
<listener> <listener-class> com.JinListener </listener-class></listener>
