5.监听器(Listener)

2023-11-16

1.监听器简介

       监听器主要用来监听对象的创建,属性的变化,是一个实现特定接口的普通Java类。

      Listener接口与事件对应表:

    

ServletContext

有关

ServletContextListener

ServletContextEvent

ServletContextAttributeListener

ServletContextAttributeEvent

HttpSession

有关

HttpSessionListener

HttpSessionEvent

HttpSessionActivationListener

HttpSessionAttributeListener

HttpSessionBindingEvent

HttpSessionBindingListener

ServletRequest

有关

ServletRequestListener

ServletRequestEvent

ServletRequestAttributeListener

ServletRequestAttributeEvent

 

 

     编写监听器的步骤:

       编写实现类->在web.xml中进行部署->编写测试页面

2.与ServletContext相关监听器

   

单个Web站点的资源都共享一个javax.servlet.ServletContext类的实体。通过该对象可以存取应用程序的全局对象以及初始化阶段的变量
全局对象即为Application范围对象,其生命周期从容器启动至容器关闭。初始阶段的变量是指在web.xml中,由<context-param>元素设定的变量,该变量的范围是Application范围

ServletContextListener接口:

实现了该接口的程序,当JavaWeb应用程序启动时,会自动开始监听工作

首先调用contextInitialized()方法接收对应的ServletContextEvent事件

当应用从容器中移除时,会自动调用contextDestroyed()方法

以上两个方法都会接收到ServletContextEvent事件对象,该对象可以调用getServletContext()方法取得ServletContext对象(全局对象)

ServletContextAttributeListener接口:

实现该接口的程序,能够监听ServletContext属性的变化,例如:当往ServletContext中添加数据时,该程序会被调用。

 

 

方法

说明

attributeAdded(ServletContextAttributeEvent  e)

若有对象加入Application范围时,通知

 

正在收听的对象

attributeReplaced(ServletContextAttributeEvent  e)

若在Application的范围,有对象取代另

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

