Chiriri's blog Chiriri's blog
首页
  • Java

    • JavaSE
    • JavaEE
    • 设计模式
  • Python

    • Python
    • Python模块
    • 机器学习
  • Golang

    • Golang
    • gRPC
  • 服务器

    • Linux
    • MySQL
    • NoSQL
    • Kubernetes
  • 项目

    • 传智健康
    • 畅购商城
  • Hadoop生态

    • Hadoop
    • Zookeeper
    • Hive
    • Flume
    • Kafka
    • Azkaban
    • Hbase
    • Scala
    • Spark
    • Flink
  • 大数据项目

    • 离线数仓
  • 青训营

    • 第四届青训营
  • HTML

    • HTML
    • JavaScript
  • Vue

    • Vue2
    • TypeScript
    • Vue3
    • Uni-APP
  • 数据结构与算法
  • C语言
  • 考研数据结构
  • 计算机组成原理
  • 计算机操作系统
  • Java基础

    • Java基础
    • Java集合
    • JUC
    • JVM
  • 框架

    • Spring
    • Dubbo
    • Spring Cloud
  • 数据库

    • MySQL
    • Redis
    • Elasticesearch
  • 消息队列

    • RabbitMQ
    • RocketMQ
  • 408

    • 计算机网络
    • 操作系统
    • 算法
  • 分类
  • 标签
  • 归档
  • 导航站
GitHub (opens new window)

Iekr

苦逼后端开发
首页
  • Java

    • JavaSE
    • JavaEE
    • 设计模式
  • Python

    • Python
    • Python模块
    • 机器学习
  • Golang

    • Golang
    • gRPC
  • 服务器

    • Linux
    • MySQL
    • NoSQL
    • Kubernetes
  • 项目

    • 传智健康
    • 畅购商城
  • Hadoop生态

    • Hadoop
    • Zookeeper
    • Hive
    • Flume
    • Kafka
    • Azkaban
    • Hbase
    • Scala
    • Spark
    • Flink
  • 大数据项目

    • 离线数仓
  • 青训营

    • 第四届青训营
  • HTML

    • HTML
    • JavaScript
  • Vue

    • Vue2
    • TypeScript
    • Vue3
    • Uni-APP
  • 数据结构与算法
  • C语言
  • 考研数据结构
  • 计算机组成原理
  • 计算机操作系统
  • Java基础

    • Java基础
    • Java集合
    • JUC
    • JVM
  • 框架

    • Spring
    • Dubbo
    • Spring Cloud
  • 数据库

    • MySQL
    • Redis
    • Elasticesearch
  • 消息队列

    • RabbitMQ
    • RocketMQ
  • 408

    • 计算机网络
    • 操作系统
    • 算法
  • 分类
  • 标签
  • 归档
  • 导航站
GitHub (opens new window)
  • JavaSE

    • Java简介
    • 基础语法
    • 数据类型
    • 变量
    • 运算符
    • 输入输出
    • 流程控制
    • 循环语句
    • idea中的辅助键
    • 数组
    • 方法
    • 面向对象基础
    • 字符串
    • ArrayList集合
    • 继承
    • 修饰符
    • 多态
    • 抽象
    • 接口
    • 类名作为形参和返回值
    • 内部类
    • Api
    • 异常
    • 集合
    • 泛型
    • Set集合和比较器
    • 树
    • 哈希
    • 可变参数
    • 创建不可变的集合
    • Stream流
    • 方法引用
    • File
    • 多线程
    • 多线程高级
    • 网络编程
    • 类加载器
    • 反射
    • XML
    • 枚举
    • 注解
    • 单元测试
    • 日志
    • HTTP协议
    • Servlet
    • 请求对象
    • 响应对象
    • Cookie
    • Session
    • JSP
    • Listener
      • 观察者模式
      • 监听对象
      • 监听域对象属性
      • 监听会话相关的感知型监听器
      • 配置监听器
    • JDBC
  • JavaEE

  • Linux

  • MySQL

  • NoSQL

  • Python

  • Python模块

  • 机器学习

  • 设计模式

  • 传智健康

  • 畅购商城

  • 博客项目

  • JVM

  • JUC

  • Golang

  • Kubernetes

  • 硅谷课堂

  • C

  • 源码

  • 神领物流

  • RocketMQ

  • 短链平台

  • 后端
  • JavaSE
