<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    小菜毛毛技術分享

    與大家共同成長

      BlogJava :: 首頁 :: 聯系 :: 聚合  :: 管理
      164 Posts :: 141 Stories :: 94 Comments :: 0 Trackbacks
    http://wangguorui89.javaeye.com/blog/428345

    Java定時器在Web中的應用

    關鍵字: java, 定時器, timertask

    在web中,定時器的啟動一般隨web server的啟動而啟動,一般有兩種方法.

    方法一:在web.xml里配置一個Servlet,并設置其隨web server的啟動而啟動。然后在該Servlet的init()方法里啟動定時器,在destory()方法里銷毀定時器。
    方法二:在web.xml里配置一個Listener,然后在該Listener的初始化方法里啟動定時器,在其銷毀的方法朝左銷毀定時器。

    在servlet中啟動定時器
    java 代碼
    1. import java.io.IOException;   
    2. import java.util.Timer;   
    3. import javax.servlet.RequestDispatcher;   
    4. import javax.servlet.ServletContext;   
    5. import javax.servlet.ServletException;   
    6. import javax.servlet.http.HttpServlet;   
    7. import javax.servlet.http.HttpServletRequest;   
    8. import javax.servlet.http.HttpServletResponse;   
    9.   
    10. import org.apache.commons.lang.StringUtils;   
    11.   
    12. public class ConvergeDataServlet extends HttpServlet {   
    13.   
    14.     private static final long serialVersionUID = 1L;   
    15.   
    16.     private Timer timer1 = null;   
    17.        
    18.     private Task task1;   
    19.        
    20.     /**  
    21.      * Constructor of the object.  
    22.      */  
    23.     public ConvergeDataServlet() {   
    24.         super();   
    25.     }   
    26.   
    27.     /**  
    28.      * Destruction of the servlet. 
       
    29.      */  
    30.     public void destroy() {   
    31.         super.destroy();    
    32.         if(timer1!=null){   
    33.             timer1.cancel();   
    34.         }   
    35.     }   
    36.   
    37.        
    38.     public void doGet(HttpServletRequest request, HttpServletResponse response)   
    39.             throws ServletException, IOException {   
    40.            
    41.     }   
    42.   
    43.        
    44.     public void doPost(HttpServletRequest request, HttpServletResponse response)   
    45.             throws ServletException, IOException {   
    46.         doGet(request, response);          
    47.     }   
    48.   
    49.     // init方法啟動定時器   
    50.     public void init() throws ServletException {   
    51.            
    52.         ServletContext context = getServletContext();   
    53.            
    54.         // (true為用定時間刷新緩存)   
    55.         String startTask = getInitParameter("startTask");   
    56.                    
    57.         // 定時刷新時間(分鐘)   
    58.         Long delay = Long.parseLong(getInitParameter("delay"));   
    59.            
    60.         // 啟動定時器   
    61.         if(startTask.equals("true")){   
    62.             timer1 = new Timer(true);   
    63.             task1 = new Task(context);   
    64.             timer1.schedule(task1, delay * 60 * 1000, delay * 60 * 1000);   
    65.         }   
    66.     }   
    67. }   

     定時執行操作

    java 代碼
    1.   
    2. /**  
    3.  *   
    4.  * @author callan  
    5.  */  
    6. import java.util.TimerTask;   
    7.   
    8. import javax.servlet.ServletContext;   
    9.   
    10. public class Task extends TimerTask{   
    11.   
    12.     private ServletContext context;   
    13.        
    14.     private static boolean isRunning = true;   
    15.        
    16.     public Task(ServletContext context){   
    17.         this.context = context;   
    18.     }   
    19.        
    20.            
    21.     @Override  
    22.     public void run() {   
    23.         if(isRunning){   
    24.              
    25.         }   
    26.     }   
    27.   
    28. }   

    在web.xml配置這個servlet為服務啟動時就調用servlet

    <servlet></servlet>
      < servlet >
         < servlet-name >taskservlet< / servlet-name >
        < servlet-class >com.task< /servlet-class >
        < init-param >
         < param-name >startTask< /param-name >
         < param-value >true< /param-value >
        < /init-param >
        < init-param >
         < param-name >intervalTime< /param-name >
         < param-value >1< /param-value >
        < /init-param >
        < load-on-startup >300< /load-on-startup >
      < /servlet >

    <servlet></servlet>


    posted on 2010-09-30 14:56 小菜毛毛 閱讀(1397) 評論(0)  編輯  收藏 所屬分類: 面試java定時器
    主站蜘蛛池模板: 免费看国产一级特黄aa大片| 无码高潮少妇毛多水多水免费| 亚洲成A人片在线观看中文| 亚洲午夜一区二区三区| 中文字幕在线观看免费视频 | 国产精品免费看久久久| 亚洲综合另类小说色区| 福利免费在线观看| 国产亚洲精品资源在线26u| 大地资源在线资源免费观看| 亚洲av无码片在线播放| 午夜老司机免费视频| 亚洲AV成人无码天堂| 一二三四免费观看在线视频中文版 | 国产成人精品久久免费动漫| 亚洲欧洲在线播放| 久久久久久久免费视频| 亚洲精品无码国产片| 亚洲高清免费视频| 国产真人无码作爱视频免费| 日韩精品亚洲人成在线观看| 91成年人免费视频| 亚洲色欲久久久综合网东京热| a毛片在线还看免费网站| 免费在线观看亚洲| jzzjzz免费观看大片免费| 国产亚洲A∨片在线观看| 2021免费日韩视频网| 亚洲av日韩aⅴ无码色老头| 亚洲精品美女久久久久99小说| 国内精品免费视频精选在线观看| 亚洲精品中文字幕无乱码| 午夜神器成在线人成在线人免费| 免费人成再在线观看网站 | 啦啦啦www免费视频| 国产裸体美女永久免费无遮挡 | 亚洲乱人伦中文字幕无码| 中文国产成人精品久久亚洲精品AⅤ无码精品| 免费视频精品一区二区三区| 亚洲jizzjizz在线播放久| 亚洲午夜无码片在线观看影院猛 |