Java:Web實現(xiàn)定時任務的簡便方法_JSP教程
推薦:JSF與Struts框架的異同Struts和JSF/Tapestry都屬于表現(xiàn)層框架,這兩種分屬不同性質(zhì)的框架,后者是一種事件驅(qū)動型的組件模型,而Struts只是單純的MVC模式框架,我們下面進行詳細分析比較。 首先事件是指從客戶端頁面(瀏覽器)由用戶操作觸發(fā)的事件,Struts使用Action來接受瀏覽器
在WEB應用下實現(xiàn)定時任務的簡便方法
在web方式下,如果我們要實現(xiàn)定期執(zhí)行某些任務的話,除了用quartz等第三方開源工具外,我們可以使用Timer和TimeTask來完成指定的定時任務:
第一步:創(chuàng)建一個任務管理類,實現(xiàn)ServletContextListener 接口
public class TaskManager implements ServletContextListener {
/**
* 每天的毫秒數(shù)
*/
public static final long PERIOD_DAY = DateUtils.MILLIS_IN_DAY;
/**
* 一周內(nèi)的毫秒數(shù)
*/
public static final long PERIOD_WEEK = PERIOD_DAY * 7;
/**
* 無延遲
*/
public static final long NO_DELAY = 0;
/**
* 定時器
*/
private Timer timer;
/**
* 在Web應用啟動時初始化任務
*/
public void contextInitialized(ServletContextEvent event) {
//定義定時器
timer = new Timer("數(shù)據(jù)庫表備份",true);
//啟動備份任務,每月(4個星期)執(zhí)行一次
timer.schedule(new BackUpTableTask(),NO_DELAY, PERIOD_WEEK * 4);
// timer.schedule(new BackUpTableTask(),NO_DELAY, 30000);
}
/**
* 在Web應用結(jié)束時停止任務
*/
public void contextDestroyed(ServletContextEvent event) {
timer.cancel(); // 定時器銷毀
}
}
第二步:創(chuàng)建一個時間任務類
public class BackUpTableTask extends TimerTask {
private static Log log = LogFactory.getLog(BackUpTableTask.class);
private static boolean isRunning = false;
public void run() {
if (!isRunning) {
isRunning = true;
log.debug("開始執(zhí)行任務..."); //開始任務
//working add what you want to do
log.debug("執(zhí)行任務完成..."); //任務完成
isRunning = false;
} else {
log.debug("上一次任務執(zhí)行還未結(jié)束..."); //上一次任務執(zhí)行還未結(jié)束
}
}
}
第三步:在web中添加一個監(jiān)聽器
<listener>
<listener-class>***.TaskManager</listener-class>
<description>要定期執(zhí)行的任務</description>
</listener>
那么在web服務器啟動的時候,任務也被啟動,并且會周期性的執(zhí)行
分享:網(wǎng)頁制作 JSP與ASP 的比較總的來講,JavaSever PagesTM(JSP)和 微軟的Active Sever Pages(ASP)在技術(shù)方面有許多相似之處。兩者都是為基于WEB應用實現(xiàn)動態(tài)交互網(wǎng)頁制作提供的技術(shù)環(huán)境支持。同等程度上來講,兩者都
- jsp response.sendRedirect不跳轉(zhuǎn)的原因分析及解決
- JSP指令元素(page指令/include指令/taglib指令)復習整理
- JSP腳本元素和注釋復習總結(jié)示例
- JSP FusionCharts Free顯示圖表 具體實現(xiàn)
- 網(wǎng)頁模板:關(guān)于jsp頁面使用jstl的異常分析
- JSP頁面中文傳遞參數(shù)使用escape編碼
- 基于jsp:included的使用與jsp:param亂碼的解決方法
- Java Web項目中連接Access數(shù)據(jù)庫的配置方法
- JDBC連接Access數(shù)據(jù)庫的幾種方式介紹
- 網(wǎng)站圖片路徑的問題:絕對路徑/虛擬路徑
- (jsp/html)網(wǎng)頁上嵌入播放器(常用播放器代碼整理)
- jsp下顯示中文文件名及絕對路徑下的圖片解決方法
- 相關(guān)鏈接:
- 教程說明:
JSP教程-Java:Web實現(xiàn)定時任務的簡便方法
。