Listener(监听器)

Listener简介

  • Listener是JavaWeb中三大组件之一。Servlet、Filter、Listener
  • 三大组件都有的共同特点,都需要实现一个接口,并在web.xml文件配置。
  • JavaWeb中的监听器的监听对象是谁?
    • ServletContext
    • HttpSession
    • ServletRequest

Listener分类

  • JavaWeb中的监听器共有三种,共8个监听器

    • 生命周期监听器,监听三个对象的创建和销毁的事件。
    • 属性监听器,监听三个对象中属性的变化。
    • session对象监听器,将它session中的属性,以及session的活化和钝化。

Listener的生命周期

  • ServletContextListener(ServletContext生命周期监听器)

    • void contextDestroyed(ServletContextEvent sce)
      该方法在ServletContext对象销毁前调用
    • void contextInitialized(ServletContextEvent sce)
      该方法在ServletContext对象创建之前调用
    • ServletContextEvent.getServletContext();
      ServletContextEvent 对象可以获取到ServletContext对象
  • HttpSessionListener(HttpSession生命周期监听器)

    • void sessionCreated(HttpSessionEvent se)
      该方法在Session创建时调用

    • void sessionDestroyed(HttpSessionEvent se)
      在session销毁时调用

    • HttpSessionEvent
      可以获取HttpSession对象
  • ServletRequestListener

    • void requestDestroyed(ServletRequestEvent sre)
      在request对象销毁时调用

    • void requestInitialized(ServletRequestEvent sre)
      在request对象创建时调用

    • ServletRequestEvent
      可以获取ServletContext对象和ServletRequest

编写一个监听器的步骤:

  • 1.创建一个类并实现一个接口。
  • 2.在web.xml文件中注册监听器

属性监听器

属性监听器,监听三个域中的属性的变化:添加一个属性,替换一个属性,移除一个属性

  • ServletContextAttributeListener(监听ServletContext中的属性的变化)

    • void attributeAdded(ServletContextAttributeEvent scab)
      当向ServletContext中添加属性时调用

    • attributeRemoved(ServletContextAttributeEvent scab)
      移除属性时调用

    • attributeReplaced(ServletContextAttributeEvent scab)
      替换一个属性时调用

  • HttpSessionAttributeListener
    • void attributeAdded(HttpSessionBindingEvent se)
    • void attributeRemoved(HttpSessionBindingEvent se)
    • void attributeReplaced(HttpSessionBindingEvent se)
    • HttpSessionBindingEvent
      • 1.可以获取到属性名 getName()
      • 2.可以获取属性的旧值 getValue()
      • 3.可以获取到HttpSession对象 getSession();
  • ServletRequestAttributeListener
    • void attributeAdded(ServletRequestAttributeEvent srae)
    • void attributeRemoved(ServletRequestAttributeEvent srae)
    • void attributeReplaced(ServletRequestAttributeEvent srae)

两个监听器监听session域中的属性

  • HttpSessionBindingListener
    监听session域中某一个类的实例的添加和移除。
    该接口由JavaBean来实现,不需要再web.xml文件配置

    • valueBound(HttpSessionBindingEvent event)
      当该类的实例,作为属性设置进session域中时调用
    • valueUnbound(HttpSessionBindingEvent event)
      当该类的实例,从session域中被移除时调用
  • HttpSessionActivationListener
    监听session域中的某类属性,和session一起活化和钝化的事件。
    该接口由JavaBean来实现,同样不需要再web.xml中配置

    • void sessionDidActivate(HttpSessionEvent se)
      当前对象和session一起被活化到内存时调用
    • void sessionWillPassivate(HttpSessionEvent se)
      当前对象和session一起钝化到硬盘时调用

转载于:https://www.cnblogs.com/mazhitao/p/7440655.html