5.监听器(Listener) 的相关文章

  • Java程序中的数组奇怪的行为[重复]

    这个问题在这里已经有答案了 我遇到了这个 Java 程序及其以意想不到的方式运行 以下程序计算 int 数组中元素对之间的差异 import java util public class SetTest public static void
  • IntelliJ IDEA 创建的 JAR 文件无法运行

    我在 IntelliJ 中编写了一个跨越几个类的程序 当我在 IDE 中测试它时它运行良好 但是 每当我按照教程将项目制作成 jar 可执行文件时 它就不会运行 双击 out 文件夹中的文件时 该文件不会运行 并显示 无法启动 Java J
  • Convert.FromBase64String 方法的 Java 等效项

    Java 中是否有相当于Convert FromBase64String http msdn microsoft com en us library system convert frombase64string aspx which 将指
  • HDFS:使用 Java / Scala API 移动多个文件

    我需要使用 Java Scala 程序移动 HDFS 中对应于给定正则表达式的多个文件 例如 我必须移动所有名称为 xml从文件夹a到文件夹b 使用 shell 命令我可以使用以下命令 bin hdfs dfs mv a xml b 我可以
  • Java 页面爬行和解析之 Crawler4j 与 Jsoup

    我想获取页面的内容并提取其中的特定部分 据我所知 此类任务至少有两种解决方案 爬虫4j https github com yasserg crawler4j and Jsoup http jsoup org 它们都能够检索页面的内容并提取其
  • hibernate总是自己删除表中的所有数据

    您好 我正在开发一个 spring mvc 应用程序 它使用 hibernate 连接到存储文件的 mysql 数据库 我有两个方法 一个方法添加我选择的特定文件路径中的所有文件 另一种方法调用查询以返回从 mysql 存储的文件列表 问题
  • 如何在jsp代码中导入java库?

    我有以下jsp代码 我想添加 java io 等库 我怎样才能做到这一点
  • Microsoft Graph 身份验证 - 委派权限

    我可以使用 Microsoft Graph 访问资源无需用户即可访问 https developer microsoft com en us graph docs concepts auth v2 service 但是 此方法不允许我访问需
  • Prim 的迷宫生成算法:获取相邻单元格

    我基于 Prim 算法编写了一个迷宫生成器程序 该算法是 Prim 算法的随机版本 从充满墙壁的网格开始 选择一个单元格 将其标记为迷宫的一部分 将单元格的墙壁添加到墙壁列表中 While there are walls in the li
  • 请求位置更新参数

    这就是 requestLocationUpdates 的样子 我使用它的方式 requestLocationUpdates String provider long minTime float minDistance LocationLis
  • Clip 在 Java 中播放 WAV 文件时出现严重延迟

    我编写了一段代码来读取 WAV 文件 大小约为 80 mb 并播放该文件 问题是声音播放效果很差 极度滞后 你能告诉我有什么问题吗 这是我的代码 我称之为doPlayJframe 构造函数内的函数 private void doPlay f
  • 序列化对象以进行单元测试

    假设在单元测试中我需要一个对象 其中所有 50 个字段都设置了一些值 我不想手动设置所有这些字段 因为这需要时间而且很烦人 不知何故 我需要获得一个实例 其中所有字段都由一些非空值初始化 我有一个想法 如果我要调试一些代码 在某个时候我会得
  • 在具有相同属性名称的不同数据类型上使用 ModelMapper

    我有两节课说Animal AnimalDto我想用ModelMapper将 Entity 转换为 DTO 反之亦然 但是对于具有相似名称的一些属性 这些类应该具有不同的数据类型 我该如何实现这一目标 动物 java public class
  • Java中接口作为方法参数

    前几天去面试 被问到了这样的问题 问 反转链表 给出以下代码 public class ReverseList interface NodeList int getItem NodeList nextNode void reverse No
  • 检查 Android 手机上的方向

    如何查看Android手机是横屏还是竖屏 当前配置用于确定要检索的资源 可从资源中获取Configuration object getResources getConfiguration orientation 您可以通过查看其值来检查方向
  • Spring Data 与 Spring Data JPA 与 JdbcTemplate

    我有信心Spring Data and Spring Data JPA指的是相同的 但后来我在 youtube 上观看了一个关于他正在使用JdbcTemplate在那篇教程中 所以我在那里感到困惑 我想澄清一下两者之间有什么区别Spring
  • 如何在 JFreeChart TimeSeries 图表上显示降雨指数和温度?

    目前 我的 TimeSeries 图表每 2 秒显示一个位置的温度 现在 如果我想每2秒显示一次降雨指数和温度 我该如何实现呢 这是我的代码 import testWeatherService TestWeatherTimeLapseSer
  • 运行 Jar 文件时出现问题

    我已将 java 项目编译成 Jar 文件 但运行它时遇到问题 当我跑步时 java jar myJar jar 我收到以下错误 Could not find the main class myClass 类文件不在 jar 的根目录中 因
  • android Accessibility-service 突然停止触发事件

    我有一个 AccessibilityService 工作正常 但由于开发过程中的某些原因它停止工作 我似乎找不到这个原因 请看一下我的代码并告诉我为什么它不起作用 public class MyServicee extends Access
  • 如何修复“sessionFactory”或“hibernateTemplate”是必需的问题

    我正在使用 Spring Boot JPA WEB 和 MYSQL 创建我的 Web 应用程序 它总是说 sessionFactory or hibernateTemplate是必需的 我该如何修复它 我已经尝试过的东西 删除了本地 Mav

