Servlet监听器与Timer定时器配合实现JAVA WEB应用简单自动作业
在web应用中,有时候客户需要一些定时程序,不需要客户自己去操作,而是由应用程序自行触发执行某些操作。这个时候监听与定时器的配合使用就基本可以实现这个需求了。
1.创建一个监听的SERVELET,这个类继承javax.servlet.http.HttpServlet并且实现javax.servlet.ServletContextListener。
- package com.bndz.outMail;
- import java.util.Timer;
- import javax.servlet.ServletContextEvent;
- import javax.servlet.ServletContextListener;
- import javax.servlet.http.HttpServlet;
- /**
- *
- * 文件发送的监听 需要再WEB-XML中配置
- */
- public class MailSendListener extends HttpServlet implements
- ServletContextListener {
- /**
- * 监听开始销毁
- */
- public void contextDestroyed(ServletContextEvent sce) {
- }
- /**
- * 监听开始执行
- */
- public void contextInitialized(ServletContextEvent sce) {
- // 当监听开始执行时,设置一个TIME
- Timer timer = new Timer();
- System.out.println("-------MailSend Timer开始进行执行--------------");
- MailSendTask msendTask = new MailSendTask();
- timer.schedule(msendTask, 60 * 1000, 10 * 1000);
- System.out.println("-------MailSend Timer已经在执行--------------");
- }
- }
2.配置WEB.XML文件,用于进行配置。
- <listener>
- <listener-class>com.bndz.outMail.MailSendListener</listener-class>
- </listener>
3.创建一个MailSendTask,继承java.util.TimerTask,在RUN方法里面进行程序的执行。
- package com.bndz.outMail;
- import java.util.Date;
- import java.util.TimerTask;
- /**
- * JAVA 一个定时任务
- *
- * @author Guox2011-05-10
- *
- */
- public class MailSendTask extends TimerTask {
- public MailSendTask() {
- }
- /**
- * RUN方法放入一个SCHEDULE的时候 进行执行 一个定时程序执行的进口
- */
- public void run() {
- System.out.println(new Date()+ "---MailSendTask begin to RUN ------------");
- MailSendManager mainSendManager = new MailSendManager();
- mainSendManager.waitingMailRemind();
- }
- }
4.在监听SERVELET的的contextInitialized方法中,来写一个TIMER;让其SCHEDULE方法执行上面所描写的MailSendTask任务。
- // 当监听开始执行时,设置一个TIME
- Timer timer = new Timer();
- System.out.println("-------MailSend Timer开始进行执行--------------");
- MailSendTask msendTask = new MailSendTask();
- timer.schedule(msendTask, 60 * 1000, 10 * 1000);
- System.out.println("-------MailSend Timer已经在执行--------------");
Servlet监听器与Timer定时器配合实现JAVA WEB应用简单自动作业的更多相关文章
- java Web 启动时自动执行代码的几种方式
Web容器启动后执行代码的几种方式,其执行顺序为:4===>5===>1===>2===>3,即指定init-method的Bean开始执行,接着实现spring的Bean后置 ...
- Java Web程序设计作业目录(作业笔记)
Java Web程序设计笔记 • [目录] 第1章 Web应用程序 >>> 1.1.3 使用 Eclipse 创建一个静态的登录页面 1.2.5 使用 IE 或Chrome等浏览器, ...
- 系统讲解一下,Dao,Entity,Servlet,Action各自有什么东西-Java/Web开发
dao 主要是一些接口,里面定义了一些用于增删改查的方法名 daoImpl 就是对dao的具体实现 Service 同上,也是一些接口,主要是用来调用dao层的一些方法,所以这里定义的方法一般都定义好 ...
- Java web会话简单应用
Java会话主要分为两块:Cookie和HttpSessionCookie技术:会话数据保存在浏览器客户端.Session技术:会话数据保存在服务器端.一.下面介绍一下Cookie的应用1. Cook ...
- 转:实现Java Web程序的自动登录
有很多Web程序中第一次登录后,在一定时间内(如2个小时)再次访问同一个Web程序时就无需再次登录,而是直接进入程序的主界面(仅限于本机).实现这个功能关键就是服务端要识别客户的身份.而用Cookie ...
- Java Web的简单项目部署
目录 项目介绍 安装并配置jdk和tomcat 安装并配置mysql 使用Eclipse导出war包 部署war包到服务器 导出项目的数据库 将项目的数据库导入服务器的数据库中 修改配置 重启Tomc ...
- Java Web 项目简单配置 Spring MVC进行访问
所需要的 jar 包下载地址: https://download.csdn.net/download/qq_35318576/10275163 配置一: 新建 springmvc.xml 并编辑如下内 ...
- eclipse java web项目经常自动调试进入debug模式
今天在运行Javaweb项目时,程序运行运行着就自动调试进入ThreadpoolExecutor,看着非常影响心情.最后在网上搜解决方法最后找到原因,解决方法如下. Window——>Prefe ...
- JAVA Timer定时器使用方法(二)
JAVA Timer 定时器测试 MyTask.java:package com.timer; import java.text.SimpleDateFormat;import java.util. ...
随机推荐
- [Java基础]List,Map集合总结
java.util包下: Collection |--List 接口 |----ArrayList |----LinkedList |----Vector |-----Stack |---Set ...
- javascript删除数组中的某个元素-----拓展Array 原型方法
Array.prototype.remove = function (dx) { if(isNaN(dx) || dx > this.length) { return false; } var ...
- Laravel之路(事务)mysql事务
其实关于mysql的事务(原声mysql语句),我在我的博客里面有提到(mysql的文章分类下) 今天看下基于laravel框架ORM的处理 准备: 表必须是InnoDB引擎 DB::beginTra ...
- Atitit.js模块化 atiImport 的新特性javascript import
Atitit.js模块化 atiImport 的新特性javascript import 1. 常见的js import规范amd ,cmd ,umd1 1.1. Require更多流行3 2. at ...
- 0047 Spring的AOP入门基础--切面组件--通知--切入点
AOP的全称是Aspect Oriented Programming,面向切面编程. 切面是什么呢,就是一个Java类.之所以叫切面,就是说在调用其他一些类的方法的某个时候(之前,之后,抛异常等),调 ...
- 跟着百度学PHP[17]-PHP扩展CURL的用法详解
实现的功能: 1.实现远程获取和采集内容2.实现PHP 网页版的FTP上传下载3.实现模拟登陆:去一个邮件系统,curl可以模拟cookies4.实现接口对接(API),数据传输等:通过一个平台发送短 ...
- 使用uGUI系统玩转标准俄罗斯方块
使用uGUI系统玩转标准俄罗斯方块 笔者使用的Unity3D版本是4.6b17.由于一些工作上的一些事情导致制作的进度被严重滞后.笔者实际用于开发俄罗斯方块的时间,大概也就2-3天吧. 开始前的准备 ...
- yii save model return id null
/** * Creates a new model. * If creation is successful, the browser will be redirected to the 'view' ...
- C#非常规调试场景总结
场景1:类库独立调试. 方法:可以将类库项目修改成控制台程序,然后增加一个静态的main函数的方式来调试 场景2:程序需要连接数据库,本机调试的时候因为权限问题无法连接上数据库,只能 ...
- sed awk文本处理教程
sed全名叫stream editor,流编辑器,用程序的方式来编辑文本,相当的hacker啊.sed基本上就是玩正则模式匹配,所以,玩sed的人,正则表达式一般都比较强. 把my字符串替换成Hao ...