Servlet监听器与Timer定时器配合实现JAVA WEB应用简单自动作业

在web应用中,有时候客户需要一些定时程序,不需要客户自己去操作,而是由应用程序自行触发执行某些操作。这个时候监听与定时器的配合使用就基本可以实现这个需求了。

1.创建一个监听的SERVELET,这个类继承javax.servlet.http.HttpServlet并且实现javax.servlet.ServletContextListener。

[html] view plain copy

  1. package com.bndz.outMail;
  2. import java.util.Timer;
  3. import javax.servlet.ServletContextEvent;
  4. import javax.servlet.ServletContextListener;
  5. import javax.servlet.http.HttpServlet;
  6. /**
  7. *
  8. * 文件发送的监听 需要再WEB-XML中配置
  9. */
  10. public class MailSendListener extends HttpServlet implements
  11. ServletContextListener {
  12. /**
  13. * 监听开始销毁
  14. */
  15. public void contextDestroyed(ServletContextEvent sce) {
  16. }
  17. /**
  18. * 监听开始执行
  19. */
  20. public void contextInitialized(ServletContextEvent sce) {
  21. // 当监听开始执行时,设置一个TIME
  22. Timer timer = new Timer();
  23. System.out.println("-------MailSend   Timer开始进行执行--------------");
  24. MailSendTask msendTask = new MailSendTask();
  25. timer.schedule(msendTask, 60 * 1000, 10 * 1000);
  26. System.out.println("-------MailSend   Timer已经在执行--------------");
  27. }
  28. }

2.配置WEB.XML文件,用于进行配置。

[html] view plain copy

  1. <listener>
  2. <listener-class>com.bndz.outMail.MailSendListener</listener-class>
  3. </listener>

3.创建一个MailSendTask,继承java.util.TimerTask,在RUN方法里面进行程序的执行。

[html] view plain copy

  1. package com.bndz.outMail;
  2. import java.util.Date;
  3. import java.util.TimerTask;
  4. /**
  5. * JAVA 一个定时任务
  6. *
  7. * @author Guox2011-05-10
  8. *
  9. */
  10. public class MailSendTask extends TimerTask {
  11. public MailSendTask() {
  12. }
  13. /**
  14. * RUN方法放入一个SCHEDULE的时候 进行执行 一个定时程序执行的进口
  15. */
  16. public void run() {
  17. System.out.println(new Date()+ "---MailSendTask begin to RUN ------------");
  18. MailSendManager mainSendManager = new MailSendManager();
  19. mainSendManager.waitingMailRemind();
  20. }
  21. }

4.在监听SERVELET的的contextInitialized方法中,来写一个TIMER;让其SCHEDULE方法执行上面所描写的MailSendTask任务。

[html] view plain copy

    1. // 当监听开始执行时,设置一个TIME
    2. Timer timer = new Timer();
    3. System.out.println("-------MailSend   Timer开始进行执行--------------");
    4. MailSendTask msendTask = new MailSendTask();
    5. timer.schedule(msendTask, 60 * 1000, 10 * 1000);
    6. System.out.println("-------MailSend   Timer已经在执行--------------");

原文地址:https://www.cnblogs.com/remember-forget/p/8832937.html

时间: 2024-10-11 05:11:40

Servlet监听器与Timer定时器配合实现JAVA WEB应用简单自动作业的相关文章

Java Web应用中自动实时检测资源文件内容变化

在Java Web应用中,我们经常需要配置文件来定制系统行为,这些配置文件可能包括:类路径下的文件和文件夹.非类路径下的绝对路径和相对路径的文件和文件夹,在分布式环境中,还需要通过HTTP从统一集中的Web服务器中获得配置信息,如何对这些配置信息进行自动加载并实时检测变化呢? Java分布式中文分词组件 - word分词已经实现了这个功能,我们看看是如何实现的: package org.apdplat.word.util; import java.io.BufferedReader; impor

系统讲解一下,Dao,Entity,Servlet,Action各自有什么东西-Java/Web开发