随机推荐

  • 头歌平台python数据分析——(2)Numpy进阶

    第1关 Numpy广播 首先用arange 生成一个数组 然后用reshape 方法 将数组切换成4x3的形状 最后再与basearray相加 输出它们的和 第2关 Numpy高级索引 首先 利用花式索引获取arr数组第line行 至少两行
  • opencv(C++) 连通域分析函数 connectedComponentsWithStats() 用法

    文章目录 1 函数用法 2 参数说明 3 例子 只保留图中连通域面积较大的区域 connectedComponentsWithStats 是一个非常好用的连通域分析函数 可以检测连通域 获取连通域的面积 宽度 高度 质心和左上角顶点坐标等
  • 极简化版-无root实现抓包-VMOS+HttpCanary(小黄鸟)抓包-解决抓包时无网络问题

    文章目录 前言 一 真机中的操作 分别安装以下应用 二 安装vmos的操作 三 vmos的操作 四 解决抓包时无网络问题 建议 前言 适用大部分手机 实现各种抓包 一 真机中的操作 分别安装以下应用 vmos 自行下载 小黄鸟 https
  • 冉起新秀:Apache六大尚未广为人知的大数据项目

    原文地址 On the Rise Six Unsung Apache Big Data Projects 作者 SAM DEAN 译者 吴洁 世界各地无数的组织 他们使用的数据现在日益庞大而复杂 使用传统的数据处理程序已无法再进行优化分析及
  • mysql命令、mysqldump命令找不到解决

    1 解决bash mysql command not found 的方法 root DB 02 mysql u root bash mysql command not found 原因 这是由于系统默认会查找 usr bin下的命令 如果这
  • spring boot发布脚本

    venus deploy sh bin bash P PATH usr local venus P PATH venus sh stop CUR DATE date Y m d H M S mv P PATH venus web jar P
  • ffmpeg 录制和播出复用流(多节目流)

    ffmpeg 录制和播出复用流 多节目流 此处的播放还是录制的意思 录制是存成文件 播放是用udp的协议发送出去 故此处播放的含义还是录制的意思 复用流录制 假如有一个复用流 包含4个节目 如下 ffmpeg probesize 10000
  • pip安装python库出现:ModuleNotFoundError: No module named 'setuptools._deprecation_warning'

    Could not import setuptools which is required to install from a source distribution Traceback most recent call last File
  • 机器学习 朴素贝叶斯之邮件分类

    目录 一 贝叶斯算法 1 先验概率 2 后验概率 3 贝叶斯定理 4 概率模型 二 朴素贝叶斯分类器 1 朴素贝叶斯分类 2 拉普拉斯修正 3 防溢出策略 4 垃圾邮件分类 三 利用朴素贝叶斯分类对于电子邮件分类 1 使用的数据集 2 相关
  • Ubuntu16.04下交叉编译适配openwrt(CC版本)的swoole扩展库(swoole-1.10.3)

    Ubuntu16 04下交叉编译适配openwrt CC版本 的swoole扩展库 swoole 1 10 3 文章目录 Ubuntu16 04下交叉编译适配openwrt CC版本 的swoole扩展库 swoole 1 10 3 一 简
  • thinkphp6 入门(5)-- 模型是什么 怎么用

    一 模型 MVC架构 之前开发一个功能 后端为在控制器 C 中写 php SQL 前端为在页面 V 中写html css js 这就形成了 VC 架构 但是发现 相同的数据逻辑 SQL 在不同的功能中可能被用到 所以可以把数据逻辑 SQL
  • Mysql优化4-合适的索引

    四中索引 普通索引 主键索引 唯一索引 全文索引 一 索引的CURD 1 添加 1 1 主键索引添加 把一张表的一个字段设置为主键 该字段就位主键索引 id int unsigned primary key auto increment u
  • 注册表知识和技巧大全

    注册表知识和技巧大全 注册表基础 系统文件夹 名称 路径 含义 AppData C Windows Application Data 应用程序 Cache C Windows Temporary Internet Files 浏览器缓存 C
  • 【光电设计大赛】非接触酒精浓度测量中放大器和ADC模块误差分析

    放大器误差分析 微小信号测量实验中 主要会对结果造成影响有失调电压和噪声 噪声有外界电磁干扰噪声和运放本身的固有噪声 失调电压可以通过在输入端加入反向电压来消除 通过放大器的调零按钮使失调电压降低到很小 外界电磁噪声可以通过电磁屏蔽消除 但
  • 7-1 设计一个学生类和它的一个子类——本科生类(interface接口)

    设计一个学生类 Student 和它的一个子类 本科生类 Undergraduate 要求如下 1 Student类有姓名 name 和年龄 age 属性 两者的访问权限为protected 一个包含两个参数的构造方法 用于给姓名和年龄属性
  • uWSGI+nginx+supervisor部署django项目

    本文主要介绍如何编译nginx uwsgi以及supervisor 配置文件实现django项目启动 01 为什么用django nginx uwsgi Django本身只是一个基于Python语言写的一个开源WEb框架 不具备服务器网关功
  • 恭喜ULAM团队在数字版权领域的研究上有了新突破

    恭喜北京清链华识科技有限公司在数字版权领域的研究上有了新的突破 其中团队所研究的课题 基于区块链技术的数字版权管理应用研究 得到了河北省科学院的认可 并且在 河北省科学院学报 的 大数据与区块链技术专刊 上成功刊登 河北省科学院学报 是由河
  • 什么是JDBC,JDBC的主要功能是什么?

    JDBC Java Data Base Connectivity 是Java连接数据库的一门技术 是一种执行SQL的API 可以为多种关系型数据库提供统一的访问功能 它是由一组用java语言编写的类和接口组成 是Java访问数据库的标准规范
  • Vue Element Select选择器自定义验证规则

    前言 在我们在做增删改查的时候 一般会遇到添加和修改的from表单需要表单验证 一般常规的from表单是有自己的验证规则 from加一个 rules rules 但他需要v model值和prop值要一样 这是常规情况 我遇到的是 绑定多个
  • 5.监听器(Listener)

    1 监听器简介 监听器主要用来监听对象的创建 属性的变化 是一个实现特定接口的普通Java类 Listener接口与事件对应表 与 ServletContext 有关 ServletContextListener ServletContex