监听器
Servlet API提供了一系列的事件和时间监听接口。上层的servlet/JSP应用能够调用这些API进行事件驱动的考法。
监听器接口可以分为三类:
- ServletContext
- HttpSession
- ServletRequest
1.监听器的使用
有两种注册监听器的方法
- 使用WebListener注解
@WebListener
public class ListenerClass implements ListenerInterface{
}
- 在部署描述文档中添加一个listener元素
<listener>
<listener-class>fully_qualified listener class</listener-class>
</listener>
2.Servlet Context监听器
- ServletContextListener:
ServletContextListener能对ServletContext的创建和销毁做出响应。
//初始化时调用的方法
void contextInitialized(ServletContextEvent event)
//销毁时调用的方法
void contextDestroyed(ServletContextEvent event)
注意:参数中的ServletContextEvent对象可以调用getServletContext()方法来获取ServletContext
- ServletContextAttributeListener:
当一个ServletContext范围的属性被添加,删除或者替换时,ServletContextAttributeListener接口的实现类会接收到消息
//在一个属性被添加时被容器调用
void attributeAdded(ServletContextAttributeEvent event)
//在一个属性被删除时被容器调用
void attributeRemoved(ServletContextAttributeEvent event)
//在一个属性被新的替换