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 监听器接口和注册