JavaWeb笔记整理+图解——Listener监听器

欢迎大家来到这一篇章——Listener监听器

监听器和过滤器都是JavaWeb服务器三大组件(Servlet、监听器、过滤器)之一,他们对于Web开发起到了不可缺少的作用。

ps:想要补充Java知识的同学们可以移步我已经完结的JavaSE笔记,里面整理了大量详细的知识点和图解,可以帮你快速掌握Java编程的基本知识!

本章的前置知识:

JavaWeb笔记全整理——JSP服务器渲染技术-CSDN博客

JavaWeb笔记整理+图解——Web开发会话技术:Cookie 与 Session-CSDN博客

JavaWeb开发笔记图解整理(二)——XML、Tomcat、Servlet_在浏览器输入两个网址访问到servlet-CSDN博客
JavaWeb笔记整理——HTML、CSS、JavaScript_html css java-CSDN博客         


JavaWeb的监听器就是对服务器中的某些变化进行监听,如果出现了某些变化,那么我们就可以依据这些变化进行相应的操作。下面我们一一介绍。

一、ServletContextListener(简单)

(1)基本介绍

ServletContextListener监听ServletContext对象的创建和销毁,也就是监听其生命周期。

我们知道,当Tomcat启动的时候,ServletContext对象就会被创建,这时候我们的ServletContextListener也就会监听到这个变化,并让我们可以进行相应的处理。

我们具体可以做出那些相应的处理呢?这个我们在现阶段还不会有很多深刻的体会,到后面我们学习了spring之后,我们可以初始化一些spring的配置文件;对Timer进行调度等。以后我们慢慢体会。

(2)相关方法及应用实例

首先创建一个普通Java类(不要创建Servlet)。

 让该类实现ServletContextListener接口,并引入相关方法(先引入Servlet jar包)

我们看到这两个方法,一个是我们的ServletContext对象被创建时会调用的方法,另一个是ServletContext对象被销毁是会调用的方法。

下面我们测试,新建一个Servlet类来进行测试:

(不要忘记配置Servlet的xml文件)

然后,我们配置Listener的xml文件配置(是的,Listener也需要配置xml文件)

配置只需要添加一个listener的全路径即可。这样这个ServletContextListener就可以监听所有Servlet对象的ServletContext的创建和销毁。

在Servlet中添加ServletContext对象属性

我们通过监听器的传入的参数可以获取ServletContext对象:

 启动Tomcat服务器,启动后我们就可以发现监听器已经监听到servletContext对象被创建了。

同样的,我们关闭服务器后,servletContext对象就会被销毁,同时Listener也会调用销毁的方法。

其他的监听器都是大同小异,只不过是监听的对象不一样,比较简单,这里不再一一举例。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/20008.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

宏集JMobile Studio—实现HMI界面高自由度设计

一、简介 物联网HMI的组态软件是数据可视化的重要工具,工程师可以通过图形化界面来配置、监控和管理现场采集的数据。目前,市面上大多数的组态软件里的可视化控件库都由设计师预先部署,用户只能调用而不能完全自定义控件,导致可视…

点餐小程序服务器怎么选

点餐小程序服务器怎么选?随着科技的不断发展,点餐小程序已成为餐饮行业的新宠。它不仅提升了顾客的点餐体验,也为商家带来了更多的便利。然而,面对市场上琳琅满目的服务器选择,如何为您的点餐小程序挑选一台合适的服务…

20240531在飞凌的OK3588-C开发板上跑原厂的Buildroot测试ETH0接口【仅供参考】

20240531在飞凌的OK3588-C开发板上跑原厂的Buildroot测试ETH0接口 2024/5/31 20:28 rootrk3588-buildroot:/# ifconfig eth0 up rootrk3588-buildroot:/# ifconfig eth1 up rootrk3588-buildroot:/# ifconfig rootrk3588-buildroot:/# rootrk3588-buildroot:/# ifconfig eth1…

化妆品企业如何借助CRM客户管理应用,实现业绩飞跃?

在当今数字化时代,化妆品企业面临着前所未有的挑战与机遇。随着消费者需求的日益多样化和市场竞争的加剧,如何高效地管理客户信息、优化客户服务流程、提升客户满意度,成为了化妆品企业亟需解决的问题。而在这个背景下,低代码平台…

C#中的实体属性详解与示例

文章目录 实体属性的定义实体属性的访问实体属性的示例总结 在C#中,实体属性是面向对象编程的重要组成部分。实体属性允许我们定义对象的特征和行为,并提供了一种方式来访问和管理这些特征。通过实体属性,我们可以封装对象的状态,…

Django信号详解

