监听Servlet容器的方法

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的安全问题

分享名称:监听Servlet容器的方法
浏览地址:http://www.shufengxianlan.com/qtweb/news34/328734.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联