Springboot 中配置拦截器之后突然出现No mapping for GET xxxx
在使用拦截器时,在配置拦截器的时候,由于在 Spring Boot 2.0 之前,我们都是直接继承 WebMvcConfigurerAdapter 类,然后重写 addInterceptors 方法来实现拦截器的配置。但是在 Spring Boot 2.0 之后,该方法已经被废弃了(当然,也可以继续用),取而代之的是 WebMvcConfigurationSupport 方法,如下
@Configuration
public class MyInterceptorConfig extends WebMvcConfigurationSupport {@Overrideprotected void addInterceptors(InterceptorRegistry registry) {registry.addInterceptor(new MyInterceptor()).addPathPatterns("/**");super.addInterceptors(registry);}
}
但是,我们会发现会发现一个缺陷,那就是静态资源被拦截了。项目中集成了thymeleaf,使用th:src="/xxx/xxx"这些获取静态资源的方法便会被拦截,这就需要我们手动将静态资源放开。
即除了在 MyInterceptorConfig 配置类中重写 addInterceptors 方法,还需要再重写一个方法 addResourceHandlers,用来将静态资源放开:
/*** 用来指定静态资源不被拦截,否则继承WebMvcConfigurationSupport这种方式会导致静态资源无法直接访问* @param registry*/
@Override
protected void addResourceHandlers(ResourceHandlerRegistry registry) {registry.addResourceHandler("/**").addResourceLocations("classpath:/static/");super.addResourceHandlers(registry);
}
当然还有更简单的方法,就是我们可以不继承 WebMvcConfigurationSupport 类,直接实现 WebMvcConfigurer 接口,然后重写 addInterceptors 方法,将自定义的拦截器添加进去即可
@Configuration
public class MyInterceptorConfig implements WebMvcConfigurer {@Overridepublic void addInterceptors(InterceptorRegistry registry) {// 实现WebMvcConfigurer不会导致静态资源被拦截registry.addInterceptor(new MyInterceptor()).addPathPatterns("/**");}
}```
Springboot 中配置拦截器之后突然出现No mapping for GET xxxx相关推荐
- SpringBoot中配置拦截器时,跨域失效
SpringBoot中配置拦截器时,跨域失效 前后段分离的项目,配置了跨域后,访问正常,但是配置了拦截器以后,有的访问正常,有的出现跨域问题,发现出现跨域问题的都是拦截器里面没有放行的请求. @Con ...
- springboot 添加拦截器之后中文乱码_springboot中配置了拦截器后,拦截器无效的解决方案之一...
springboot的启动类xxxApplication不能扫描到拦截器配置类,可加上@ComponentScan(basePackages={"com.maya.common"} ...
- springboot中配置了拦截器后,拦截器无效的解决方案之一
springboot中配置了拦截器后,拦截器无效的解决方案之一 参考文章: (1)springboot中配置了拦截器后,拦截器无效的解决方案之一 (2)https://www.cnblogs.com/ ...
- SpringBoot中配置为开发模式,代码修改后不用重新运行
场景 SpringBoot中配置为开发模式,修改代码后不用重新运行. 实现 打开pom.xml,添加依赖 <!-- 添加如下依赖,配置为开发模式,代码做了修改,不用重新运行--><! ...
- 【springboot中使用拦截器】
1.拦截器原理 1.定义拦截器: 2.配置拦截器 3.解决静态资源被拦截 2.拦截器使用实例 2.1判断用户有没有登录 2.2取消拦截操作 1.拦截器原理 拦截器的原理很简单,是AOP 的一种实现,专 ...
- 关于解决SpringBoot中使用redirect重定向后,页面跳转后ulr地址后面出现jsessionid=xxxxxxx的问题
关于解决SpringBoot中使用redirect重定向后,页面跳转后ulr地址后面出现jsessionid=xxxx的问题 参考链接:https://blog.csdn.net/zshake/art ...
- Springboot+Maven在IDEA中配置好Maven后执行Reimport时提示:com.google.inject.internal.Errors.throwCreationExceptio
场景 在下载安装了并在IDEA中配置Maven之后,在IDEA新建了SpringBoot项目后,进行导入依赖时提示 com.google.inject.CreationException: Unabl ...
- springboot中的拦截器interceptor和过滤器filter,多次获取request参数
大家好,我是烤鸭: 这是一篇关于springboot的拦截器(interceptor)和过滤器(Filter). 先说一下过滤器和拦截器. 区别: 1. servlet请求,顺序:Filter ...
- springboot中配置多数据源mybatisPlus
文章目录 1 背景 2 版本 3 配置 3.1 pom配置 3.1.1 父类pom 3.1.2 pom依赖 3.1.3 插件 3.2 application.yml配置 3.3 启动类配置 4 使用 ...
最新文章
- delphi xe 文件服务器,DelphiXE7中创建WebService(服务端+客户端)
- 微生物组助手——最易学的扩增子、宏基因组分析流程
- python程序设计报告-20191206 实验二《Python程序设计》实验报告
- armel、armhf、arm64、armv7l 系统架构区别与联系(AArch64)
- VSTS 离线源码版本辅助工具
- Snabbdom(虚拟dom-6-createElm函数)
- centos 修改密码_openstack Train版部署——基于centos系统(四)
- ++代码实现 感知机的原理_决策树ID3原理及R语言python代码实现(西瓜书)
- Springboot在线电影系统实战开发
- 今天聊:做好前端的 10 个习惯
- java序列化层数_java序列化详解
- __declspec(novtable)有什么作用
- 监视器(monitor)
- python中队列的应用用场景_消息队列使用的四种场景介绍
- 用Python快速实现YOLO目标检测
- NumberOptional:一个字符串转数字的工具
- matplotlib plot函数使用详解
- 转盘抽奖角度计算 前端
- Matlab中imag函数用法
- 清华大学下属机构一栏
热门文章
- SecureCRT 使用技巧
- Java获取ajax数据_使用Ajax简单获取数据
- Token原理以及应用
- 数据类型(Data Type)
- oracle管理 | 表空间权限管控
- DiskFileUpload + BeanUtils 轻松实现无框架文件上传表单取值
- 纵论WebAssembly.js在性能逆境下的召唤强援
- php js 获取 客户端ip地址,JS获取客户端IP地址、MAC和主机名的7个方法汇总_javascript技巧...
- Go工具之generate
- siri接入易微联_拓展生态链接新航道 酷宅科技易微联从本质出发