TimerServlet类:
  package com.fesc.pubservlet;
  /**
  * 
Title:****(V5.0)
Description:公共的Servlet,定时执行程序,本
  * Servlet必须在服务器启动时即被装载,滞留于内存
Copyright: Copyright (c) 2003
Company: ***
Create Time: 2004-3-27
import java.util.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class TimerServlet extends HttpServlet {
  public void init(ServletConfig config) throws ServletException{
    super.init(config);
    System.out.println("Init Success!!!!!!!!!!");
    WrapperTimer wrapperTimer=new WrapperTimer();
    wrapperTimer.scheduleTask(); 
  }
}
TimerServlet类调用得java中Timer类:
package com.***;
import java.util.*;
import java.sql.*;
import java.io.*;
import java.text.*;
public class WrapperTimer {
  //设定启动时间:24小时制
  private int iHour=1,iMinute=0,iSecond=0;//凌晨1点启动
  private Timer timer = null;
  private TimerTask timerTask = null;
  private final static int PERIOD = 1 * 60 * 60 * 1000;
  private Calendar cal=Calendar.getInstance();
  public WrapperTimer() {
    timer = new Timer();
    timerTask = new MyTask();
  }
  public void scheduleTask() {
    //Calendar cal = Calendar.getInstance();
    cal.getTime();
    cal.set(cal.HOUR_OF_DAY,iHour);
    cal.set(cal.MINUTE,iMinute);
    cal.set(cal.SECOND,iSecond);
    timer.schedule(timerTask, cal.getTime(), PERIOD);
  }
  public void cancel() {
     timer.cancel();
  }
  private class MyTask extends TimerTask {
   public void run() {
     Calendar curCal=Calendar.getInstance();  //当前时间
     if(( curCal.getTime().getHours()==iHour)&&
                        (curCal.getTime().getMinutes()>=iMinute)){
       System.out.println("定时程序启动:");
                  ************//调用你要做的动作
       System.out.println("定时程序执行完毕!");
    }else{
        //System.out.println("时间不对");
    }
  }
 }
}
                 
                    
 
↑返回目录 
前一篇: Java-J2EE中文问题终极解决之道  
 
后一篇: B/S系统权限控制的一种简单方法