Listener(监听器)相关推荐

  1. Listener 监听器

    Listener 监听器 前言:之前写了一篇关于Filter的文章:http://tianweili.github.io/blog/2015/01/26/java-filter/,现在再来一篇List ...

  2. 【Servlet】Java Serlvet Listener 监听器

    Listener监听器 Servlet规范中定义的一种特殊的组件,用来监听Servlet容器产生的事件并进行相应的处理 容器产生的事件分类- 生命周期相关的事件- 设置和删除Attribute数据相关 ...

  3. 第 8 章 配置listener监听器

    第 8 章 配置listener监听器 注意 还记得我们之前讲过的在线列表吗?第 4.2 节 "例子:在线列表".我们曾经说过那个在线列表无法判断用户非法退出,很可能造成在线列表无 ...

  4. Filter(过滤器)、Listener(监听器)

    一: 过滤器: 可以把"不和谐"的东西给过滤掉 01.过滤器概述 生活中的过滤器:带有过滤功能的净水器,滤纸,香烟的过滤嘴,测试,丈母娘.程序中的过滤器:在JAVA中最小的程序单元 ...

  5. javaweb(11) Listener监听器与Filter过滤器

    javaweb(11) Listener监听器与Filter过滤器 Listener监听器 什么是Listener监听器 Listener 监听器它是 JavaWeb 的三大组件之一.JavaWeb ...

  6. Filter 过滤器和 Listener 监听器,java面试必问底层

    一.Filter 过滤器 1.概述 2.开发步骤 3.过滤器执行流程 4.过滤器生命周期 5.过滤器配置问题 6.过滤器链(配置多个过滤器) [二.Listener 监听器]( <一线大厂Jav ...

  7. Java中的Listener监听器与Ajax技术和Axios异步框架以及JSON传递接收数据

    Listener监听器与Ajax Listener 概念 Listener 表示监听器,是 JavaWeb 三大组件(Servlet.Filter.Listener)之一. 监听器可以监听就是在 ap ...

  8. web核心 8-filter过滤器 listener监听器 相对路径 绝对路径 项目名路径

    内容介绍 1.Filter过滤器 2.listener监听器 Filter过滤器 概述 web服务器端有三大技术:Servlet Filter Listener Servlet:本质上是一个类,这个类 ...

  9. Listener(监听器)的简单介绍

    Listener(监听器)的作用和内部机制 作用:监听某个事件的发生,状态的改变 内部机制:接口回调 八个web监听器 实现监听: 创建类实现监听器接口 web.xml文件中配置(注册)监听器< ...

  10. Listener(监听器)详解

    Listener(监听器)详解 作用:监听某个事件的发生,状态的改变 内部机制:接口回调 监听器用于监听Web应用中某些对象的创建.销毁.增加,修改,删除等动作的发生,然后作出相应的响应处理.当监听范 ...

最新文章

  1. Redis附加功能之键过期功能
  2. c++面试常用知识(sizeof计算类的大小,虚拟继承,重载,隐藏,覆盖)
  3. Kyma Lambda Function的GATEWAY_URL是做什么的?
  4. Android中保存数据的三种方法
  5. Leetcode--76. 最小覆盖子串
  6. css float属性
  7. android源码解析------Media多媒体framework层分析
  8. linux命令分析---SED (二)
  9. 推理游戏---个人解答
  10. cad批量打印_CAD插件——批量打印软件安装包+安装教程
  11. java md5在线解密免费_Java MD5如何解密?
  12. ggplot2设置坐标轴范围_ggplot2学习笔记之图形排列
  13. 单片机学习(三)8位数码管显示8个字符的程序及详解
  14. USACO-Fractions to Decimals
  15. 哒螨灵使用注意事项_溴氰菊酯的使用注意事项
  16. 594. Longest Harmonious Subsequence
  17. 本地局域网HTTPS解决方案 CA证书
  18. 今日金融词汇--- 熔断,是什么?
  19. 电脑服务器独立显卡显示配置,电脑显卡装完驱动,英伟达显示设置不可用解决方发...
  20. 快速下载软件安装包IDM+KinhDown

热门文章

  1. python3爬取网易云歌单数据清洗_网页抓取网易云音乐及评论数据分析
  2. python运输问题_叶片运输优化问题学习笔记
  3. python自带超参调优包
  4. 决策树 prepruning_数据挖掘入门系列教程(三点五)之决策树
  5. c#进行三角形周长面积计算公式_小学数学,期末复习,量的计算单位及进率归类,常用计算公式表...
  6. 文件传输_python socket实现文件传输(防粘包)
  7. h5 rtmp推荐控件_H5播放Rtmp之videojs播放
  8. 上海计算机协会竞赛平台——整除
  9. ubuntu16.04安装OVS(Open vSwitch)
  10. 2021下信息系统项目管理师真题及答案解析