1、web监听器
package test;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
import java.util.Timer;
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
public class ContextListener implements ServletContextListener {
//定时器
Timer timer = null;
//销毁
public void contextDestroyed(ServletContextEvent event) {
timer.cancel();
event.getServletContext().log("定时器以销毁");
}
//初始化
public void contextInitialized(ServletContextEvent event) {
timer = new Timer();
event.getServletContext().log("定时器已启动");
//设置在每晚19:15分执行任务
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.HOUR_OF_DAY, 19);
calendar.set(Calendar.MINUTE, 16);
calendar.set(Calendar.SECOND, 0);
Date date = calendar.getTime();
timer.schedule(new Task(),date);
event.getServletContext().log("已经添加任务调度表");
}
}
2、具体任务实现类
package test;
import java.util.Date;
import java.util.TimerTask;
/**
* 具体任务
*/
public class Task extends TimerTask {
private static boolean isRunning = false;
@Override
public void run() {
if (!isRunning) {
isRunning = true;
System.out.println("开始执行........."+new Date());
isRunning = false;
}else{
System.out.println("上次任务还没执行完");
}
}
}
3、配置监听器
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4"
xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<!-- 定时监听器 -->
<listener>
<listener-class>test.ContextListener</listener-class>
</listener>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
文章来源:http://techpool.iteye.com/blog/505885
分享到:
相关推荐
JAVA自动执行任务 JAVA自动执行任务是指在WEB工程中实现自动执行任务的功能,通过使用Servlet上下文相关的侦听器和Java定时器来实现。...在WEB工程中,这种技术可以应用于各种自动执行任务的场景。
WEB应用程序定时执行任务是开发中常见的一种需求,用于在特定时间自动执行某些功能,比如记录系统日志、发送邮件通知等。在这个DEMO中,我们将探讨如何使用C#语言实现这样的功能,即使在网站关闭的情况下也能正常...
在Java软件开发中,自动执行任务是一项常用的技术,特别是在Web应用程序中。Java提供了多种方式来实现定时任务,如Java的定时器(java.util.Timer)和Quartz库。这里我们将重点关注如何利用Servlet监听器...
4. 运行框架,框架将根据配置自动执行任务。 请注意,实际操作可能需要根据框架的文档和提供的指南进行调整。 通过QD [v20230821],开发者和自动化测试工程师可以轻松地构建和管理HTTP请求的定时任务,提高工作...
ActiveX是一种由微软开发的技术,允许在浏览器中运行小型应用程序,这对于在网页上下文中执行复杂任务非常有用。 script.exe可能是一个Windows可执行文件,它可能是这个脚本执行器的核心部分,负责调用IE的ActiveX...
在Java Web应用中,任务调度是一项关键功能,它允许开发者安排任务在特定时间或周期性地执行,以优化系统性能并提升用户体验。特别是在处理大数据、复杂计算或需要定期更新的场景下,如生成数据库报表,任务调度尤为...
综上所述,Spring提供的定时任务功能使得开发者能够轻松地在非Web项目中实现复杂的时间驱动逻辑,无论是简单的定时执行还是基于Cron表达式的复杂调度,Spring都能提供强大的支持。通过合理配置和编程,我们可以创建...
2. javax.servlet.Timer接口:在Servlet 3.0及以上版本中引入,允许在Web应用中创建和管理定时任务。它依赖于Servlet容器,如Tomcat或Jetty,因此更适用于Web环境。 3. Quartz Scheduler:一个强大且灵活的开源任务...
在Java Web应用中,为了使定时任务在服务器启动时自动运行,通常会将任务注入到一个Servlet容器初始化参数(如`ServletContextListener`)中。当Web应用加载时,监听器会启动任务。此外,Spring Boot提供了`@...
总结,Java定时器在Web中的应用通过`java.util.Timer`和`ServletContextListener`可以实现Web应用启动时自动执行定时任务的功能。这在诸如数据清理、统计分析、系统监控等场景中非常有用。同时,通过结合Spring等...
在Java Web开发中,我们经常需要在服务器启动时自动加载特定的Servlet,并让它们执行一些初始化操作或定时任务。这通常涉及到对Web应用的配置文件`web.xml`以及Servlet类本身的编程。以下将详细讲解如何实现这个功能...
1. 定时任务通常在Spring容器启动后立即运行,因此需要确保Spring容器在Web应用启动时已完成初始化。 2. 如果定时任务涉及数据库操作,需要确保数据库连接已经建立并可用。 3. 为了防止并发执行,可使用`@...
Java Web应用运行在Web容器中,如Tomcat、Jetty等。Web容器负责加载和管理Servlet,处理HTTP请求,提供运行环境。Tomcat是最流行的开源Servlet容器,轻量级且易于部署,适用于开发和测试。 【部署与发布】 部署...
在开发Web应用时,有时我们需要实现一些特定任务的自动化执行,比如数据备份、发送邮件、统计分析等。ThinkPHP框架,作为一个广泛使用的PHP开发框架,提供了实现定时任务的能力。本篇将详细介绍如何在ThinkPHP中设置...
在Eclipse中进行Web应用开发是一项常见的任务,它涉及到一系列的配置步骤,包括开发环境的建立、Web服务器的安装和配置以及开发工具Eclipse的相关设置。以下是对这些步骤的详细说明: 1. **Web服务器Tomcat的安装和...
2. **自动化**:在软件开发中,自动化是指利用工具或脚本自动执行重复性任务,以提高效率并减少人为错误。在这个场景中,自动化指的是自动打包和更新部署的过程。 3. **bat脚本**:在Windows操作系统中,批处理脚本...
通过使用 Java 定时任务,可以在指定的时间点执行特定的任务,从而实现自动化处理和批处理等功能。 在 Java 中,定时任务一般是通过 Timer 和 TimerTask 两个类来实现的。Timer 类负责管理定时任务的执行,而 ...
如果Web应用以非管理员用户运行,可能没有足够的权限删除某些文件,尤其是在系统目录下。因此,部署时要确保应用有足够的权限执行删除操作,或者将文件存放在可安全删除的目录。 5. **异常处理**: 文件操作可能...
由于我们的项目是一个Web工程,我们需要确保定时任务在Web应用启动时就开始执行。在传统的Servlet 2.x环境中,可以使用`ServletContextListener`监听器,在`contextInitialized`方法中启动任务调度。而在Servlet ...
2. **任务创建**:用户可以创建新的工作计划,设定任务名称、描述、截止日期、优先级等属性,并指定执行人。 3. **任务分配**:管理员或负责人可以将任务分配给团队成员,确保责任明确,工作有序进行。 4. **进度...