本帖最后由 osobo 于 2009-09-16 19:57:02 编辑

解决方案 »

  1.   

    如果你是用Spring的话,可以使用里面的一个定时功能的
    实在不行,你就做一个线程
    然后在context监听器中启动这个线程
    定时更新吧
      

  2.   

    具体的,你看看Spring的手册吧,我也有点忘了
      

  3.   

    public class A extends Thread{
    private B b;
    public A(B b){
     this.b=b;
    }
    private long waitTime;
    public void setWaitTime(long time){
      this.waitTime=time;
    }
    public void run(){
      while(true){
        try{
          if(b!=null){
            b.run();
            this.sleep(waitTime);
          }
        }catch(Exception ex){    }
      }
    }
    }
    interface B{
    public void run();
    }你自己实现B接口。
    在run方法你自己写代码调用Servlet
    没参数的话,那你就写个程序每5分钟访问一次Servlet的位置
      

  4.   

    楼主都说了没有任何框架的,用jdk中的Timer类(定时器),楼主研究一下,
    给你个地址可以参照:
    http://blog.csdn.net/qiushyfm/archive/2009/05/03/4146423.aspx
      

  5.   

    web.xml中load-on-startup可以配置你的servlet的init()在tomcat启动的时候被调用.public myServlet extends ...
    {
      init()
      {
         //这里写你的定时任务
      }
    }
      

  6.   

    谢谢回复;
    我主要就是不太怎么调用servletContext;
      

  7.   

    jdk Timer 可以实现定时功能,如果可以,你下载外quartz 就可以了.配置监听器,不一定要SPRING,TIMER虽然理论上可以满足要求,但实际上不多用.比如线程阻塞,IO阻塞,好像它不会准时的.
    ServletContext sc=getServletContext()就可以得到了.
      

  8.   

    自定义个Listener,在应用启动的时候加载定时器(Timer),定时执行任务(TimerTask)。