dao 主要是一些接口,里面定义了一些用于增删改查的方法名 daoImpl 就是对dao的具体实现 Service 同上,也是一些接口,主要是用来调用dao层的一些方法,所以这里定义的方法一般都定义好了参数: serviceImp 对service的具体实现,这里会调用dao 的一些方法 servlet 调用 Service调用其方法,做一些操作 jsp 视图 显示 和输入数据 Dao层是数据库层的 主要负责建立数据库连接 执行数据库命令 并返回结果 Entity主要是实体层 主要放置实体 就是

Java Web之简单的登录过滤器实现方法

过滤过滤,实际就是把需要和不需要的东西分开! 今天来说道说道我们程序中的‘登录过滤器’ ,首先我们看看一下面的问题: 1.“登录过滤器”是干什么用的? 1)“登录过滤器”就是为了防止在用户没有登录的情况下来访问我们的网站. 2)举例:main.html 这个网页是需要通过login.html这个网页登录后才可以访问的,现在有一个用户没有登录,直接访问main.html成功了.那么,这样的网站是不是觉得不安全呢?用户不用登录随随便便就访问了.so,we have to need a filter.

今天Java Web老师布置的作业,突然想起来,差点都忘记了!!!!

问题一:什么是RUP?(参考位置:百度百科以及各大网址) 答:RUP全称是Rational Unified Process,也就是统一软件开发过程,统一软件开发过程是一个面向对象且基于网络的程序开发方法论. RUP是理解性的软件工具,也就是把开发中面向过程的方面和其他开发的组件整合在一个统一的框架内.与RUP齐名的还有下一个问题中的提到的极限编程(extreme programming,简称 XP) RUP是Rational软件公司(Rational公司被IBM并购)创造的软件工程方法. RUP

JAVA Timer定时器使用方法

JAVA  Timer 定时器测试 MyTask.java:package com.timer; import java.text.SimpleDateFormat;import java.util.Date;import java.util.TimerTask; public class MyTask extends TimerTask{        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss")

在Java Web程序中使用监听器可以通过以下两种方法

之前学习了很多涉及servlet的内容,本小结我们说一下监听器,说起监听器,编过桌面程序和手机App的都不陌生,常见的套路都是拖一个控件,然后给它绑定一个监听器,即可以对该对象的事件进行监听以便发生响应,从本质上来说这些都是观察者模式的具体实现,在web程序中的监听器也不例外.在Java Web程序中使用监听器可以通过以下两种方法:通过注解@WebListener来标识一个自定义的监听器:[java] view plain copy@WebListener public class Custom

Java Web基础知识之Listener:监控Servlet的每个动作

之前学习了很多涉及servlet的内容,本小结我们说一下监听器,说起监听器,编过桌面程序和手机App的都不陌生,常见的套路都是拖一个控件,然后给它绑定一个监听器,即可以对该对象的事件进行监听以便发生响应,从本质上来说这些都是观察者模式的具体实现,在web程序中的监听器也不例外. 在Java Web程序中使用监听器可以通过以下两种方法: 通过注解@WebListener来标识一个自定义的监听器: @WebListener public class CustomListener implements

jHipster 3.4 创建最流行Java Web应用项目最简单的入门基本教程

jHipster(J潮客)其亮点: 风头超劲,席卷欧美,最新全能Java Web开发程式产生器 (java web generator). 由Java专家累积的开发经验,配上各类实用的框架技术,去繁取精的运用,全方位的配置,制成出完备的开发应用程式. 完美Java体系架构,适合各行各业项目,尤其以适用于面向服务的体系结构(SOA)更为胜任. 不论菜鸟,老牛或专家,极容易上手,只要你可以下载及建立以下要求的工作环境. 快速建成一个制作就绪的基本项目工作模版,令你可以用有限的精力专注业务上的运作.

转: java web demo的示例

http://quqtalk.iteye.com/blog/360699 从事Java开发已经两年了,但是由于工作的关系,对Java Web还是个freshman.今天做了一个Java Web的简单Demo,对这个Demo的总结如下. 环境: JDK:1.5.0_12-b04 Tomcat:apache-tomcat-6.0.18 MySQL:mysql-5.1.32-win32 这些软件可以从各自的官方网站上下载得到. Demo制作过程: (1)在Tomcat中配置MySQL数据源. 修改$C