java web项目定时任务

时间:2021-11-20 07:53:20

好久没写新文章了,今天项目遇到一个定时任务的需求,写下来希望能帮助更多的技术爱好者。

第一步:
配置项目的web.xml

    <?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
<display-name>weFlow</display-name>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>

<!-- 定时任务监听器 -->
<listener>
<listener-class>
com.zykj.util.DataTaskListener
</listener-class>
<!--这里的DataTaskListener类的路径要换成你当前的项目的否则报错:java.lang.ClassNotFoundException-->
</listener>


</web-app>

第二步:

package com.zykj.util;
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;

public class DataTaskListener implements ServletContextListener {
public void contextInitialized(ServletContextEvent event) {
new TimerManager();//TimerManager
}
public void contextDestroyed(ServletContextEvent event) {

}

}

第三步:

package com.zykj.util;

import java.util.Timer;

/**
* 定时任务
*
* @author 张亮 2017年5月12日 上午11:38:17
*/

public class TimerManager {
// 时间间隔
private static final long PERIOD_DAY = 60 * 1000;// 每分钟执行一次,,这里改成你需要的间隔时间
public TimerManager() {
Timer timer = new Timer();
long date=0;
DataTimerTask task = new DataTimerTask();
timer.schedule(task, date, PERIOD_DAY);
}
}

第四步:

package com.zykj.util;

import java.util.TimerTask;

public class DataTimerTask extends TimerTask {
@Override
public void run() {
try {
// 在这里写你要执行的内容
System.out.println("定时任务执行*********************");
} catch (Exception e) {
System.err.println(e);
}
}
}

最好效果图:
java web项目定时任务

有什么问题加群:472148690