`

定时器在Web中的应用

    博客分类:
  • J2EE
阅读更多
在web中,定时器的启动一般随web server的启动而启动,一般有两种方法.

方法一:在web.xml里配置一个Servlet,并设置其随web server的启动而启动。然后在该Servlet的init()方法里启动定时器,在destory()方法里销毁定时器。
方法二:在web.xml里配置一个Listener,然后在该Listener的初始化方法里启动定时器,在其销毁的方法朝左销毁定时器。

在servlet中启动定时器
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);    
        }    
    }    
}    

定时执行操作
     
/**   
 *    
 * @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-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 >

 

分享到:
评论

相关推荐

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

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

    web定时器组件

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

    Quartz定时器web应用

    在Web应用中集成Quartz,可以实现定时触发各种业务逻辑,例如数据清理、报告生成、邮件发送等自动化操作。 首先,理解Quartz的核心概念: 1. **Job**:工作,是任务的具体实现,包含要执行的业务逻辑。 2. **...

    定时器技术应用2.zip

    在Web开发中,定时器常用于页面自动刷新、WebSocket的心跳检测等。在移动应用开发中,定时器可以用来实现后台任务,如位置更新、消息推送等。在游戏开发中,定时器用于控制动画帧率、计时游戏事件等。在服务器端,...

    java web定时器例子

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

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

    - 在Web应用中,服务器端多线程定时器常用于实现后台任务,如定时数据同步、清理过期记录、发送通知等。 - ASP.NET框架提供了`System.Threading.Timer`和`System.Timers.Timer`类,它们可以在服务器端创建多线程...

    web定时器的实现思路

    在Web应用程序中,实现定时任务的常见方式之一是使用Web定时器。这篇博文链接指向的是一个关于在Java应用程序中实现Web定时任务的讨论,虽然具体的细节没有给出,但我们可以根据这个主题来深入探讨Web定时器的实现...

    servlet定时器功能完整版已测试过

    本项目中的"Servlet定时器功能完整版已测试过"是一个Java Web应用,利用Servlet实现了定时器功能。这通常涉及到计划执行的任务,例如数据备份、日志清理或者定期发送通知等。 首先,我们要理解Servlet容器如Tomcat...

    JAVA中定时器的使用

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

    简单的jsp 定时器实例

    在Java Web开发中,我们经常需要实现一些定时任务,例如自动备份、数据统计或者消息推送等。这时,我们可以利用JSP(Java Server Pages)技术来创建一个简单的定时器。本实例将介绍如何在MyEclipse开发环境中,结合...

    Java-Web定时器使用.doc

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

    uni-app定时器实例

    在实际开发中,灵活运用定时器,可以提高用户体验,增强应用的互动性和实用性。希望这个实例能对你有所帮助,更多uni-app的实践技巧和案例,欢迎访问我的博客:https://blog.csdn.net/k571039838k 获取。

    web spring 定时器

    - **启用定时任务**:要在Spring应用中使用`@Scheduled`,首先需要开启定时任务支持。这通常在配置类上使用`@EnableScheduling`注解来完成。 - **定义任务**:然后,你可以创建一个带有`@Component`注解的类,并在...

    java 定时器 spring 定时器

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

    JAVA定时器word文档

    在本例中,实现了`ServletContextListener`接口的`WorkServiceImpl`类会在Web应用初始化时调用`contextInitialized()`方法,从而创建一个新的定时器并安排任务。同时,在Web应用关闭时,`contextDestroyed()`方法会...

    js前端定时器的常见应用

    通过熟练掌握和灵活运用`setTimeout()`和`setInterval()`,开发者可以构建出更富吸引力和交互性的Web应用。在实际项目中,还要注意性能优化,避免过多的定时器影响页面性能,合理使用定时器的清除功能,以提供更流畅...

    定时器 源码+程序

    在IT领域,定时器是一种非常重要的工具,广泛应用于各种软件系统中,用于执行特定任务或在预设时间点触发事件。...理解并熟练运用这些概念,对于开发高质量的桌面应用、移动应用或Web应用至关重要。

    Java_Web定时器使用

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

    Web Servlet定时器

    综上所述,Web Servlet定时器是通过在Servlet的生命周期方法中启动和销毁定时任务,以实现在Web应用中定时执行特定任务的功能。这通常涉及到`web.xml`的配置、`init()`和`destroy()`方法的编写,以及选择合适的...

Global site tag (gtag.js) - Google Analytics