如何监听Servlet容器

这篇文章主要为大家展示了“如何监听Servlet容器”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何监听Servlet容器”这篇文章吧。

专注于为中小企业提供成都网站设计、成都网站建设、外贸网站建设服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业青州免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了1000+企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。

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

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

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

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

ReplyListener.java

package com.hanweb.jcms;   import javax.servlet.*;   public class ReplyListener implements ServletContextListener {  private ReplyTimer rt = null;  public void contextInitialized(ServletContextEvent event) {  String status = "[SYS] SMS reply listener start .";  event.getServletContext().log(status);  System.out.println(status);   rt = new ReplyTimer(1);  rt.start();  }   public void contextDestroyed(ServletContextEvent event) {  String status = "[SYS] SMS reply listener stop .";  event.getServletContext().log(status);  System.out.println(status);   if (rt != null) {  rt.stop();  }  }  }

ReplyTimer.java

package com.hanweb.jcms;   import java.util.*;   public class ReplyTimer {  private final Timer timer = new Timer();  private final int min;   public ReplyTimer(int minutes) {  min = minutes;  }   public void start() {  Date date = new Date();  timer.schedule(new ReplyTask(), date, min * 60 * 1000);  }   public void stop() {  timer.cancel();  }  }

ReplyTask.java

package com.hanweb.jcms;   import java.util.*;   public class ReplyTask extends TimerTask {  public void doSomething() {  System.out.println("[SYS] SMS reply listener running ");  }   public void run() {  doSomething();  }  }

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

 com.hanweb.jcms.ReplyListener 

以上是“如何监听Servlet容器”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注创新互联行业资讯频道!


当前文章:如何监听Servlet容器
网页地址:http://pwwzsj.com/article/jiccdo.html