通知 网站从因情语写改为晴雨,这个网站的模板也从calmlog_ex改为 whimurmur
文章来源于网络,无法注明出处的还请谅解,如果出处注明错误(如仍是载转),请联系我修改

Java 拦截机制 Filter Interceptor Aspect(转载)

37人浏览 / 0人评论 / | 这是对我有帮助的文章  | 分类: 技术介绍使用  | 标签: 转载  | 

作者:小白技术

链接:https://baijiahao.baidu.com/s?id=1664914729155356202

来源:百家号


我们来介绍和使用SpringMVC耳熟能详的三种拦截机制 filter interceptor aspect

引入依赖

1. 过滤器 Filter

我们来自定义自己的过滤器 MyFilter

我们实现 javax.servlet.*.Filter 接口

三个方法 初始化 拦截动作 失效

我们来编写测试DemoController(在浏览器输入地址即可)

测试结果

2. 拦截器 Interceptor

三个动作

请求发起之前 请求执行 请求结束之后

第一步 编写拦截动作类 MyInterceptor

第二步 将拦截动作类 注入拦截器

我们依旧使用DemoController 来进行测试

测试结果

3. 切片 Aspect

三个动作

请求执行之前 请求执行中 请求成功返回

定义切点(拦截谁) 这里我们拦截 我们写的这个Controller(* 代表全部拦截)

我们编写执行的三个动作

我们使用之前编写的DemoController 进行测试

测试结果

4. 三种拦截机制的区别

Filter 可以拿到请求request 和 返回 response

但是它无法识别拦截的是谁(是哪个方法)

Interceptor 它可以拿到 request和response 也可以识别拦截的是谁

但是 它无法识别 被调用时,方法参数和返回值

aspect 可以识别拦截的是谁,被调用时,方法的参数和返回值

但是 它拿不到request和response

三种方法各有千秋,实际操作可以自行取舍

结束


亲爱的读者:有时间可以点赞评论一下

点赞(0) 打赏

全部评论

还没有评论!
广告位-帮帮忙点下广告