JavaWeb——Listener
简介
作为JavaWeb三大组件(Servlet,Filter,Listener)之一的监听器Listener,主要用于监听ServletContext,Session,Request等对象的创建,销毁以及属性的修改。
分类
监听器类别 | 监听器类型 | 监听事件类型 |
---|---|---|
ServletContext | ServletContextListener | ServletContext创建和销毁事件 |
ServletContextAttributeListener | ServletContext中属性的添加、删除和修改事件 | |
Session | HttpSessionListener | HttpSession创建和销毁事件 |
HttpSessionAttributeListener | HttpSession中属性的添加、删除和修改事件 | |
HttpSessionBindingListener | 实现了HttpSessionBindingListener接口的对象在HttpSession中被绑定或解绑的事件 | |
HttpSessionActivationListener | 实现了HttpSessionActivationListener接口的对象在HttpSession中被活化(反序列化)或钝化(序列化)的事件 | |
Request | ServletRequestListener | ServletRequest创建和销毁事件 |
ServletRequestAttributeListener | ServletRequest中属性的添加、删除和修改事件 |
在使用时只需实现相应的Listener接口并重写其中的方法即可。
ServletContextListener
public interface ServletContextListener extends EventListener {
default void contextInitialized(ServletContextEvent sce) {
} // 监听ServletContext初始化
default void contextDestroyed(ServletContextEvent sce) {
}// 监听ServletContext销毁
}
ServletContextAttributeListener
public interface ServletContextAttributeListener extends EventListener {
default void attributeAdded(ServletContextAttributeEvent scae) {
}//监听ServletContext属性添加
default void attributeRemoved(ServletContextAttributeEvent scae) {
}//监听ServletContext属性移除
default void attributeReplaced(ServletContextAttributeEvent scae) {
}//监听ServletContext属性修改
}
HttpSessionListener
public interface HttpSessionListener extends EventListener {
default void sessionCreated(HttpSessionEvent se) {
}//监听HttpSession创建
default void sessionDestroyed(HttpSessionEvent se) {
}//监听HttpSession销毁
}
HttpSessionAttributeListener
public interface HttpSessionAttributeListener extends EventListener {
default void attributeAdded(HttpSessionBindingEvent se) {
}//监听HttpSession属性添加
default void attributeRemoved(HttpSessionBindingEvent se) {
}//监听HttpSession属性移除
default void attributeReplaced(HttpSessionBindingEvent se) {
}//监听HttpSession属性修改
}
HttpSessionBindingListener
public interface HttpSessionBindingListener extends EventListener {
default void valueBound(HttpSessionBindingEvent event) {
}//监听HttpSession绑定
default void valueUnbound(HttpSessionBindingEvent event) {
}//监听HttpSession解绑
}
HttpSessionActivationListener
public interface HttpSessionActivationListener extends EventListener {
default void sessionWillPassivate(HttpSessionEvent se) {
}//监听序列化
default void sessionDidActivate(HttpSessionEvent se) {
}//监听反序列化
}
ServletRequestListener
public interface ServletRequestListener extends EventListener {
default void requestDestroyed(ServletRequestEvent sre) {
}//监听ServletRequest销毁
default void requestInitialized(ServletRequestEvent sre) {
}//监听ServletRequest初始化
}
ServletRequestAttributeListener
public interface ServletRequestAttributeListener extends EventListener {
default void attributeAdded(ServletRequestAttributeEvent srae) {
}//监听ServletRequest属性添加
default void attributeRemoved(ServletRequestAttributeEvent srae) {
}//监听ServletRequest属性移除
default void attributeReplaced(ServletRequestAttributeEvent srae) {
}//监听ServletRequest属性修改
}