Django信号(Signals)是一种允许应用组件在特定事件发生时进行通信的机制,而不必直接引用彼此。它遵循观察者模式,允许发送者(如模型实例的保存或删除)发送信号,而接收者(信号处理器&…

【三维模型采集设备】轮廓扫描仪介绍

文章目录 一、声明二、轮廓扫描仪的分类1.1 按工作原理分类1.2 按应用场景分类1.3 按扫描精度分类1.4 按扫描方式分类1.5 按测量方式来分类 三、问答2.1 激光轮廓扫描仪采用红光、绿光和蓝光各有什么优缺点? 一、声明 本帖信息来自对网上信息的汇总,如有…

WiFi串口服务器与工业路由器:局域网应用的协同之力

在工业物联网(IIoT)迅猛发展的当下,局域网(LAN)作为连接工业设备与数据中心的桥梁,其重要性日益凸显。WiFi串口服务器与工业路由器作为局域网中的关键组件,以其独特的性能和功能,为传…

64位和32位对C++ 对long类型的使用造成程序崩溃、内存泄漏问题。

系列文章目录 1、理解32位和64位下long类型和int类型不同 2、理解release和debug版本编译的可执行程序的区别 3、谨慎在64位下对long类型与int类型去赋值和相互转换 文章目录 系列文章目录前言一、int、long类型二、使用步骤1.示例代码 前言 编译环境:qt -c、linu…

cURL error 60: SSL certificate problem: unable to get local issuer certifica

本地小程序把接口换到本地的服务器接口,然后就报错了: cURL error 60: SSL certificate problem: unable to get local issuer certificate (see https://curl.haxx.se/libcurl/c/libcurl-errors.html) 经查询查到:此问题的出现是由于没有配…

OSPF重发布

OSPF A-->B [r2]ospf 1 [r2-ospf-1]import-route rip 默认进入路由为类型 2,种子度量为1; 重发布进入的LSA为5类/7类,优先级为150; 类型1:显示总度量种子度量沿途累加 类型2:仅显示种子度量,但选路时比较的是总度量种子度量沿…

Nginx企业级负载均衡:技术详解系列(14)—— 账户认证功能

你好,我是赵兴晨,97年文科程序员。 你有没有听说过Nginx的账户认证功能?这可不只是一个技术问题,它关系到我们上网时的安全和便利。就像家里需要一把钥匙才能进们一样,Nginx的账户认证功能就是确保有只有授权的人才能…

Go基础编程 - 03 - init函数、main函数、_(下划线)

目录 1. init 函数2. main 函数3. init 函数与 main 函数异同4. _ (下划线)示例 1. init 函数 Go语言中,init 函数用于包(package)的初始化。具有以下特征: 1. init 函数用于程序执行前包的初始化,如初始化变量等。2…

Android Studio启动第一个项目的报错——笔记

零基础第一次使用Android Studio开发遇到的问题 1 新建项目下载gradle慢的问题 直接叉掉打开gradle官网手动下载自己想要的版本 gradle官网 然后在刚刚建好的项目里找到gradle-wrapper.properties,修改distributionUrl,并把自己从官网下载的包放到和gr…

Scroll 上的明星项目Pencils Protocol ,缘何被严重低估?

近日,完成品牌升级的 Pencils Prtocol 结束了 Season 2 并无缝开启了 Season 3,在 Season 3 中,用户可以通过质押系列资产包括 $ETH、$USDT、$USDC、$STONE 、$wrsETH、$pufETH 等来获得可观收益,并获得包括 Scroll Marks、 Penci…

IO进程线程(二)文件IO(系统调用)

一、文件IO (一)概念 文件IO就是系统调用,用户空间进入内核空间的过程就是系统调用。 系统调用没有缓冲机制,效率较低,可移植性也相对较差,实时性高。 文件描述符是使用open函数打开文件时的返回值&…

【运维项目经历|023】Docker自动化部署与监控项目

目录 项目名称 项目背景 项目目标 项目成果 我的角色与职责 我主要完成的工作内容 本次项目涉及的技术 本次项目遇到的问题与解决方法 本次项目中可能被面试官问到的问题 问题1:项目周期是多久? 问题2:服务器部署架构方式及数量配置…

【Nacos源码分析01-服务注册与集群间数据是同步】

文章目录 了解CAPBASE理论Nacos支持CP还是AP集群数据同步实现集群数据一致性源码 了解CAP CAP理论的核心观点是,一个分布式系统无法同时完全满足一致性、可用性和分区容错性这三个特性。具体而言,当发生网络分区时,系统必须在一致性和可用性之…

计算机视觉与模式识别实验1-2 图像的形态学操作

文章目录 🧡🧡实验流程🧡🧡1.图像膨胀2.图像腐蚀3.膨胀与腐蚀的综合使用4.对下面二值图像的目标提取骨架,并分析骨架结构。 🧡🧡全部代码🧡🧡 🧡&#x1f9e1…

洛谷 B3642:二叉树的遍历 ← 结构体方法 链式前向星方法

【题目来源】https://www.luogu.com.cn/problem/B3642【题目描述】 有一个 n(n≤10^6) 个结点的二叉树。给出每个结点的两个子结点编号(均不超过 n),建立一棵二叉树(根结点的编号为 1),如果是叶子结点&…