第一步:编译两个类文件
1.SysListener.java
//---------------------------------------------
package com.initpower.webapp.listener;
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
import java.io.IOException;
import java.util.Timer;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServlet;
public class SysListener extends HttpServlet implements ServletContextListener {
private static final long serialVersionUID = 1L;
Timer timer = new Timer();
public void service(ServletRequest request, ServletResponse response)
throws ServletException, IOException {
}
public void contextInitialized(ServletContextEvent sce) {
System.out.println("系统定时任务初始化开始....");
// 调用任务
// 每10秒执行一次
timer.schedule(new UserOnlineTimerTask(), 0, 10000);
}
public void contextDestroyed(ServletContextEvent sce) {
System.out.println("系统定时任务初始化结束....");
timer.cancel();
}
}
2. UserOnlineTimerTask.java
//---------------------------------------------
package com.initpower.webapp.listener;
import java.util.TimerTask;
import com.initpower.common.tools.DateBean;
public class UserOnlineTimerTask extends TimerTask {
public void run() {
try {
System.out.println("["+DateBean.nowTimeStr()+"]"+"正在执行...");
//Runtime.getRuntime().exec("regedit");
} catch (Exception e) {
System.out.println("定时任务执行失败!");
e.printStackTrace();
}
}
}
第二步:编辑j2ee应用程序的web.xml
在<web-app>节点内加入:
<!-- Timer -->
<listener>
<listener-class>com.initpower.webapp.listener.SysListener</listener-class>
</listener>
第三步:启动tomcat5之类的web容器
屏幕上显示:时间+"正在执行..."