62,614
社区成员
发帖
与我相关
我的任务
分享
public class ContextListener extends HttpServlet implements
ServletContextListener {
/**
*
*/
private static final long serialVersionUID = 1L;
public ContextListener() {
}
private java.util.Timer timer = null;
public void contextInitialized(ServletContextEvent event) {
timer = new java.util.Timer(true);
event.getServletContext().log("定时器已启动");
Calendar cal=Calendar.getInstance(); //设置时间为9点
cal.set(Calendar.HOUR_OF_DAY, 9);
cal.set(Calendar.MINUTE, 0);
cal.set(Calendar.SECOND,0);
//System.out.println(cal.getTime()) ;
//今天是2009-11-20,打印的结果:Fri Nov 20 09:00:00 CST 2009
timer.schedule(new AutoSendMessage(event.getServletContext()), cal.getTime(),
24 * 60* 60 * 1000l);
event.getServletContext().log("已经添加任务调度表");
}
public void contextDestroyed(ServletContextEvent event) {
timer.cancel();
event.getServletContext().log("定时器销毁");
}
}
Calendar cal=Calendar.getInstance(); //设置时间为9点
cal.set(Calendar.HOUR_OF_DAY, 9);
cal.set(Calendar.MINUTE, 0);
cal.set(Calendar.SECOND,0);
Calendar now=Calendar.getInstance();//现在时刻
if( cal.before(now))//若时间已过期
{
cal.add(Calendar.DAY_OF_MONTH,1);//从明天9点开始
}//if 否则就是今天的9点
Calendar cal=Calendar.getInstance(); //设置时间为9点
cal.set(Calendar.HOUR_OF_DAY, 9);
cal.set(Calendar.MINUTE, 0);
cal.set(Calendar.SECOND,0);
timer.schedule(new AutoSendMessage(event.getServletContext()), cal.getTime(),24 * 60* 60 * 1000l);