`
liuting37
  • 浏览: 10194 次
  • 性别: Icon_minigender_2
社区版块
存档分类
最新评论

在开发web时 写一个定时器

 
阅读更多

 一、要完成的功能

      web项目中,由于对数据库的大批量数据的添加和删除,往往要求,服务器能在深夜完成对数据库的大量数据操作,此时就需要一个定时器来完成这项任务。

     本次进行的事例为,每天晚上两点将当天的数据插入到数据库中,并将已经过期的数据删除。

二、定时器的应用

2.1定时器的编写

    (1).Timer.Schdeule();

     要注意首先是定义一个Timer这个类型的对象,然后定时就在于它的schedule()方法;schedule()方法如果有三个参数,第一个参数是用来制定定时的事件,第二个参数是用来指定时间第一次发生的时间(可以是从此刻起的延迟时间,也可以是设定的固定时间),第三个参数用来指定循环周期);如果schedule()方法有两个参数,第一个参数是用来指定定时事件,第二个参数用来指定时间发生的时间(可以是从此刻起的延迟时间,也可以是设定的固定时间);

     如果有两个事件要定时发生,继续调用timer的schedule方法,前后不冲突。

     (2).TimerTask

     要定时的事件写在继承TimerTask这个类后,实现run()方法中。

public class timertsk {
    Timer timer;
    public timertsk() throws ParseException {

        timer = new Timer(); 
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
        Date date = sdf.parse("2014-06-19 00:02:00");  //固定第一次执行的时间
          timer.schedule(new MyTask(),date,24*3600*1000);  //每天晚上两点执行一次。
//      timer.schedule(new MyTask2(),1000,3000);         //如果有两个定时时间直接写在下面就好了    
    }

    static class MyTask extends TimerTask {             //继承TimerTask类 实例化里头的方法
  
	public void run() {
                  // TODO Auto-generated method stub
	System.out.println("INFO");
			
		}    

        }
    static class MyTask2 extends TimerTask {
    	String info = "second";  
	public void run() {
	// TODO Auto-generated method stub
	System.out.println(info);

        }

    public static void main(String args[]) throws ParseException{
    			new timertsk();
      	
    }
  
}

 

 

2.2定时器在web项目中的配置

 2.2.1启动加载方法

   由于定时器在web项目中,要求在项目启动的时候就将定时器开启。

   需要两步:1、将定时器写在一个Servlet的初始化方法init()中;

                     2、配置web.xml文件,当项目启动后,就加载这个Servlet。

public class TimerDeleteServlet extends HttpServlet {

	/**
	 *@author LT 
	 */
	private static final long serialVersionUID = 1L;
	 
	public void init(){
	
                  new timertsk();

}
	
	protected void doPost(HttpServletRequest req, HttpServletResponse resp){


	}

}

 在web.xml 文件中的配置

  < servlet >
     < servlet-name >taskservlet< / servlet-name >
    < servlet-class >com.task< /servlet-class >
    < load-on-startup >1(数字越小优先级越高)< /load-on-startup >
  < /servlet >

 

 2.2.2监听器方法

 

  监听器的编写

public class MyListen  implements ServletContextListener { 

    private Timer timer = null; 
     
    @Override 
    public void contextDestroyed(ServletContextEvent arg0) { 
        timer.cancel(); 
    } 

    @Override 
    public void contextInitialized(ServletContextEvent arg0) { 
        timer = new Timer(true); 
        //设置任务计划,启动和间隔时间 
        timer.schedule(new MyTask(), 0, 1000 * 10); 
    } 
} 

 

web.xml 中的配置

<listener> 
            <listener-class>com.rx.timer.MyListen</listener-class> 
</listener>

 

分享到:
评论

相关推荐

    web定时器组件

    1. ServletContextListener:创建一个实现了ServletContextListener接口的类,重写contextInitialized方法,在Web应用启动时初始化定时任务。 2. Filter:利用Filter,可以在每次请求前或后执行定时任务,但这可能会...

    java web定时器例子

    Java Web定时器主要指的是在Java Web应用程序中实现定时任务的功能,这在许多业务场景中都是必要的,例如数据备份、报表生成、邮件发送等。在Java中,我们可以利用内置的`java.util.Timer`类或者Spring框架的`@...

    uni-app定时器实例

    uni-app是一个基于Vue.js开发的多端统一框架,它允许开发者编写一次代码,就可以在iOS、Android、Web(H5)、微信小程序、支付宝小程序、百度小程序等多个平台上运行。在uni-app中,我们可以使用JavaScript的定时器...

    Java代码借助JavaEE中的定时器定时关闭计算机

    在Java编程环境中,JavaEE(Java Platform, Enterprise Edition)是一个广泛使用的服务器端应用程序开发平台,它提供了丰富的组件和服务,如Servlet、JSP、EJB等,以构建分布式、多层的企业级应用。在这个特定的场景...

    多线程定时器Web和Winform双版本

    在IT领域,多线程定时器是一个非常实用的工具,特别是在开发Web应用程序和Windows桌面应用(Winform)时。这个工具允许程序员在多个线程环境中设置定时任务,从而实现后台处理、定期检查更新或者执行一系列间隔操作...

    web spring 定时器

    在Web开发中,Spring框架是广泛使用的开源框架,它提供了许多功能,其中之一就是定时任务管理。Spring的定时器功能使得开发者能够轻松地实现计划性的任务,例如数据清理、日志备份或者发送邮件等周期性操作。本文将...

    java 定时器 spring 定时器

    Java定时器和Spring定时器是Java开发中用于执行周期性任务的重要工具,它们在系统维护、数据同步、报告生成等场景中发挥着关键作用。本文将深入探讨这两个概念,以及如何在Spring框架中配置和使用定时器。 首先,...

    简单的jsp 定时器实例

    本实例将介绍如何在MyEclipse开发环境中,结合Tomcat服务器和SQL Server 2000数据库,实现一个基础的JSP定时器。 1. **JSP定时器原理** JSP定时器并非直接由JSP本身提供,而是通过JavaScript或者Java的Servlet来...

    spring定时器-quartz开发的步骤

    在IT行业中,Spring框架是Java企业级应用开发的首选,而Quartz则是一个强大的任务调度库,常用于实现定时任务。本篇文章将详细介绍如何利用Spring整合Quartz进行定时任务的开发,以及相关的重要知识点。 首先,理解...

    Java-Web定时器使用.doc

    为了实现这个目标,我们可以创建一个Servlet监听器,该监听器在Web应用程序启动时初始化,并在整个Web应用程序生命周期中保持活跃。监听器需要实现`javax.servlet.ServletContextListener`接口,这样当Web应用程序...

    WEB-INF.rar_定时器

    在IT行业中,定时器是一个非常重要的工具,尤其在服务器管理和后台任务执行方面。"WEB-INF.rar_定时器"这个主题涉及到几个关键知识点,包括数据库封装操作、邮件功能、定时器的使用以及日历功能的应用。下面我们将...

    定时器 源码+程序

    例如,在Windows中,设置定时器时会提供一个回调函数(WndProc),当WM_TIMER消息被处理时,这个函数会被调用。在回调函数中,开发者可以执行任何需要在定时器触发时完成的动作。 ### 定时器的实现方式 1. **系统...

    Java_Web定时器使用

    1. **创建定时器**:在Web应用启动时创建一个`Timer`实例。 2. **定义任务**:创建一个继承自`TimerTask`的类,重写其中的`run()`方法,实现具体的任务逻辑。 3. **配置监听器**:通过实现`ServletContextListener`...

    quartz通过cron实现web项目定时器

    本文将详细介绍如何使用Quartz结合cron表达式在Web项目中创建一个定时器。 首先,理解Quartz的基本概念至关重要。Quartz的核心组件包括Job(任务)、Trigger(触发器)和Scheduler(调度器)。Job定义了需要执行的...

    定时器技术应用2.zip

    在计算机编程中,定时器通常由操作系统或编程库提供,允许开发者设置一个时间间隔后执行某段代码。例如,我们可以用定时器来实现周期性的数据刷新、超时检测或者间隔触发的事件。 定时器主要分为硬件定时器和软件...

    无刷新的定时器

    在本场景中,我们讨论的是一个名为"WebApplication1"的项目,它可能是一个基于Web的应用程序,利用了这种无刷新定时器技术。 无刷新定时器的核心是JavaScript中的`setInterval()`函数,这是一个浏览器提供的API,...

    javaweb 定时器工程

    在Java Web开发中,定时任务是一项非常重要的功能,它允许我们按照预定的时间间隔执行特定的任务,比如数据库备份、清理缓存、发送邮件等。在这个"javaweb 定时器工程"中,主要涉及到了两个关键组件:Quartz和...

    定时器的原理及使用

    在 `web.xml` 配置文件中,我们需要添加监听器的配置,这样在服务器启动时会自动加载并初始化 `OnLineListener` 类,从而启动定时器。配置如下: ```xml &lt;!-- 监听器配置开始 --&gt; &lt;listener-class&gt;...

    JAVA WEB程序中添加定时器

    在上面的代码中,我们定义了一个名为BugXmlTimer的类,该类负责启动和停止定时器。该类中有两个方法:timerStart()和timerStop()。timerStart()方法用于启动定时器,timerStop()方法用于停止定时器。在timerStart()...

Global site tag (gtag.js) - Google Analytics