`
jia106329
  • 浏览: 62253 次
  • 性别: Icon_minigender_2
  • 来自: tj
社区版块
存档分类
最新评论

servlet监听器 定时执行***

阅读更多
web.xml
        <listener>
		<listener-class>TaskListener</listener-class>
	</listener>


TaskListener.java


import java.util.Calendar;
import java.util.GregorianCalendar;
import java.util.Timer;

import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;

import org.apache.log4j.Logger;

public class TaskListener implements ServletContextListener {

	private static final Logger logger = Logger
			.getLogger(TaskListener.class);

	private static Timer timer;

	private static UpdateProbationTask probationTask = new UpdateProbationTask();

	/*
	 * (non-Javadoc)
	 * 
	 * @see javax.servlet.ServletContextListener#contextDestroyed(javax.servlet.ServletContextEvent)
	 */
	public void contextDestroyed(ServletContextEvent arg0) {

		if (timer != null) {
			timer.cancel();
			logger.debug("Timer Canceled");
		}
		logger.debug("web container contextDestroyed");
	}
 
	/*
	 * (non-Javadoc)
	 * 
	 * @see javax.servlet.ServletContextListener#contextInitialized(javax.servlet.ServletContextEvent)
	 */
	public void contextInitialized(ServletContextEvent arg0) {

		try {
			
			timer = new Timer(true);
			GregorianCalendar now = new GregorianCalendar();
			//每天2点执行
			now.set(Calendar.HOUR_OF_DAY, 2);
			now.set(Calendar.MINUTE, 0);
			now.set(Calendar.SECOND, 0);
			timer.schedule(probationTask, now.getTime());  
  
		} catch (Exception e) {
			e.printStackTrace();
			logger.error("Unable to initialize Schedule.");  
		}
		logger.debug("web container contextInitialized");

	}
}



UpdateProbationTask.java


import java.sql.SQLException;
import java.util.TimerTask;

public class UpdateProbationTask extends TimerTask {

	@Override
	public void run() {
		// TODO Auto-generated method stub
		try {
			System.out.println("#$#^%$%^$%^&#$%#$%");
		} catch (Exception e1) {
			// TODO 自动生成 catch 块
			e1.printStackTrace();
		}
	}

}


分享到:
评论

相关推荐

    web监听器代码--监听servlet

    Web监听器是Java Web应用程序中的一个重要组件,它们允许开发者在特定事件发生时执行代码,比如在Servlet上下文初始化或销毁时、用户会话创建或结束时等。在Java Web开发中,监听器通过实现特定接口并配置在`web.xml...

    java定时任务,每天定时执行任务

    4. **Servlet 监听器**:在Web应用中,通常使用Servlet监听器(如`ServletContextListener`)来启动定时任务。 #### 三、具体实现步骤 1. **创建定时任务管理器** (`TimerManager`) 首先,我们需要创建一个`...

    java web使用监听器实现定时周期性执行任务demo

    在这个"java web使用监听器实现定时周期性执行任务demo"中,我们将探讨如何利用Java的Servlet监听器(Listener)和定时任务API来达到这个目标。 首先,我们要了解Java中的监听器。在Java Web应用程序中,监听器是...

    listener和filter 监听器和过滤器的介绍以及简单使用(csdn)————程序.pdf

    4. **Servlet监听器类型**: - **第一类**:创建和销毁监听器,包括ServletContextListener、HttpSessionListener和ServletRequestListener,分别对应ServletContext、HttpSession和ServletRequest对象的生命周期...

    Web Servlet定时器

    `web.xml`是Web应用的部署描述符,用于定义Servlet、过滤器、监听器等组件的配置信息。以下是一个简单的配置示例: ```xml &lt;servlet&gt; &lt;servlet-name&gt;TimerServlet&lt;/servlet-name&gt; &lt;servlet-class&gt;...

    jsp定时执行的三种方法

    本文将详细介绍在JSP环境下实现定时执行任务的三种方法:利用`java.util.Timer`类、通过`ServletContextListener`接口以及采用Spring框架中的`ScheduledTimerTask`。 ### 1. 使用`java.util.Timer` `java.util....

    TimerTask定时执行任务

    【标题】:“TimerTask定时执行任务”探讨 在Java编程中,定时任务是常见的需求,例如数据备份、日志清理、任务调度等。`TimerTask`是Java内置的一个定时任务框架,它允许开发者创建和安排周期性或者一次性执行的...

    servlet定时器

    在探讨“servlet定时器”的知识点时,我们深入解析如何在Java Web应用中实现定时任务,特别是通过Servlet容器来调度定期执行的任务。这涉及到Java的标准库`java.util.Timer`以及Servlet API中的`...

    day18 监听器 统计在线人数,定时销毁超时session,钝化活化session,在线列表显示和踢人功能防止用户自动登录,在线支付

    在本主题“day18 监听器”中,我们将探讨如何利用监听器来统计在线人数、定时销毁超时session、实现session的钝化与活化,以及如何在系统中显示在线用户列表和实现踢人功能,从而防止用户自动登录。同时,还会涉及...

    Web监听器

    7. **自定义监听器**:除了标准的Servlet监听器外,开发者还可以根据需要定义自己的监听器接口和实现,只要符合Java的事件模型,就可以自由扩展。 8. **应用场景**:Web监听器广泛应用于会话管理、日志记录、缓存...

    tomcat启动时定时循环执行内容(action)

    - 容器级别的定时任务:Tomcat还支持通过`Context`的`Loader`监听器或者`ContextListener`来在启动时执行任务,例如通过`web.xml`配置`org.apache.catalina.startup.ContextConfig`监听器进行初始化操作。...

    简易servlet超市管理项目.rar

    这可能需要设置定时任务或监听器来检测订单状态,并执行相应的业务逻辑,如自动取消超时订单。 5. **Web文件夹内容**:在项目中,`web`文件夹包含了Web应用程序的公共部分,如HTML、CSS、JavaScript文件、图片资源...

    java轻松实现—定时任务

    监听器是Servlet规范的一部分,它会在特定的事件(如Web应用启动、关闭)发生时被调用。对于定时任务,我们可以创建一个实现了`ServletContextListener`接口的类,这个类将在Web应用启动时初始化,关闭时清理。 ...

    Quartz 开发指南 中文版

    - **监听器机制**:应用可以通过实现一个或多个监听器接口来实现捕捉日程事件,以监视或控制任务/触发器的行为。 - **插件扩展**:Quartz 通过插件机制支持功能扩展,例如记录任务执行历史的日志,或者从文件中...

    java定时器定时调用任务

    在Servlet容器(如Tomcat)中,可以通过监听器(Listener)或者Servlet的初始化方法来创建和启动定时器,以实现在Web应用启动后自动开始执行定时任务。 此外,Java 5引入了`java.util.concurrent`包,其中的`...

    Quartz学习资料

    触发器可设定为定时执行(精确到毫秒)、每日、每周、每月、每年以及按照特定日历排除日期。此外,触发器还支持周期性执行,如在指定次数后结束,或者在指定日期/时间结束,甚至无限期重复。 - **命名与分组**:...

    springboot启动周期流程

    - **注册监听器和Servlet**:将带有WebApplicationInitializer或ServletContainerInitializer接口的类注册为监听器或Servlet。 - **调用ApplicationReadyEvent**:发布此事件,表示应用已经准备就绪,可以开始处理...

    tomcat启动服务运行servlet

    标题“Tomcat启动服务运行Servlet”涉及到的是Java Web开发中的核心概念,主要涵盖Tomcat服务器的启动过程以及Servlet的执行机制。Tomcat是一款开源、免费的Web应用服务器,广泛用于部署Java Servlet和JavaServer ...

    使用Quartz实现定时功能

    Quartz提供了强大的调度能力,可以满足不同场景的需求,比如定时执行任务、周期性任务等。 #### 二、Quartz核心概念 1. **Job(作业)**:这是Quartz中的核心概念之一,它代表了要执行的任务。一个`Job`实例必须...

Global site tag (gtag.js) - Google Analytics