SpringBoot 简易拦截器实现

SpringBoot 简易拦截器实现步骤

  1. 创建一个拦截器类并实现 HandlerInterceptor 接口
  2. 将拦截器注册到容器中并实现 WebMvcConfigurer 接口的 addInterceptors 方法
  3. 在方法中指定拦截规则

一、创建拦截器

@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 方法,根据实际业务需要,还可以实现 postHandleafterCompletion 方法。

二、创建一个配置类实现接口方法

@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 简易拦截器实现相关推荐

  1. 【SpringBoot】拦截器使用@Autowired注入接口为null解决方法

    [SpringBoot]拦截器使用@Autowired注入接口为null解决方法 参考文章: (1)[SpringBoot]拦截器使用@Autowired注入接口为null解决方法 (2)https: ...

  2. SpringBoot——使用拦截器拦截未登录用户

    前置知识SpringBoot配置拦截器基于HandlerInterceptor接口实现,关键三个方法 preHandle()执行目标之前 postHandle()执行目标之后 afterComplet ...

  3. SpringBoot与拦截器

    自定义拦截器 package com.buba.interceptor;import com.buba.pojo.User; import org.springframework.web.servle ...

  4. SpringBoot配置拦截器导致swagger失效

    问题背景: Springboot 启用拦截器后,Swagger无法访问 原因 拦截器拦截了所有的请求,导致swagger也被拦截,当在进行鉴权的的时候,可能需要传入一些特定的参数,或者请求头信息,这样 ...

  5. springboot Interceptor拦截器excludePathPatterns失效

    springboot Interceptor拦截器excludePathPatterns失效 使用jwt和HandlerInterceptorAdapter做登录的拦截放行失效,其实更多时候不是配置文 ...

  6. springboot设置拦截器的方法

    springboot设置拦截器的方式: 1.编写一个类,在类上面加上@Configuration注解,然后继承 WebMvcConfigurerAdapter. 重写父类的方法:addIntercep ...

  7. springboot项目拦截器中获取接口返回数据_Spring Boot自定义Annotation实现接口自动幂...

    在实际的开发项目中,一个对外暴露的接口往往会面临很多次请求,我们来解释一下幂等的概念:任意多次执行所产生的影响均与一次执行的影响相同.按照这个含义,最终的含义就是 对数据库的影响只能是一次性的,不能重 ...

  8. springcloud springboot 异常拦截器 项目完善03

    springcloud springboot 异常拦截器 项目完善03 > 创建异常拦截器,在controller层没处理的异常抛出时,异常拦截器拦截后输入自定义的报错信息. 新建GlobalE ...

  9. 玩转springboot:实现springboot自定义拦截器

    一.前言 在javaee中,我们经常使用filter来做拦截器,后来有了springmvc,我们使用HandlerInterceptor进行拦截,springmvc的拦截器查看这篇文章,现在有了spr ...

  10. 六十五、SpringBoot配置拦截器拦截静态资源和区域解析器实现登陆功能

    @Author:Runsen 来源:尚硅谷 下面建议读者学习尚硅谷的B站的SpringBoot视频,我是学雷丰阳视频入门的. 具体链接如下:B站尚硅谷SpringBoot教程 本次到了SpringBo ...

最新文章

  1. 鸿蒙蕴含的哲理,经典别致的人生语录,蕴含哲理,受用一生!
  2. Python基础(八)--迭代,生成器,装饰器与元类
  3. 理解 JavaScript 作用域
  4. 【Xamarin挖墙脚系列:Android最重要的命令工具ADB】
  5. java 泛型参数写法_参数化类型——Java泛型
  6. AI 秒杀人类!OpenAI 击败 DOTA2 世界冠军 OG
  7. java jdbc事务_Java JDBC事务管理和保存点
  8. Golang map的底层实现
  9. 009-Shell 函数
  10. springboot+vue全栈开发_全栈的自我修养: 002使用@vue/cli进行vue环境搭建 (使用Vue,SpringBoot,Flask完成前后端分离)...
  11. MKD调试下载的时候提示:Contents mismatch at: xxxxxxxxH (Flash=xxH Required=xxH)
  12. GitHub使用技巧,在线ide编辑代码、在线运行代码、快速查找阅读代码
  13. tomcat启动失败:Failed creating java jvm.dll
  14. 基于 jquery ui 扩展Widget
  15. 【华为OD】| 网上商城优惠活动_逻辑分析
  16. 魔兽3无法启动此程序因为计算机中丢失,win10运行war3出错无法启动怎么办_win10系统war3不能启动如何解决...
  17. knex入门学习使用方法
  18. Archlinux 安装、美化、软件入门(四)
  19. 网络技术基础(六)网络互连技术
  20. OpenStack Ironic实现裸机部署

热门文章

  1. Java五子棋全代码
  2. 带通滤波器的设计概述
  3. Chango的数学Shader世界(十七)RayTrace三维分形(二)—— Julia Set造型
  4. 在 MATLAB 或 Python 中使用 ZOS-API 进行光线追跡的批次处理
  5. c语言读取广播星历程序,GPS广播星历计算卫星位置和速度.doc
  6. 计算机算法分析与设计心得体会,算法设计与分析课程的心得体会
  7. 最受商户关注的十大进销存软件,真实功能大测评
  8. 推荐一款PDF阅读工具Apabi Reader
  9. 武汉大学计算机学院推免率,武汉大学保研率
  10. 安装linux时找不到硬盘,关于安装LINUX时找不到硬盘问题解决