javaWeb监听器Listener(一)

简介: javaWeb监听器Listener(一)

Listener监听器

一、背景描述

javaweb中的监听器,是用于监听javaweb对象

例如:HttpServletRequest、HttpSession、ServletContext

监听他们的创建和销毁、属性变化、session绑定javaBean

二、javaWeb常见的监听器

1、监听域对象的创建和销毁

(1)如果要监听ServletContext创建和销毁 ---- 需要自定义实现类,来实现监听接口 ServletContextListener

package javax.servlet;
import java.util.EventListener;
public interface ServletContextListener extends EventListener {
    default void contextInitialized(ServletContextEvent sce) {
    }
    default void contextDestroyed(ServletContextEvent sce) {
    }
}

(2)如果要监听HttpSession创建和销毁 ---- 需要自定义实现类,来实现监听接口 HttpSessionListener

package javax.servlet.http;
import java.util.EventListener;
public interface HttpSessionListener extends EventListener {
    default void sessionCreated(HttpSessionEvent se) {
    }
    default void sessionDestroyed(HttpSessionEvent se) {
    }
}

(3)如果要监听HttpServletRequest创建和销毁 ---- 需要自定义实现类,来实现监听接口 ServletRequestListener

package javax.servlet;
import java.util.EventListener;
public interface ServletRequestListener extends EventListener {
    default void requestDestroyed(ServletRequestEvent sre) {
    }
    default void requestInitialized(ServletRequestEvent sre) {
    }
}
2、监听域对象的属性变化

(1)监听ServletContext属性的变化 – ServletContextAttributeListener

package javax.servlet;
import java.util.EventListener;
public interface ServletContextAttributeListener extends EventListener {
    default void attributeAdded(ServletContextAttributeEvent event) {
    }
    default void attributeRemoved(ServletContextAttributeEvent event) {
    }
    default void attributeReplaced(ServletContextAttributeEvent event) {
    }
}

(2)监听HttpSession属性的变化 – HttpSessionAttributeListener

package javax.servlet.http;
import java.util.EventListener;
public interface HttpSessionAttributeListener extends EventListener {
    default void attributeAdded(HttpSessionBindingEvent event) {
    }
    default void attributeRemoved(HttpSessionBindingEvent event) {
    }
    default void attributeReplaced(HttpSessionBindingEvent event) {
    }
}

(3)监听HttpServletRequest属性的变化 – ServletRequestAttributeListener

package javax.servlet;
import java.util.EventListener;
public interface ServletRequestAttributeListener extends EventListener {
    default void attributeAdded(ServletRequestAttributeEvent srae) {
    }
    default void attributeRemoved(ServletRequestAttributeEvent srae) {
    }
    default void attributeReplaced(ServletRequestAttributeEvent srae) {
    }
}
3、监听session绑定javaBean

(1)监听javaBean对象是否绑定了session域 – HttpSessionBindingListener

package javax.servlet.http;
import java.util.EventListener;
public interface HttpSessionBindingListener extends EventListener {
    default void valueBound(HttpSessionBindingEvent event) {
    }
    default void valueUnbound(HttpSessionBindingEvent event) {
    }
}

(2)监听javaBean对象的活化或钝化 --HttpSessionActivationListener

package javax.servlet.http;
import java.util.EventListener;
public interface HttpSessionActivationListener extends EventListener {
    default void sessionWillPassivate(HttpSessionEvent se) {
    }
    default void sessionDidActivate(HttpSessionEvent se) {
    }
}


相关文章
|
2月前
|
设计模式 Java 关系型数据库
【Java笔记+踩坑汇总】Java基础+JavaWeb+SSM+SpringBoot+SpringCloud+瑞吉外卖/谷粒商城/学成在线+设计模式+面试题汇总+性能调优/架构设计+源码解析
本文是“Java学习路线”专栏的导航文章,目标是为Java初学者和初中高级工程师提供一套完整的Java学习路线。
431 37
|
1月前
|
前端开发 Java 应用服务中间件
Javaweb学习
【10月更文挑战第1天】Javaweb学习
33 2
|
1月前
|
安全 Java Android开发
JavaWeb解压缩漏洞之ZipSlip与Zip炸弹
JavaWeb解压缩漏洞之ZipSlip与Zip炸弹
54 5
|
1月前
|
分布式计算 Java Hadoop
Hadoop-30 ZooKeeper集群 JavaAPI 客户端 POM Java操作ZK 监听节点 监听数据变化 创建节点 删除节点
Hadoop-30 ZooKeeper集群 JavaAPI 客户端 POM Java操作ZK 监听节点 监听数据变化 创建节点 删除节点
62 1
|
2月前
|
缓存 前端开发 Java
【Java面试题汇总】Spring,SpringBoot,SpringMVC,Mybatis,JavaWeb篇(2023版)
Soring Boot的起步依赖、启动流程、自动装配、常用的注解、Spring MVC的执行流程、对MVC的理解、RestFull风格、为什么service层要写接口、MyBatis的缓存机制、$和#有什么区别、resultType和resultMap区别、cookie和session的区别是什么?session的工作原理
【Java面试题汇总】Spring,SpringBoot,SpringMVC,Mybatis,JavaWeb篇(2023版)
|
2月前
|
安全 Java Android开发
JavaWeb解压缩漏洞之ZipSlip与Zip炸弹
JavaWeb解压缩漏洞之ZipSlip与Zip炸弹
111 2
|
1月前
|
Java C#
Java的监听处理事件--小球移动案例
Java的监听处理事件--小球移动案例
13 0
|
2月前
|
SQL JSON JavaScript
JavaWeb基础9——VUE,Element&整合Javaweb的商品管理系统
Vue 指令、生命周期、this和$、vue脚手架进行模块化开发/ElementUI框架、综合案例,element商品列表展示增删改查
JavaWeb基础9——VUE,Element&整合Javaweb的商品管理系统
|
8天前
|
Java 开发者
Java多线程编程中的常见误区与最佳实践####
本文深入剖析了Java多线程编程中开发者常遇到的几个典型误区,如对`start()`与`run()`方法的混淆使用、忽视线程安全问题、错误处理未同步的共享变量等,并针对这些问题提出了具体的解决方案和最佳实践。通过实例代码对比,直观展示了正确与错误的实现方式,旨在帮助读者构建更加健壮、高效的多线程应用程序。 ####
下一篇
无影云桌面