监听器

时人不识凌云木,直待凌云始道高。这篇文章主要讲述监听器相关的知识,希望能为你提供帮助。
代理设计模式当某一个对象发生某一个事件时,通知另一个对象,让另一个对象做某事
????代理设计模式步骤

  • 定义好协议(接口)
  • 遵守协议(实现接口)
  • 成为代理
  • 调用代理方法
监听器的内部使用的就是代理模式
监听器简介
  • 能监听某个对象的状态变化的组件
  • 监听域对象的变化
????监听器相关的概念
  • 事件源:被监听的对象
  • request
  • session
  • servletContext
  • 监听器:监听事件源的对象
  • 8个监听器
  • 注册监听器:监听器与事件源相绑定
  • 响应行为:监听到事件源变化时,去做什么事情
监听器划分
  • 三个监听域对象的创建与销毁
  • ServletContextListener
  • HttpSessionListener
  • ServletRequestListener
  • 三个监听域对象当中属性变化
  • ServletContextAttributeListener
  • HttpSessionAttributeListener
  • ServletRequestAttributeListener

域监听器ServletContextListener
  • 监听ServletContext域的创建与销毁的监听器ServletContextListener
  • ServletContext域生命周期
  • 服务器启动创建
  • 服务器关闭销毁
  • 监听器的编写步骤
  • 编写一个监听器类去实现监听器??ServletContextListener??接口
  • 覆盖监听器的方法

public& nbsp; class& nbsp; ServletContextListenerTest& nbsp; implements& nbsp; ServletContextListener& nbsp;
& nbsp; & nbsp; & nbsp; & nbsp; public& nbsp; void& nbsp; contextInitialized(ServletContextEvent& nbsp; servletContextEvent)& nbsp;
& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; System.out.println(& quot; Servlet创建& quot; );
& nbsp; & nbsp; & nbsp; & nbsp;

& nbsp; & nbsp; & nbsp; & nbsp; public& nbsp; void& nbsp; contextDestroyed(ServletContextEvent& nbsp; servletContextEvent)& nbsp;
& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; System.out.println(& quot; Servlet销毁& quot; );
& nbsp; & nbsp; & nbsp; & nbsp;

  • 需要在??web.xml??中进行配置
< ?xml  version="1.0"  encoding="UTF-8"?>
< web-app  xmlns="http://xmlns.jcp.org/xml/ns/javaee"
                  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                  xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee  http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
                  version="4.0">
        < listener>
                < listener-class> com.bntang666.ServletContextListenerTest< /listener-class>
        < /listener>
< /web-app>

  • 作用
  • 初始化的工作:初始化对象、初始化数据、加载数据库驱动、连接池的初始化
  • 加载一些初始化的配置文件
  • 任务调度

HttpSessionListener
  • 监听HttpSession域的创建与销毁的监听器HttpSessionListener
  • HttpSession的生命周期
  • 第一次调用request.getSession时创建
  • 服务器关闭、session过期、手动销毁
  • 编写步骤
  • 同上
  • 运用场景
  • 记录访问人数

ServletRequestListener
  • 监听ServletRequest域创建与销毁的监听器ServletRequestListener
  • ServletRequest的生命周期
  • 创建:每一次请求都会创建request
  • 销毁:请求结束

Session中对象存储监听
  • 一个对象存储到session当中的几种状态
  • 绑定状态:就一个对象被放到session域中
  • 解绑状态:就是这个对象从session域中移除了
  • 钝化状态:是将session内存中的对象持久化(序列化)到磁盘
  • 活化状态:就是将磁盘上的对象再次恢复到session内存中

【监听器】

    推荐阅读