8.1 监听器接口和注册
监听器接口简介
监听器接口主要在 javax.servlet和javax.servlet.http的包中。有以下这些接口:
javax.servlet.ServletContextListener:它能够响应ServletContext生命周期事件,它提供了ServletContext创建之后和ServletContext关闭之前的会被调用的方法。javax.servlet.ServletContextAttributeListener:它能够响应ServletContext范围的属性添加、删除、替换事件。javax.servlet.http.HttpSessionListener:它能够响应HttpSession的创建、超时和失效事件。javax.servlet.http.HttpSessionAttributeListener:它能响应HttpSession范围的属性添加、删除、替换事件。javax.servlet.http.HttpSessionActivationListener:它在一个HttpSession激活或者失效时被调用。javax.servlet.http.HttpSessionBindingListener:可以实现这个接口来保存HttpSession范围的属性。当有属性从HttpSession添加或删除时,HttpSessionBindingListener接口能够做出响应。javax.servlet.ServletRequestListener:它能够响应一个ServletRequest的创建或删除。javax.servlet.ServletRequestAttributeListener:它能响应ServletRequest范围的属性值添加、删除、修改事件。javax.servlet.AsyncListener:一个用于异步操作的监听器,在第11章会进行更详细的介绍。
如何编写监听器
编写一个监听器,只需要写一个Java类来实现对应的监听器接口就可以了。在Servlet 3.0和Servlet 3.1中提供了两种注册监听器的方法。第一种是使用WebListener注解。例如:
1 |
|
第二种方法是在部署描述文档中增加一个listener元素。
1 | </listener> |
你可以在一个应用中添加多个监听器,这些监听器是同步工作的。
原文链接: 8.1 监听器接口和注册