1.先定義一個監聽類:
import java.util.Date; import java.util.Timer; import javax.servlet.ServletContextEvent; import javax.servlet.ServletContextListener; public class DemoListener implements ServletContextListener { private Timer timer = new Timer(); public void contextDestroyed(ServletContextEvent event) { timer.cancel(); } public void contextInitialized(ServletContextEvent event) { Date firstTime = new Date(System.currentTimeMillis()); int period = 5; // 設置定時的開始時間和周期 timer.schedule(new DemoTask(), firstTime, period * 1000); } }
2.制定定時任務類:
import java.net.UnknownHostException; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.TimerTask; import org.dom4j.DocumentException; public class DemoTask extends TimerTask { public void doSomething() throws UnknownHostException, DocumentException, ParseException { // 調用動作 System.out.println("定時調用動作成功--------------------------------------------------------------------"); } public void run() { try { doSomething(); } catch (Exception e) { e.printStackTrace(); } } }
3.web.xml配置監聽類
<?xml version="1.0" encoding="ISO-8859-1"?> <web-app> <display-name>DemoTimer</display-name> <listener> <listener-class>DemoListener</listener-class> </listener> </web-app>