当前位置:网站首页 > 技术博客 > 正文

springboot拦截器排除配置



目录

1. 拦截器介绍

 拦截器是在servlet执行之前执行的程序(这里就是controller代码执行之前),它主要是用于拦截用户请求并作相应的处理,比如说可以判断用户是否登录,做相关的日志记录,也可以做权限管理。

 SpringBoot中的拦截器实现和spring mvc 中是一样的,它的大致流程是,先自己定义一个拦截器类,并将这个类实现一个HandlerInterceptor类,或者是继承HandlerInterceptorAdapter,都可以实现拦截器的定义。然后将自己定义的拦截器注入到适配器中,也有两种方式,一种是实现WebMvcConfigurer接口,一种是继承WebMvcConfigurerAdapter。下面我们来看看如何完成

2.自定义拦截器

直接上代码,再进行一些代码讲解。

代码说明:

3.拦截器注入适配器

代码说明:

4.controller测试

 先创建一个登陆的测试,这个接口是不会拦截的。

 创建一个拦截的controller

5. 测试

控制台只输出了未拦截接口内的代码,说明这个接口是未拦截的。浏览器的显示就不管了。其实一般是拦截登录接口,这里就将它放开了,以供测试。

可以看到,首先是进入了拦截器,通过拦截器之后,进入了controller中的方法,执行完controller的代码之后就进入了自定义拦截器中的postHandle方法,最后进入afterCompletion方法,并获取到了一个response对象。

6. 扩展内容:拦截器链

 我们可以定义多个拦截器组成一个拦截器链。我们可以在适配器中注入多个拦截器。多加一行代码就行了。

 按照拦截器注入的顺序,拦截器的执行顺序应该是以下顺序:拦截器1,拦截器2,拦截器2处理,拦截器1处理,拦截器2结束,拦截器1结束。对应三个过程的方法就是preHandle,postHandle,afterCompletion

7. 总结

 本文从拦截器的自定义到自定义适配器,然后将拦截器注入适配器,再到编写测试代码。准备工作完成之后就进行一个测试拦截器是否成功,最后扩展出拦截器链的一些内容。

end

  • 上一篇: ld-linux
  • 下一篇: 胖熊软件有哪也些
  • 版权声明


    相关文章:

  • ld-linux2025-07-04 17:01:04
  • vulkan与dx12选择2025-07-04 17:01:04
  • linux defunct2025-07-04 17:01:04
  • 双硬盘怎么装双系统2025-07-04 17:01:04
  • timeval和timespec2025-07-04 17:01:04
  • 胖熊软件有哪也些2025-07-04 17:01:04
  • 判定树是二叉排序树吗2025-07-04 17:01:04
  • 过滤器和拦截器哪个先执行2025-07-04 17:01:04
  • 哪些数据库提供期刊全文2025-07-04 17:01:04
  • idea创建xml配置文件2025-07-04 17:01:04