最近做了个啤酒厂的j2ee项目,其中有一个需求是每个月的1号,要自动生成上个月的报表,无论有人看没人看,都要自动生成。
首先实现servlet监听器
public class MyListener implements ServletContextListener {
private Timer timer = null;
public void contextInitialized(ServletContextEvent servletContextEvent) {
timer = new Timer(true);
//第一个参数:执行什么任务,第二个参数:什么时候开始执行,第三个参数:多久重复一次(毫秒为单位)
timer.schedule(new MyTask(), 0, 86400000);
}
public void contextDestroyed(ServletContextEvent servletContextEvent) {
timer.cancel();
}
}
其次实现具体任务类
public class MyTask extends TimerTask {
public void run() {
Date date = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-mm-dd");
sdf.format(date);
String currentTime = sdf.format(date);
if(currentTime.split("-")[2].equals("01")) {
doSomeThing();
}
}
private void doSomeThing() {
//To change body of created methods use File | Settings | File Templates.
}
}
最后配置一下web.xml
<listener>
<listener-class>time.MyListener</listener-class>
</listener>
让其每天都检查一次,是不是每月的一号,是就生成报表
分享到:
相关推荐
在Servlet环境中,我们可以利用监听器或Servlet的初始化方法来整合定时器。然而,对于更复杂的定时需求,建议使用`ScheduledExecutorService`。理解并熟练运用这些工具,将有助于你构建高效、可靠的定时任务系统。
在这个"java web使用监听器实现定时周期性执行任务demo"中,我们将探讨如何利用Java的Servlet监听器(Listener)和定时任务API来达到这个目标。 首先,我们要了解Java中的监听器。在Java Web应用程序中,监听器是...
总结来说,Java实现定时任务有多种方法,其中在Web应用中使用监听器和`TimerTask`是一种常见的方式。这种方式易于理解和实现,但可能不适合复杂的定时需求。对于更复杂的需求,可以考虑使用`...
本教程将介绍如何利用监听器实现简单的定时调度实例,适用于Java开发人员,特别是初学者。CSDN(Chinese Software Developer Network)是一个知名的开发者社区,这里我们也将参考其资源来探讨这个问题。 首先,我们...
Java定时关机小程序是一种利用Java编程语言开发的实用工具,它允许用户设定一个特定时间,以便在指定时间点自动关闭计算机。这个程序通常包括一个用户界面,用户可以通过该界面设置关机时间、查看剩余时间,并提供...
在本主题“day18 监听器”中,我们将探讨如何利用监听器来统计在线人数、定时销毁超时session、实现session的钝化与活化,以及如何在系统中显示在线用户列表和实现踢人功能,从而防止用户自动登录。同时,还会涉及...
### 使用Quartz实现定时功能 #### 一、Quartz简介 Quartz是一个全面的、开源的作业调度器,被广泛应用于Java应用程序中进行任务调度。Quartz提供了强大的调度能力,可以满足不同场景的需求,比如定时执行任务、...
7. **多线程**:为了实现定时功能,程序可能使用了`java.util.Timer`或`java.time`包中的定时器类,它们可以在指定时间后执行某个任务,例如调用`shutdown`命令。 8. **异常处理**:在执行系统命令时,可能会遇到...
在Java中实现这种功能,我们可以利用多种技术,包括定时任务、事件驱动编程和消息队列等。以下是对这个主题的详细阐述: 1. **定时任务**:Java中最常用的定时任务库是`Quartz`和`ScheduledExecutorService`。`...
本篇文章将深入探讨如何利用SpringBoot、Quartz和MyBatis框架,以及Dubbo和HTTP接口,实现一个动态配置的集群解决方案,旨在提高系统的灵活性和可维护性。 首先,SpringBoot是基于Spring框架的轻量级启动器,它简化...
Java定时任务Quartz是企业级应用中广泛使用的调度框架,它允许开发者定义各种定时任务,以实现周期性或一次性的工作。Quartz的核心在于其灵活的任务调度机制,它能够与Java应用程序无缝集成,使得开发者可以方便地...
本篇文章将详细讲解如何在Java Web项目中利用Spring框架的定时功能(SSM:Spring、SpringMVC、Mybatis集成环境)来定时访问某个接口。 首先,我们需要引入定时相关的jar包。在描述中提到,word文档中包含了这些jar...
开发者通过布局管理器(如FlowLayout、GridLayout或BorderLayout)来组织这些组件,实现界面的美观与功能布局。 2. **事件监听**:Java中的ActionListener接口用于处理用户交互,比如点击按钮。在小闹钟应用中,当...
- 开发者可以通过实现监听器接口,监听流程中的关键事件,如任务创建、完成等,进行自定义逻辑处理。 8. **权限管理**: - 对于角色和任务分配,可以结合Spring Security或Apache Shiro等安全框架实现权限控制。 ...
在Java中实现实时监听文件夹是否有新文件增加并上传服务器的功能主要涉及到使用Java NIO包中的WatchService接口,以及利用Timer定时任务执行的机制。本文将通过实例代码展示如何结合这两种技术来达到上述功能,并将...
这个程序的核心是利用Java编程语言实现的,旨在帮助用户方便地查看日期并设置提醒,提高个人或工作生活中的时间管理效率。以下是关于这个项目的一些关键知识点: 1. **Java基础**:Java是一种跨平台的面向对象的...
"java做的闹钟"是一个利用Java技术实现的简单应用,它具备基本的闹钟功能,比如定时提醒、声音播放等。这个应用可能包含了Java多线程、定时任务、音频处理等多个方面的知识。 1. **Java多线程**:在Java中,多线程...
4. **Iterator和Collection接口**:图片的连续播放功能可能通过迭代图片列表实现,利用`java.util.Iterator`遍历图片集合,按照一定的间隔自动切换图片。 5. **Timer类**:在Java中,`javax.swing.Timer`可以用于...
ThreadImRunnable.java 继承Runnable接口实现多线程 mulThread.java 创建多个线程对象的类 demoJoin.java 演示使用join()以确保主线程最后结束 clicker.java 一个计数用的线程类 demoPri.java 调用上面这个类...
4. 添加事件监听器,根据用户的交互启动或停止动画。 5. 在后台线程中运行动画逻辑,确保不影响主线程的正常运行。 在提供的压缩包文件中,"代码雨"很可能包含了实现这些功能的Java源代码文件。通过阅读和分析这些...