JavaWeb学习篇9_Filter过滤器、Listener监听器
目录
-
Filter过滤器
-
概念
-
快速入门
-
过滤器执行流程
-
过滤器的生命周期方法
-
过滤器配置详解
- 拦截路径配置
- 拦截方式配置
- 注解配置
- web.xml配置
-
过滤器链(配置多个过滤器)
- 执行顺序
- 过滤器先后顺序问题
-
案例
- 登录验证
- 敏感词过滤
- 增强对象的功能(设计模式)
-
-
Listener监听器
- 概念
- ServletContextListener
开始
一、Filter过滤器
1.1概念
简单理解,就是可以对浏览器的请求过滤(放行不放行)、加工(对象功能增强)
1.2快速入门
- 拦截路径注解配置
- 拦截路径web.xml配置
1.3过滤器执行流程、生命周期方法
Filter方法
- init()方法执行一次:服务器启动的时候执行
- doFilter()方法可执行多次:多次请求放行的时候
- destory()方法执行一次:服务器正常关闭时执行
1.3过滤器配置详解
1.4过滤器链
1.5案例
- 案例1
- 案例2
实现此案例需要设计模式思想,因为别的对象不能直接设置request对象的属性
而我们需要替换原request对象的某些敏感属性值
因此需要 对 request 对象的 getParamter()方法增强(加工),生成一个新的request对象,然后放行
- 动态代理理解
对于invoke()方法,我们需要将真实对象 和 动态代理对象之间建立联系(类似反射思想)
动态代理(中介)
- 回到案例
二、Listener监听器
- ServletContextListener简单介绍
创建子类实现 接口 ServletContextListener 后,
-
可以直接加上注解@WebListener
-
可以在web.xml文件配置监听器
一般用法