温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

如何监听Servlet容器

发布时间:2021-12-01 16:20:46 来源:亿速云 阅读:131 作者:小新 栏目:编程语言

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

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中加入监听语句:

<listener> <listener-class>com.hanweb.jcms.ReplyListener</listener-class> </listener>

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

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI