Web 器学习笔记(基础)

Filter 过滤器

概念:表示过滤器,是 JavaWeb 三大组件(Servlet、Filter、Listener)之一

作用:顾名思义可以过滤资源的请求,并实现特殊的需求

Filter 接口及它核心的 doFilter() 方法(执行前就是放行前逻辑)

java 复制代码
void doFilter(ServletRequest, ServletResponse, FilterChain)

解析:FilterChain 接口是管理过滤器的"链式结构",比如「禁止浏览器缓存」「实现自动登录」「编码过滤器」「敏感词过滤器」「压缩资源过滤器」「HTML转义过滤器」「缓存数据」...

(过滤器其实也是责任链模式的一种实现,FilterChain层层往下执行,直到最后没有过滤器,就到了「目标资源」)

注意:注解配置的 Filter,优先级按照过滤器类名(字符串)的自然排序,比如:A~Z、0~9

Listener 监听器

实际上就是实现特定接口的普通Java程序。它专门监听Java对象的方法调用/属性改变,并可以作出反应

回到 Servlet 层面上,我们更多的监听的是*「Session」「Request」「ServletContext」** 「Application」 这些对象的创建、销毁及属性内的变化(之后执行相应代码的功能组件)*

针对监听上面的几个对象,我们可以做出一些小例子,比如说「统计网站的在线人数」「自动踢人」「定时清除Session的值」

作用总结:A发生了变化,而B需要依赖A发生的变化做出处理

| 监听器分类 | 监听器名称 | 作用 |
| ServletContext监听 | ServletContextListener | 用于对 ServletContext 对象进行监听 (创建、销毁) |
| | ServletContextAttributeListener | 对 ServletContext 对象中属性的监听 (增删改属性) |
| Session监听 | HttpSessionListener | 对 Session 对象的整体状态的监听 (创建、销毁) |
| | HttpSessionAttributeListener | 对 Session 对象中的属性监听 (增删改属性) |
| | HttpSessionBindingListener | 监听对象于 Session 的绑定和解除 |
| | HttpSessionActivationListener | 对 Session 数据的钝化和活化的监听 |
| Request监听 | ServletRequestListener | 对 Request 对象进行监听 (创建、销毁) |

ServletRequestAttributeListener 对 Request 对象中属性的监听 (增删改属性)
[Listener 分类:JavaWeb 提供了八个监听器]

监听使用例子:ServletContextListener

  1. 定义实现了 ServletContextListener 接口的类
  2. 在实现类上添加 @WebListener 注解
相关推荐
李长渊哦13 分钟前
Qoder 自定义子智能体(Subagent)学习笔记
chrome·笔记·学习
pixelpilot22 分钟前
Deta Surf:把笔记、文件和网页塞进同一个 AI 工作台
笔记·其他
代码山河43 分钟前
基本类型转换:自动类型转换与强制类型转换
java·学习·架构·教程·面向对象·项目
蒸蒸yyyyzwd1 小时前
学习笔记 复盘
笔记·八股
旖旎夜光1 小时前
【C++ 基础入门】命名空间、输入输出、缺省参数与函数重载
开发语言·c++·笔记·学习
m4Rk_2 小时前
【论文阅读】Agent 记忆机制(119):EvoLife——让具身 Agent 把主动问到的答案沉淀为可复用的空间经验
论文阅读·人工智能·学习·开源·github
程序猿乐锅2 小时前
万字详解Single-flight(单飞模式)
java·开发语言·分布式·后端·学习·single-flight
赵谨言4 小时前
多语种在线语言学习平台LinguaVerse的设计与实现毕业论文
学习
一支蜉蝣4 小时前
Day26 XD安全学习笔记--PHP 应用&模版引用&Smarty渲染&MVC 模型&数据联动&RCE 安全
笔记·网络安全·html·php
東隅已逝,桑榆非晚5 小时前
算法3.双指针法-快乐数
c++·笔记·学习·算法