ServletContextListener的用法 不指定

Heck post in Web开发 2014/03/30 17:03 评论(0) 阅读(2192) | |
ServletContextListener的用法:这个事件类作为Web应用服务的一部分,处理Web应用的 servlet上下文(context)的变化的通知。这可以解释为,好像有个人在服务器旁不断地通知我们服务器在发生什么事件。那当然需要监听者了。
因此,在通知上下文(context)初始化和销毁的时候,ServletContextListner非常有用。




ServletContextListener接口有两方需要实现的方法:
contextInitialized()和contextDestroyed();
Listener,译为监听者.顾名思义,它会监听Servlet容器(实际上就是中间件启动和销毁时执行的方法),当应用开始的时候它会调用contextInitialized()方法;
当应用关闭的时候,它同样会调用contextDestroyed()方法.
我们可以利用这个特性初始化一些信息,当然我们也可以利用Servlet类init()方法,并在配置文件中让它启动应用的时候
就执行,并且在关闭的时候执行destroy()方法.但是继承此接口应该更符合容器的应用.
举个简单的例子:在一些论坛,社区及聊天室当中,删除在线的超时用户就可以利用这个接口来实现.
可以利用JAVA的TimerTask及Timer类来实现每隔一定的时间进行自动检测.

实例代码如下:
UserOnlineTimerTask.java
-----------------

------------------------------------
SysListener.java
-----------------------------------

--------------------------------
如果你没有使用log4j的话,你可以把log.info()改为System.out.println()会得到同样的结果.

来源:Heck's Blog
地址:http://www.hecks.tk/post/425/
转载时须以链接形式注明作者和原始出处及本声明,否则将追究法律责任,谢谢配合!