SpringBoot之自定义拦截器
一、自定义拦截器实现步骤
1、创建拦截器类并实现HandlerInterceptor接口
2、创建SpringMVC自定义配置类,实现WebMvcConfigurer接口中addInterceptors方法
3、将自定义拦截器类加入配置类
二、代码实现
自定义拦截器类:
public class MyInterceptor1 implements HandlerInterceptor {
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
System.out.println("MyInterceptor1 -> preHandle执行了");
//true表示继续执行
return true;
}
@Override
public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {
System.out.println("MyInterceptor1 -> postHandle 执行了");
}
@Override
public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {
System.out.println("MyInterceptor1 -> afterCompletion 执行了");
}
}
配置类:
@Configuration
public class MVCConfig implements WebMvcConfigurer {
@Override
public void addInterceptors(InterceptorRegistry registry) {
//addPathPatterns添加拦截路径
//excludePathPatterns添加不拦截路径
registry.addInterceptor(new MyInterceptor1()).addPathPatterns("/test1/**").excludePathPatterns("/test2");
}
}
创建控制器进行测试:
@RestController
public class InterceptorController { @RequestMapping("/test1/{name}")
public String test1(@PathVariable("name") String name) {
return "hi, " + name;
} @RequestMapping("/test2")
public String test2() {
return "test2";
}
}
输入localhost:8080/test2
控制台无输出即表示没有拦截
输入localhost:8080/test1/jack
控制台输出:

SpringBoot之自定义拦截器的更多相关文章
- 【学习】SpringBoot之自定义拦截器
/** * 自定义拦截器 **/ @Configuration//声明这是一个拦截器 public class MyInterceptor extends WebMvcConfigurerAdapte ...
- springboot实现自定义拦截器
为了更容易理解,我们通过一个代码例子来演示. 例子: 我们现在要访问http://localhost:8080/main.html页面,这个页面需要登录之后才能够浏览,没登录不能浏览. 那么现在问题来 ...
- SpringMVC拦截器与SpringBoot自定义拦截器
首先我们先回顾一下传统拦截器的写法: 第一步创建一个类实现HandlerInterceptor接口,重写接口的方法. 第二步在XML中进行如下配置,就可以实现自定义拦截器了 SpringBoot实现自 ...
- SpringBoot自定义拦截器实现IP白名单功能
SpringBoot自定义拦截器实现IP白名单功能 转载请注明源地址:http://www.cnblogs.com/funnyzpc/p/8993331.html 首先,相关功能已经上线了,且先让我先 ...
- springboot 2.0+ 自定义拦截器
之前项目的springboot自定义拦截器使用的是继承WebMvcConfigurerAdapter重写常用方法的方式来实现的. 以下WebMvcConfigurerAdapter 比较常用的重写接口 ...
- SpringBoot学习笔记:自定义拦截器
SpringBoot学习笔记:自定义拦截器 快速开始 拦截器类似于过滤器,但是拦截器提供更精细的的控制能力,它可以在一个请求过程中的两个节点进行拦截: 在请求发送到Controller之前 在响应发送 ...
- SpringBoot(11) SpringBoot自定义拦截器
自定义拦截器共两步:第一:注册.第二:定义拦截器. 一.注册 @Configuration 继承WebMvcConfigurationAdapter(SpringBoot2.X之前旧版本) 旧版本代码 ...
- SpringBoot自定义拦截器实现
1.编写拦截器实现类,此类必须实现接口 HandlerInterceptor,然后重写里面需要的三个比较常用的方法,实现自己的业务逻辑代码 如:OneInterceptor package com ...
- SpringBoot 2.x 自定义拦截器并解决静态资源访问被拦截问题
自定义拦截器 /** * UserSecurityInterceptor * Created with IntelliJ IDEA. * Author: yangyongkang * Date: ...
随机推荐
- QQ群web前端分析一——准备部分
Vary:Accept-Encoding的用途 2012-09-06 11:47:08| 分类: rhel_apache|字号 订阅 查看网页的response header一般都有Vary ...
- MYSQL 存储引擎(面)
存储引擎是MySQL的组件,用于处理不同表类型的SQL操作.不同的存储引擎提供不同的存储机制.索引技巧.锁定水平等功能,使用不同的存储引擎,还可以获得特定的功能. 使用哪一种引擎可以灵活选择,一个数据 ...
- 全文思维导图------redis设计与实现
- 理解 Linux 的硬链接与软链接(转)
Linux 的文件与目录 现代操作系统为解决信息能独立于进程之外被长期存储引入了文件,文件作为进程创建信息的逻辑单元可被多个进程并发使用.在 UNIX 系统中,操作系统为磁盘上的文本与图像.鼠标与键盘 ...
- mysql建立索引,实际工作中建立索引的示例
1.根据业务场景建立相应的组合索引,一般是在主键,外键,常用来筛选查询的字段,按照字段之间组合的紧密程度,建立一定顺序的索引. 例如:为 t_org_exam_join_member_day 建立索 ...
- umask及文件默认和原始权限说明
umask作用:设置了用户创建文件的默认权限.是权限的补码,一般在/etc/profile.$ [HOME]/.bash_profile或$[HOME]/.profile中设置umask值. 查看um ...
- rgw使用boto3生成可以访问的预签名url
前言 如果想访问一个ceph里面的s3地址,但是又不想直接提供secrect key的时候,可以通过预签名的方式生成url 生成方法 下载boto3 脚本如下 cat s3.py import bot ...
- Spark SQL | 目前Spark社区最活跃的组件之一
Spark SQL是一个用来处理结构化数据的Spark组件,前身是shark,但是shark过多的依赖于hive如采用hive的语法解析器.查询优化器等,制约了Spark各个组件之间的相互集成,因此S ...
- 基于chaosblade的故障注入平台小试
当今社会互联网应用越来越广泛,用户量日益剧增.在人们对互联网服务的依赖性增大的同时,也对服务的可用性和体验感有了更高的要求.那么如何保障服务在运营过程中能一直给用户提供稳定的.不间断的.可靠可信的服务 ...
- 需要登录才能下载的文件可以用Folx下载吗
用苹果电脑的小伙伴有没有发现,有时候文件即时有下载链接也还是要先登录才能下载,那这样的文件用下载器Folx还能下载码?下面小编将在Mac系统平台上,通过一篇教程教大家利用Folx 5的密码管理来保存网 ...