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

1
2
3
4
5
6
7
public interface ServletContextListener extends EventListener {
default void contextInitialized(ServletContextEvent sce) {
} // 监听ServletContext初始化

default void contextDestroyed(ServletContextEvent sce) {
}// 监听ServletContext销毁
}

ServletContextAttributeListener

1
2
3
4
5
6
7
8
9
10
public interface ServletContextAttributeListener extends EventListener {
default void attributeAdded(ServletContextAttributeEvent scae) {
}//监听ServletContext属性添加

default void attributeRemoved(ServletContextAttributeEvent scae) {
}//监听ServletContext属性移除

default void attributeReplaced(ServletContextAttributeEvent scae) {
}//监听ServletContext属性修改
}

HttpSessionListener

1
2
3
4
5
6
7
public interface HttpSessionListener extends EventListener {
default void sessionCreated(HttpSessionEvent se) {
}//监听HttpSession创建

default void sessionDestroyed(HttpSessionEvent se) {
}//监听HttpSession销毁
}

HttpSessionAttributeListener

1
2
3
4
5
6
7
8
9
10
public interface HttpSessionAttributeListener extends EventListener {
default void attributeAdded(HttpSessionBindingEvent se) {
}//监听HttpSession属性添加

default void attributeRemoved(HttpSessionBindingEvent se) {
}//监听HttpSession属性移除

default void attributeReplaced(HttpSessionBindingEvent se) {
}//监听HttpSession属性修改
}

HttpSessionBindingListener

1
2
3
4
5
6
7
public interface HttpSessionBindingListener extends EventListener {
default void valueBound(HttpSessionBindingEvent event) {
}//监听HttpSession绑定

default void valueUnbound(HttpSessionBindingEvent event) {
}//监听HttpSession解绑
}

HttpSessionActivationListener

1
2
3
4
5
6
7
public interface HttpSessionActivationListener extends EventListener {
default void sessionWillPassivate(HttpSessionEvent se) {
}//监听序列化

default void sessionDidActivate(HttpSessionEvent se) {
}//监听反序列化
}

ServletRequestListener

1
2
3
4
5
6
7
public interface ServletRequestListener extends EventListener {
default void requestDestroyed(ServletRequestEvent sre) {
}//监听ServletRequest销毁

default void requestInitialized(ServletRequestEvent sre) {
}//监听ServletRequest初始化
}

ServletRequestAttributeListener

1
2
3
4
5
6
7
8
9
10
public interface ServletRequestAttributeListener extends EventListener {
default void attributeAdded(ServletRequestAttributeEvent srae) {
}//监听ServletRequest属性添加

default void attributeRemoved(ServletRequestAttributeEvent srae) {
}//监听ServletRequest属性移除

default void attributeReplaced(ServletRequestAttributeEvent srae) {
}//监听ServletRequest属性修改
}

JavaWeb——Listener
https://www.wananhome.site/2024/02/05/JavaWeb——Listener/
作者
WanAn
发布于
2024年2月5日
许可协议