时人不识凌云木,直待凌云始道高。这篇文章主要讲述监听器相关的知识,希望能为你提供帮助。
代理设计模式当某一个对象发生某一个事件时,通知另一个对象,让另一个对象做某事
????代理设计模式步骤
- 定义好协议(接口)
- 遵守协议(实现接口)
- 成为代理
- 调用代理方法
监听器简介
- 能监听某个对象的状态变化的组件
- 监听域对象的变化
- 事件源:被监听的对象
- request
- session
- servletContext
- 监听器:监听事件源的对象
- 8个监听器
- 注册监听器:监听器与事件源相绑定
- 响应行为:监听到事件源变化时,去做什么事情
- 三个监听域对象的创建与销毁
- ServletContextListener
- HttpSessionListener
- ServletRequestListener
- 三个监听域对象当中属性变化
- ServletContextAttributeListener
- HttpSessionAttributeListener
- ServletRequestAttributeListener
- 监听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>
- 作用
- 初始化的工作:初始化对象、初始化数据、加载数据库驱动、连接池的初始化
- 加载一些初始化的配置文件
- 任务调度
- 监听HttpSession域的创建与销毁的监听器HttpSessionListener
- HttpSession的生命周期
- 第一次调用request.getSession时创建
- 服务器关闭、session过期、手动销毁
- 编写步骤
- 同上
- 运用场景
- 记录访问人数
- 监听ServletRequest域创建与销毁的监听器ServletRequestListener
- ServletRequest的生命周期
- 创建:每一次请求都会创建request
- 销毁:请求结束
- 一个对象存储到session当中的几种状态
- 绑定状态:就一个对象被放到session域中
- 解绑状态:就是这个对象从session域中移除了
- 钝化状态:是将session内存中的对象持久化(序列化)到磁盘
- 活化状态:就是将磁盘上的对象再次恢复到session内存中
推荐阅读
- 系统管理前端开发-02
- JDK8
- React-Redux-实现原理
- React-Redux-处理网络数据
- React-Redux的使用
- 后台管理项目页面搭建模板
- 低代码机器人是如何实现监控库存,并实时通知指定人,仓库管理不再慌乱
- 低代码开发的前后端联调——APICloud Studio 3 API管理工具结合数据云3.0使用教程
- 路由器配置点到多点IPSec VPN故障排查