`

Java定时器在Web中的应用

    博客分类:
  • Java
 
阅读更多

==========Java定时器在Web中的应用==========
在web中,定时器的启动一般随web server的启动而启动,一般有两种方法.
方法一:在web.xml里配置一个Servlet,并设置其随web server的启动而启动。然后在该Servlet的init()方法里启动定时器,在destory()方法里销毁定时器。
方法二:在web.xml里配置一个Listener,然后在该Listener的初始化方法里启动定时器,在其销毁的方法朝左销毁定时器。
在servlet中启动定时器
java 代码
import java.io.IOException;  
import java.util.Timer;  
import javax.servlet.RequestDispatcher;  
import javax.servlet.ServletContext;  
import javax.servlet.ServletException;  
import javax.servlet.http.HttpServlet;  
import javax.servlet.http.HttpServletRequest;  
import javax.servlet.http.HttpServletResponse;  

import org.apache.commons.lang.StringUtils;  

public class ConvergeDataServlet extends HttpServlet {  

    private static final long serialVersionUID = 1L;  

    private Timer timer1 = null;  
      
    private Task task1;  
      
    /**
     * Constructor of the object.
     */
    public ConvergeDataServlet() {  
        super();  
    }  

    /**
     * Destruction of the servlet.

     */
    public void destroy() {  
        super.destroy();   
        if(timer1!=null){  
            timer1.cancel();  
        }  
    }  

      
    public void doGet(HttpServletRequest request, HttpServletResponse response)  
            throws ServletException, IOException {  
          
    }  

      
    public void doPost(HttpServletRequest request, HttpServletResponse response)  
            throws ServletException, IOException {  
        doGet(request, response);         
    }  

    // init方法启动定时器  
    public void init() throws ServletException {  
          
        ServletContext context = getServletContext();  
          
        // (true为用定时间刷新缓存)  
        String startTask = getInitParameter("startTask");  
                  
        // 定时刷新时间(分钟)  
        Long delay = Long.parseLong(getInitParameter("delay"));  
          
        // 启动定时器  
        if(startTask.equals("true")){  
            timer1 = new Timer(true);  
            task1 = new Task(context);  
            timer1.schedule(task1, delay * 60 * 1000, delay * 60 * 1000);  
        }  
    }  
}  
定时执行操作
java 代码

/**
*  
* @author callan
*/
import java.util.TimerTask;  

import javax.servlet.ServletContext;  

public class Task extends TimerTask{  

    private ServletContext context;  
      
    private static boolean isRunning = true;  
      
    public Task(ServletContext context){  
        this.context = context;  
    }  
      
          
    @Override
    public void run() {  
        if(isRunning){  
            
        }  
    }  

}  

在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>

 

分享到:
评论

相关推荐

    Java定时器在Web中的应用.doc

    Java定时器在Web应用中的实现主要涉及到`java.util.Timer`类和`ServletContextListener`接口,它们在Spring、Struts、Hibernate等框架环境下同样适用。本文将详细解释如何使用这两个核心组件来实现在Web环境中定时...

    java web定时器例子

    在Java Web应用中,Spring框架提供了更强大的定时任务支持。通过`@EnableScheduling` 注解启用定时任务配置,并在具体的类上使用`@Scheduled` 注解来定义定时任务。 ```java import org.springframework.scheduling...

    Java定时器

    在Web应用程序中,可以利用Servlet侦听器结合`Timer`来实现更复杂的定时任务。例如,可以在应用启动时初始化`Timer`,并在应用关闭时销毁它,以确保资源的正确管理。 ```java import javax.servlet....

    JAVA中定时器的使用

    在实际应用中,定时器可以用于各种场景,例如计划任务、缓存更新、日志记录等。例如,在一个 web 应用程序中,可以使用定时器来计划任务,例如每天凌晨执行某个任务。在一个游戏应用程序中,可以使用定时器来更新...

    java 定时器 spring 定时器

    总结一下,Java定时器虽然简单易用,但在复杂应用中可能显得不足。Spring定时器通过提供丰富的配置选项和强大的`TaskScheduler`接口,成为企业级应用中定时任务的首选。使用Spring定时器,开发者能够更高效地管理和...

    java定时器结合spring

    Java定时器结合Spring框架可以创建灵活且可扩展的定时任务,这种技术在许多企业级应用中非常常见,用于执行周期性的后台任务,如数据清理、报告生成或服务调用等。下面将详细介绍如何在Spring中集成Java定时器,并...

    JAVA定时器word文档

    在Web应用的配置文件`web.xml`中,需要添加监听器配置,以便在Web应用启动时加载`WorkServiceImpl`类。这通过`&lt;listener&gt;`标签和`&lt;listener-class&gt;`子标签完成,指定监听器类的全限定名。 总结一下,Java定时器...

    java定时器.pdf

    总结来说,Java定时器提供了一种灵活的方式来安排和管理定时任务,无论是在桌面应用还是Web应用中,都能发挥重要作用。正确理解和使用`Timer`和`TimerTask`,能够帮助开发者实现各种复杂的定时需求,如数据同步、...

    spring和java定时器

    在提供的Java代码片段中,`SPListener`实现了`ServletContextListener`接口,这意味着它会在Web应用启动时初始化,并在Web应用停止时销毁。在这个监听器中,创建了一个`Timer`实例,计划在每天特定时间(15:16:00)...

    web定时器组件

    Web定时器组件是Java Web应用中用于执行周期性任务的关键工具。它允许开发者在特定时间间隔内自动执行某些操作,例如数据同步、日志清理、发送通知等。这些任务可以是后台运行的,不会影响用户的交互体验。在本文中...

    java定时器的实现

    本文将详细介绍如何使用`Timer`类结合`ServletContextListener`接口来实现在Web应用中启动并管理一个定时任务。 #### 二、Java定时器的基本概念 1. **`java.util.Timer`类**:`Timer`类是Java中用于执行定时任务的...

    java定时器定时调用任务

    在实际应用中,Java定时器还可以与其他技术结合,例如在Servlet环境下。提到的`servlet-timer`可能指的是在Servlet环境中使用定时器的方式。在Servlet容器(如Tomcat)中,可以通过监听器(Listener)或者Servlet的...

    java Timer定时器实例 Spring实例.doc

    通过使用Spring的定时器,我们可以将定时任务集成到Spring应用中,实现更加灵活和强大的任务调度。例如,我们可以利用 `@Scheduled` 注解来定义一个定时任务: ```java import org.springframework.scheduling....

    java定时器

    总结起来,Java定时器在Web应用中的使用通常涉及到创建一个实现了`ServletContextListener`的类,通过监听器来控制定时器的生命周期,以及创建自定义的`TimerTask`子类来定义需要执行的任务。这种设计模式使得定时...

    java_Timer定时器实例_Spring实例

    在构造函数中,它接收了应用的根路径作为参数,并立即调用了`run()`方法,这在实际应用中并不常见,通常我们期望任务由`Timer`调度执行,而不是立即执行。`run()`方法中包含了发送邮件的逻辑,以及一些未完成的...

    Java-Web定时器使用.doc

    Java Web定时器是一种在Web应用程序中定期执行特定任务的机制,它主要依赖于Java的`java.util.Timer`类和`java.util.TimerTask`类。在Java Web开发中,定时任务通常用于后台数据处理、定时备份、日志清理等场景。...

    Java_Web定时器使用

    在Web应用中,经常需要执行一些定期的任务,例如数据同步、日志清理等。为了实现这样的需求,可以利用`java.util.Timer`配合Servlet监听器(`ServletContextListener`)来实现定时任务的自动启动与执行。 ##### 3.2...

Global site tag (gtag.js) - Google Analytics