监听Servlet容器的方法
创始人
2024-04-12 09:00:30
0

1.实现 javax.servlet.ServletContextListener 接口的两个方法:contextInitialized()和contextDestroyed()

contextInitialized():当Servlet容器启动时会执行
contextDestroyed():当Servlet容器停止时会执行

2.在contextInitialized()中加入需要监听的程序,并由 java.util.Timer 的 schedule() 方法来控制监听程序执行的频率

DEMO(这是我的一个短信回复监听的程序原型,精简了一下)

ReplyListener.java

  1. package com.hanweb.jcms;  
  2.  
  3. import javax.servlet.*;  
  4.  
  5. public class ReplyListener implements ServletContextListener {  
  6. private ReplyTimer rt = null;  
  7. public void contextInitialized(ServletContextEvent event) {  
  8. String status = "[SYS] SMS reply listener start .";  
  9. event.getServletContext().log(status);  
  10. System.out.println(status);  
  11.  
  12. rt = new ReplyTimer(1);  
  13. rt.start();  
  14. }  
  15.  
  16. public void contextDestroyed(ServletContextEvent event) {  
  17. String status = "[SYS] SMS reply listener stop .";  
  18. event.getServletContext().log(status);  
  19. System.out.println(status);  
  20.  
  21. if (rt != null) {  
  22. rt.stop();  
  23. }  
  24. }  

ReplyTimer.java

  1. package com.hanweb.jcms;  
  2.  
  3. import java.util.*;  
  4.  
  5. public class ReplyTimer {  
  6. private final Timer timer = new Timer();  
  7. private final int min;  
  8.  
  9. public ReplyTimer(int minutes) {  
  10. min = minutes;  
  11. }  
  12.  
  13. public void start() {  
  14. Date date = new Date();  
  15. timer.schedule(new ReplyTask(), date, min * 60 * 1000);  
  16. }  
  17.  
  18. public void stop() {  
  19. timer.cancel();  
  20. }  

ReplyTask.java

  1. package com.hanweb.jcms;  
  2.  
  3. import java.util.*;  
  4.  
  5. public class ReplyTask extends TimerTask {  
  6. public void doSomething() {  
  7. System.out.println("[SYS] SMS reply listener running ");  
  8. }  
  9.  
  10. public void run() {  
  11. doSomething();  
  12. }  

将编译好的class文件放入WEB-INF/classes中,***别忘记了在Servlet容器中当前WEB应用的web.xml中加入监听语句:

  1.  
  2. com.hanweb.jcms.ReplyListener 
  3.  

【编辑推荐】

  1. 详解Apache Servlet的安装
  2. 优化Servlet配置为web.xml瘦身
  3. 如何让XML来配置Servlet
  4. 解决Servlet JSP页面乱码问题
  5. Servlet和JSP的安全问题

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...
《非诚勿扰》红人闫凤娇被曝厕所... 【51CTO.com 综合消息360安全专家提醒说,“闫凤娇”、“非诚勿扰”已经被黑客盯上成为了“木...
2012年第四季度互联网状况报... [[71653]]  北京时间4月25日消息,据国外媒体报道,全球知名的云平台公司Akamai Te...