SpringBoot 简易拦截器实现
SpringBoot 简易拦截器实现
SpringBoot 简易拦截器实现步骤
- 创建一个拦截器类并实现
HandlerInterceptor
接口 - 将拦截器注册到容器中并实现
WebMvcConfigurer
接口的addInterceptors
方法 - 在方法中指定拦截规则
一、创建拦截器
@Component
public class HelloInterceptor implements HandlerInterceptor {@Overridepublic boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {//request.setAttribute("loginUser","张三");Object loginUser = request.getAttribute("loginUser");if (loginUser == null) {return false;}return true;}
}
我这里只实现了 preHandle
方法,根据实际业务需要,还可以实现 postHandle
和 afterCompletion
方法。
二、创建一个配置类实现接口方法
@Configuration
public class InterceptorConfig implements WebMvcConfigurer {@Overridepublic void addInterceptors(InterceptorRegistry registry) {registry.addInterceptor(new HelloInterceptor()).addPathPatterns("/**").excludePathPatterns("/hello1");}
}
简单的编写了一下拦截规则。
三、在Controller控制器中进行测试
编写一个简单的Controller来测试拦截器是否生效。由拦截规则可知,除 "/hello1"外的所有路径都会被拦截器拦截。
@RestController
public class HelloController {@RequestMapping("/hello")public String hello() {return "springboot hello";}@RequestMapping("/hello1")public String hello1() {return "springboot hello1";}
}
四、测试结果
由图可知,拦截器确实把其余请求给拦截下来了。
补充
如果想要实现多个拦截器同时生效,步骤一和步骤二是必须的。至于拦截器的生效的 preHandle
先后顺序则是谁先注册谁先生效。
待续。。。。。。
SpringBoot 简易拦截器实现相关推荐
- 【SpringBoot】拦截器使用@Autowired注入接口为null解决方法
[SpringBoot]拦截器使用@Autowired注入接口为null解决方法 参考文章: (1)[SpringBoot]拦截器使用@Autowired注入接口为null解决方法 (2)https: ...
- SpringBoot——使用拦截器拦截未登录用户
前置知识SpringBoot配置拦截器基于HandlerInterceptor接口实现,关键三个方法 preHandle()执行目标之前 postHandle()执行目标之后 afterComplet ...
- SpringBoot与拦截器
自定义拦截器 package com.buba.interceptor;import com.buba.pojo.User; import org.springframework.web.servle ...
- SpringBoot配置拦截器导致swagger失效
问题背景: Springboot 启用拦截器后,Swagger无法访问 原因 拦截器拦截了所有的请求,导致swagger也被拦截,当在进行鉴权的的时候,可能需要传入一些特定的参数,或者请求头信息,这样 ...
- springboot Interceptor拦截器excludePathPatterns失效
springboot Interceptor拦截器excludePathPatterns失效 使用jwt和HandlerInterceptorAdapter做登录的拦截放行失效,其实更多时候不是配置文 ...
- springboot设置拦截器的方法
springboot设置拦截器的方式: 1.编写一个类,在类上面加上@Configuration注解,然后继承 WebMvcConfigurerAdapter. 重写父类的方法:addIntercep ...
- springboot项目拦截器中获取接口返回数据_Spring Boot自定义Annotation实现接口自动幂...
在实际的开发项目中,一个对外暴露的接口往往会面临很多次请求,我们来解释一下幂等的概念:任意多次执行所产生的影响均与一次执行的影响相同.按照这个含义,最终的含义就是 对数据库的影响只能是一次性的,不能重 ...
- springcloud springboot 异常拦截器 项目完善03
springcloud springboot 异常拦截器 项目完善03 > 创建异常拦截器,在controller层没处理的异常抛出时,异常拦截器拦截后输入自定义的报错信息. 新建GlobalE ...
- 玩转springboot:实现springboot自定义拦截器
一.前言 在javaee中,我们经常使用filter来做拦截器,后来有了springmvc,我们使用HandlerInterceptor进行拦截,springmvc的拦截器查看这篇文章,现在有了spr ...
- 六十五、SpringBoot配置拦截器拦截静态资源和区域解析器实现登陆功能
@Author:Runsen 来源:尚硅谷 下面建议读者学习尚硅谷的B站的SpringBoot视频,我是学雷丰阳视频入门的. 具体链接如下:B站尚硅谷SpringBoot教程 本次到了SpringBo ...
最新文章
- 鸿蒙蕴含的哲理,经典别致的人生语录,蕴含哲理,受用一生!
- Python基础(八)--迭代,生成器,装饰器与元类
- 理解 JavaScript 作用域
- 【Xamarin挖墙脚系列:Android最重要的命令工具ADB】
- java 泛型参数写法_参数化类型——Java泛型
- AI 秒杀人类!OpenAI 击败 DOTA2 世界冠军 OG
- java jdbc事务_Java JDBC事务管理和保存点
- Golang map的底层实现
- 009-Shell 函数
- springboot+vue全栈开发_全栈的自我修养: 002使用@vue/cli进行vue环境搭建 (使用Vue,SpringBoot,Flask完成前后端分离)...
- MKD调试下载的时候提示:Contents mismatch at: xxxxxxxxH (Flash=xxH Required=xxH)
- GitHub使用技巧,在线ide编辑代码、在线运行代码、快速查找阅读代码
- tomcat启动失败:Failed creating java jvm.dll
- 基于 jquery ui 扩展Widget
- 【华为OD】| 网上商城优惠活动_逻辑分析
- 魔兽3无法启动此程序因为计算机中丢失,win10运行war3出错无法启动怎么办_win10系统war3不能启动如何解决...
- knex入门学习使用方法
- Archlinux 安装、美化、软件入门(四)
- 网络技术基础(六)网络互连技术
- OpenStack Ironic实现裸机部署
热门文章
- Java五子棋全代码
- 带通滤波器的设计概述
- Chango的数学Shader世界(十七)RayTrace三维分形(二)—— Julia Set造型
- 在 MATLAB 或 Python 中使用 ZOS-API 进行光线追跡的批次处理
- c语言读取广播星历程序,GPS广播星历计算卫星位置和速度.doc
- 计算机算法分析与设计心得体会,算法设计与分析课程的心得体会
- 最受商户关注的十大进销存软件,真实功能大测评
- 推荐一款PDF阅读工具Apabi Reader
- 武汉大学计算机学院推免率,武汉大学保研率
- 安装linux时找不到硬盘,关于安装LINUX时找不到硬盘问题解决