易截截图软件、单文件、免安装、纯绿色、仅160KB

Tomcat中JAVA定时器实现


原文链接:http://badwing.javaeye.com/blog/674263
文章分类:Java编程
好多朋友用过Windows的任务计划,也有不少程序迷自己曾写过时钟报警、系统自动关机等趣味程序,可却很少有朋友在Web工程中实现过类似功能。 
当Web工程启动时,定时器能自动开始计时,在整个Web工程的生命期里,定时器能在每晚深夜触发一次任务。因此定时器的存放位置也值得考查,不能简单的存在于单个Servlet或JavaBean中,必须能让定时器宿主的存活期为整个Web工程生命期,在工程启动时能自动加载运行。结合这两点,跟 Servlet上下文有关的侦听器就最合适不过了,通过在工程的配置文件中加以合理配置,会在工程启动时自动运行,并在整个工程生命期中处于监听状态。 
下面就Servlet侦听器结合Java定时器来讲述整个实现过程。要运用Servlet侦听器需要实现 javax.servlet.ServletContextListener接口,同时实现它的contextInitialized (ServletContextEvent event)和contextDestroyed(ServletContextEvent event)两个接口函数。考虑定时器有个建立和销毁的过程,看了前面两个接口函数,就不容置疑的把建立的过程置入 contextInitialized,把销毁的过程置入contextDestroyed了。 
我把ServletContextListener的实现类取名为ContextListener,在其内添加一个定时器,示例代码如下所示: 
import java.util.Timer; 
import javax.servlet.ServletContextEvent; 
import javax.servlet.ServletContextListener; 
import javax.servlet.ServletException; 
import javax.servlet.ServletRequest; 
import javax.servlet.ServletResponse; 
import javax.servlet.http.HttpServlet; 
public class ContextListener 
extends HttpServlet 
implements ServletContextListener { 
public ContextListener() { 

private java.util.Timer timer = null; 
public void contextInitialized(ServletContextEvent event) { 
timer = new java.util.Timer(true); 
event.getServletContext().log("定时器已启动"); 
timer.schedule(new MyTask(event.getServletContext()), 0, 60*60*1000); 
event.getServletContext().log("已经添加任务调度表"); 

public void contextDestroyed(ServletContextEvent event) { 
timer.cancel();&n


相关文档:

Java注释(Annotation)


Java5中提供了新的注释(Annotation),能够为类提供额外信息,本文介绍了如何定义注释、如何使用注释和如何解析注释。
1、定义注释
package ch5;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Ta ......

关于java网络编程

       java.net的类可以划分为两类:套接字API(Sockets API)和用于处理统一资源定位器(URL)。Socket 是所有其他可移植网络通信的底层机制,用于网络上客户和服务器之间的各种通信。java提供的套接字支持三种不同的底层协议:Socket(面向连接的协议)、DatagramSocket(无连接协议)和Mu ......

Java排序汇总

  排序是计算机内经常进行的一种操作,其目的是将一组“无序”的记录序列调整为“有序”的记录序列。分内部排序和外部排序。若整个排序过程不需要访问外存便能完成,则称此类排序问题为内部排序。反之,若参加排序的记录数量很大,整个序列的排序过程不可能在内存中完成,则称此类排序问题为外部排序 ......

java web/tomcat项目中Date类获取时间不正确的问题

这两天做一个web项目,数据库中有个字段为上次登录的时间,所以需要在用户登录的时候记录下时间 没用calendar 用了Date类,突然发现system.out.println(date)的时候时间比北京时间晚了8个小时(还是早了,反正是差8个小时) 仔细一看系统时间 完全正确,当时以为是jdk sb了下 调试了半天发现怎么都不对
而新建一个java project ......

Java+Flex整合应用简单示例 (mx:RemoteObject)

1.java
Java代码
package com;    
  
public class LoginDemo {    
        
    public String validate(String username,String password){    
   &nb ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号