JAVA 的列表 方式 迅雷的 是執(zhí)行任務(wù)后定時(shí)排隊(duì)列表
成都創(chuàng)新互聯(lián)公司專業(yè)為企業(yè)提供炎陵網(wǎng)站建設(shè)、炎陵做網(wǎng)站、炎陵網(wǎng)站設(shè)計(jì)、炎陵網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計(jì)與制作、炎陵企業(yè)網(wǎng)站模板建站服務(wù),十多年炎陵做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。
以下思路 ,
1)java.util.Timer.
2)ServletContextListener.
3)org.springframework.scheduling.timer.ScheduledTimerTask
1)java.util.Timer
這個(gè)方法應(yīng)該是最常用的,不過這個(gè)方法需要手工啟動(dòng)你的任務(wù):
Timer timer=new Timer();
timer.schedule(new ListByDayTimerTask(),10000,86400000);
這里的ListByDayTimerTask類必須extends TimerTask里面的run()方法。
2)ServletContextListener
這個(gè)方法在web容器環(huán)境比較方便,這樣,在web server啟動(dòng)后就可以
自動(dòng)運(yùn)行該任務(wù),不需要手工操作。
將ListByDayListener implements ServletContextListener接口,在
contextInitialized方法中加入啟動(dòng)Timer的代碼,在contextDestroyed
方法中加入cancel該Timer的代碼;然后在web.xml中,加入listener:
listener
listener-classcom.sysnet.demo.util.MyTimerTask/listener-class
/listener
3)org.springframework.scheduling.timer.ScheduledTimerTask
如果你用spring,那么你不需要寫Timer類了,在schedulingContext-timer
.xml中加入下面的內(nèi)容就可以了:
?xml version="1.0" encoding="UTF-8"?
!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" ""
beans
bean id="timer" class="org.springframework.scheduling.timer.TimerFactoryBean"
property name="scheduledTimerTasks"
list
ref local="MyTimeTask1"/
/list
/property
/bean
bean id="MyTimeTask" class="com.qq.timer.ListByDayTimerTask"/
bean id="MyTimeTask1" class="org.springframework.scheduling.timer.ScheduledTimerTask"
property name="timerTask"
ref bean="MyTimeTask"/
/property
property name="delay"
value10000/value
/property
property name="period"
value86400000/value
/property
/bean
/beans
下面給出方法2的一個(gè)例子供大家參考:
Java代碼:
import java.util.Timer;
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
public class MyTimerTask implements ServletContextListener{
private Timer timer = null;
@Override
public void contextDestroyed(ServletContextEvent event) {
// TODO Auto-generated method stub
timer.cancel();
event.getServletContext().log("定時(shí)器銷毀");
System.out.println("停止備份程序……");
}
@Override
public void contextInitialized(ServletContextEvent event) {
//在這里初始化監(jiān)聽器,在tomcat啟動(dòng)的時(shí)候監(jiān)聽器啟動(dòng),考試,大提示可以在這里實(shí)現(xiàn)定時(shí)器功能
timer = new Timer(true);
event.getServletContext().log("定時(shí)器已啟動(dòng)");//添加日志,可在tomcat日志中查看到
timer.schedule(new exportHistoryBean(event.getServletContext()),0,5*1000);//調(diào)用exportHistoryBean,0表示任務(wù)無延遲,5*1000表示每隔5秒執(zhí)行任務(wù),60*60*1000表示一個(gè)小時(shí);
}
}
import java.util.Calendar;
import java.util.TimerTask;
import javax.servlet.ServletContext;
public class exportHistoryBean extends TimerTask
{
private static final int C_SCHEDULE_HOUR = 0;
private static boolean isRunning = false;
private ServletContext context = null;
public exportHistoryBean(ServletContext context)
{
this.context = context;
}
@Override
public void run()
{
Calendar c = Calendar.getInstance();
if(!isRunning)
{
if(C_SCHEDULE_HOUR == c.get(Calendar.HOUR_OF_DAY))
{
isRunning = true;
context.log("開始執(zhí)行指定任務(wù)");
isRunning = false;
context.log("指定任務(wù)執(zhí)行結(jié)束");
}
else
{
context.log("上一次任務(wù)執(zhí)行還未結(jié)束");
}
}
}
}
web.xml里加入一下代碼:
listener
listener-classcom.sysnet.demo.util.MyTimerTask/listener-class
/listener
import?java.awt.*;
import?java.awt.event.*;
import?javax.swing.*;
public?class?JListDemo?extends?JFrame?{
private JPanel topPanel;
private JList listbox;
public?JListDemo(){
setTitle(?"Simple?ListBox?Application"?);
setSize(?300,?100?);
setBackground(?Color.gray?);
topPanel?=?new?JPanel();
topPanel.setLayout(?new?BorderLayout()?);
getContentPane().add(?topPanel?);
String listData[]?=
{
"Item?1",
"Item?2",
"Item?3",
"Item?4"
};
listbox?=?new?JList(?listData?);
topPanel.add(?listbox,?BorderLayout.CENTER?);
}
public?static?void?main(?String?args[]?)?{
JListDemo?mainFrame =?new?JListDemo();
mainFrame.setVisible(?true?);
}
}
這個(gè)類叫什么名字也不知道,在jsp頁面寫就和你寫java代碼一個(gè)樣只不過,你把java的system.out.println();改為頁面的輸出就行了
%
ListAnnouncement list =你這類的名字.findAll();
for(Announcement announcement:list){
%
%= announcement.get屬性();%
%
}
%
這樣應(yīng)該能完成,也是最簡單的。
網(wǎng)頁標(biāo)題:java代碼科室列表展示 java代碼介紹
文章來源:http://muchs.cn/article10/ddihsdo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供搜索引擎優(yōu)化、微信小程序、靜態(tài)網(wǎng)站、虛擬主機(jī)、品牌網(wǎng)站建設(shè)、全網(wǎng)營銷推廣
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)