当前位置: 首页 > news >正文

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.lryc.cn/news/359150.html

相关文章:

  • AIGC智能办公实战 课程,祝你事业新高度
  • 专科生听劝 这种情况你就不要专转本了
  • MySQL增删查改初阶
  • IService 接口中定义的常用方法
  • api网关kong对高频的慢接口进行熔断
  • python作业:实现一个任务列表管理系统,使用到python类、对象、循环等知识
  • 大宋咨询(深圳产品价格调查)如何开展电子商品渠道价格监测
  • py黑帽子学习笔记_web攻击
  • MVC、MVP 和 MVVM 架构总结
  • C++ vector的使用和简单模拟实现(超级详细!!!)
  • MySQL中,不能在一个DML(数据操纵语言,如INSERT, UPDATE, DELETE)语句中直接引用目标表进行子查询
  • 【CH32V305FBP6】4. systick 配置
  • 【PECL】在扩展中实现 autoload
  • 企业微信H5授权登录
  • 玩机进阶教程------修改gpt.bin分区表地址段 完全屏蔽系统更新 fast刷写分区表 操作步骤解析【二】
  • Java实现数据结构---数组
  • java解析excel文件,返回json
  • uniapp 添加字体ttf
  • Linux入门攻坚——24、BIND编译安装、Telnet和OpenSSH
  • 1.5.3 基于Java配置方式使用Spring MVC
  • Artifactory清理二进制文件丢失的制品
  • C#中的数组探索
  • 身份认证与口令攻击
  • 卷积网络迁移学习:实现思想与TensorFlow实践
  • Ansible04-Ansible Vars变量详解
  • Flutter 中的 SliverCrossAxisGroup 小部件:全面指南
  • 开源还是闭源这是一个问题
  • 数据结构与算法笔记:基础篇 - 栈:如何实现浏览器的前进和后退功能?
  • 【AIGC】大型语言模型在人工智能规划领域模型生成中的探索
  • 从零开始学习Slam-旋转矩阵旋转向量四元组(二)