Iekr
2021-08-13
目录

Listener

# Listener

监听器 所有监听器都是基于观察者设计模式的

可以对 对象的创建销毁 域对象中属性变化 会话相关内容进行监听

# 观察者模式

  • 事件源:触发事件的对象
  • 事件:触发的动作,封装了事件源
  • 监听器:当事件源触发事件后,可以完成功能

# 监听对象

  • ServletContextListener 用于监听 ServletContext 对象的创建和销毁
    • contextInitialized (ServletContextEvent sce) 对象创建时执行该方法
    • contextDestroyed (ServletContextEvent sce) 对象销毁时执行该方法
  • HttpSessionListener 监听 HttpSession 对象的创建和销毁
    • sessionCreated (HttpsessionEvent se) 对象创建时执行该方法
    • sessionDestroyed (HttpsessionEvent se) 对象销毁时执行该方法
  • ServletRequestListener 监听 ServletRequest 的创建和销毁
    • requestInitialized (ServletRequestEvent sre) 对象创建时执行该方法
    • requestDestroyed (ServletRequestEvent sre) 对象销毁时执行该方法

# 监听域对象属性

  • ServletContextAttributeListener 监听 ServletContext 应用域中的属性变化
    • attributeAdded (ServletContextAttributeEvent scae) 域中添加属性执行该方法
    • attributeRemoved (ServletContextAttributeEvent scae) 域中移除属性执行该方法
    • attributeReplaced (ServletContextAttributeEvent scae) 域中替换属性执行该方法
  • HttpSessionAttributeListener 监听 HttpSession 会话域中的属性变化
    • attributeAdded (HttpSessionBindingEvent se) 域中添加属性执行该方法
    • attributeRemoved (HttpSessionBindingEvent se) 域中移除属性执行该方法
    • attributeReplaced (HttpSessionBindingEvent se) 域中替换属性执行该方法
  • ServletRequestAttributeListener 监听 ServletRequest 请求域中的属性变化
    • attributeAdded (ServletRequestAttributeEvent srae) 域中添加属性执行该方法
    • attributeRemoved (ServletRequestAttributeEvent srae) 域中移除属性执行该方法
    • attributeReplaced (ServletRequestAttributeEvent srae) 域中替换属性执行该方法

# 监听会话相关的感知型监听器

  • HttpSessionBindListener 感知对象和会话域绑定的监听器

    • valueBound (HttpSessionBindEvent event) 数据添加到会话域中 (绑定) 执行方法
    • valueUnbound (HttpSessionBindEvent event) 数据移除到会话域中 (解绑) 执行方法
  • HttpSessionActivationListener 感知会话域中对象钝化和活化的监听器

    • seesionWillPassivate (HttpSessionEvent se) 会话域中数据钝化时执行该方法
    • seesionDidActivate (HttpSessionEvent se) 会话域中数据活化时执行该方法

# 配置监听器

  • 注解标识 @WebListener

    • 拦截多个指定页面 @WebListener (value = {"/xxx","/xxx"})
  • web.xml 配置

    • <listener>
          <listener-class>com.example.demo</listener-class>
      </listener>
      
      1
      2
      3
编辑 (opens new window)
上次更新: 2023/12/06, 01:31:48
JSP
JDBC

← JSP JDBC→

最近更新
01
k8s
06-06
02
进程与线程
03-04
03
计算机操作系统概述
02-26
更多文章>
Theme by Vdoing | Copyright © 2022-2025 Iekr | Blog
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式