首页 技术 正文
技术 2022年11月17日
0 收藏 617 点赞 3,895 浏览 756 个字

  spring boot通过配置springMVC拦截器

  配置拦截器比较简单, spring boot配置拦截器, 重写preHandle方法.

  1.配置拦截器:

spring boot配置springMVC拦截器

2重写方法

spring boot配置springMVC拦截器

这样就实现了拦截器.

  其中,在重写方法的逻辑中, 增加了一个注解,  这个注解的作用是:当方法头加上这个注解之后, 拦截器直接放行

这里说一下3个方法:

preHandle:预处理回调方法,实现处理器的预处理, 有返回值, true表示继续流程,  false表示中断流程,通过response产生响应

postHandle:后处理回调方法,实现处理器的后处理

afterCompletion:整个请求处理完成回调方法

spring boot配置springMVC拦截器

在方法头增加注解

spring boot配置springMVC拦截器

这样有一些对安全没必要太严格,  不需要校验token的接口就加上这个注解就可以.

接下来 WebMvcConfigurationSupport 配置静态资源

spring boot配置springMVC拦截器

还有个addViewControllers的方法可以配置视图

拦截器的实现还有一种方式:  WebRequestInterceptor, 这里说下他们的不同点, 具体的代码实现都差不多

WebRequestInterceptor 的 preHandle  没有返回值, 方法参数中没有response, 获取request更方便, 不影响后续流程, .   也就是说WebRequestInterceptor 更针对处理请求, 比如预设参数等.

HandlerInterceptor 的 preHandle  有返回值, 会影响到后续处理, 有response, 获取request相对会稍微多写点代码, 更注重业务处理, 比如12306可以判断是否售票时间内, 权限, 请求验签等等.

例如本文的业务是校验token, 登录权限

整体来说HandlerInterceptor的功能更强大, 但获取request相对代码会多点

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:9,104
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,581
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,428
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,200
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,835
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,918