Filter&&Listener
-
概念:filter是对客户端访问资源的过滤,符合条件放行,不符合条件不放行,并且可以对目标资源访问前后进行逻辑处理
-
设置步骤
-
创建类实现Filter接口
-
在doFilter方法中编写放行和拦截的代码
-
配置拦截路径
-
-
urlpattern
-
目录匹配和扩展名匹配不能同时使用,会造成服务器无法启动
-
没有缺省配置
-
@WebFilter("/*")//访问所有资源之前,都会执行该过滤器
-
-
dispatcher:访问的方式
-
REQUEST:默认值,代表直接访问某个资源时执行filter
-
FORWARD:转发时才执行filter
-
INCLUDE: 包含资源时执行filter
-
ERROR:发生错误时 进行跳转是执行filter
-
-
案例
案例:敏感词汇过滤
* 需求:
1. 对day17_case案例录入的数据进行敏感词汇过滤
2. 敏感词汇参考《敏感词汇.txt》
3. 如果是敏感词汇,替换为 ***
* 分析:
1. 对request对象进行增强。增强获取参数相关方法
2. 放行。传递代理对象
* 增强对象的功能:
* 设计模式:一些通用的解决固定问题的方式
1. 装饰模式
2. 代理模式
* 概念:
1. 真实对象:被代理的对象
2. 代理对象:
3. 代理模式:代理对象代理真实对象,达到增强真实对象功能的目的
* 实现方式:
1. 静态代理:有一个类文件描述代理模式
2. 动态代理:在内存中形成代理类
* 实现步骤:
1. 代理对象和真实对象实现相同的接口
2. 代理对象 = Proxy.newProxyInstance();
3. 使用代理对象调用方法。
4. 增强方法
* 增强方式:
1. 增强参数列表
2. 增强返回值类型
3. 增强方法体执行逻辑
Listener
-
概念:web的三大组件之一。
-
事件监听机制
-
事件 :一件事情
-
事件源 :事件发生的地方
-
监听器 :一个对象
-
注册监听:将事件、事件源、监听器绑定在一起。 当事件源上发生某个事件后,执行监听器代码
-
-
-