首页 > 其他分享 >拦截器

拦截器

时间:2023-02-24 20:15:38浏览次数:27  
标签:拦截器 请求 static 拦截 方法 excludePathPatterns

拦截器机制

前端发送请求,通过控制器完成定义好的方法,在将数据渲染到前端。拦截器分为三个方法分别是preHandlepostHandleafterCompletion,我们可以分别利用这三个方法在控制器作用前、后以及数据渲染完成之后将流程拦截,来进行自定义好的操作(比如放行那些请求、加某些数据)

  • 步骤:
    1.创建用于存放拦截器的包,一般命名为interceptor
    2.创建类,类中重写三个方法,需要实现HandlerInterceptor接口(这个类就是拦截器)
    3.按照需求在方法中书写代码(逻辑判断等)
    4.拦截器在定义好之后,要让拦截器进行工作
    • 1.配置好拦截器要拦截的请求
    • 2.把配置放到容器当中
    • 3.指定拦截规则

创建配置类,用于进行第4步中的操作

  • 1.配置类实现WebMvcConfigurer的抽象方法
  • 2.在重写方法中利用addInterceptor()方法将前面创建的拦截器类放置到容器当中
  • 3.利用addPathpatterns()方法声明需要拦截那些请求,如,addPathpatterns("/")就代表拦截所有请求,包括了静态资源的请求,这就意味着页面的渲染也会被拦截**
  • 4.利用excludePathPatterns()方法声明需要放行那些请求,如,excludePathPatterns("/","/login")就代表放行/以及/login请求
    为了解决3中的问题,我们可以通过两种方式:
    • 1.在excludePathPatterns()中将static中的包,都以"/包名/"的方式放行;例如static中有一个school包,这个包下方了很多静态资源,那么我们可以excludePathPatterns("/school/"),但包多的时候就会声明太多次
    • 2.或者将静态资源的访问路径进行配置,比如前面必须有static,那么就可以直接放行static路径下的所有"/static/**"

preHandle

postHandle

afterCompletion

标签:拦截器,请求,static,拦截,方法,excludePathPatterns
From: https://www.cnblogs.com/hezhipeng/p/17052702.html

相关文章

  • 文件上传与拦截器
    静态资源访问静态资源访问,默认在根路径下加上资源名称即可访问;也可以在配置文件中,自定义访问路径spring.mvc.static-path-pattern=/<自定义路径>/**以上是默认static目录......
  • 【Spring AOP】【九】Spring AOP源码解析-拦截器/通知器链的执行过程
    1 前言上一节我们说了通知器链的而顺序问题,那么这节我们该看看它的执行了。我们拿JDK代理的执行过程来看哈。2 源码分析2.1 方法通读对于JDK动态代理的,那我们再......
  • 【Spring AOP】【八】Spring AOP源码解析-拦截器/通知器链的执行顺序
    1 前言上节我们看过了代理对象执行方法的大致过程,我们留着通知器链的具体执行没说,这节我们先讲解一下通知器的执行顺序。通知器或者叫拦截器,叫法不一样,这里我们还是都......
  • 拦截器和过滤器
    过滤器过滤器实际上就是对web资源进行拦截,做一些处理后再交给下一个过滤器或servlet处理,通常都是用来拦截request进行处理的,也可以对返回的response进行拦截处理为什么......
  • Mybatis-Plus取消自动转驼峰拦截器
    背景项目使用Mybatis-Plus,开启了全局结果集字段转驼峰map-underscore-to-camel-case:true。开启之后如果需要返回下划线需要自定义resultMap现需要返回List<Map>,且返回......
  • Spring MVC - 拦截器实现 和 用户登陆例子
    1.拦截器 SpringMvc中的拦截器实现了HandlerInterceptor接口,通常使用与身份认证,授权和校验,模板视图,统一处理等;  publicclassHanderInterceptor1implementsHandlerI......
  • day13-自定义拦截器
    自定义拦截器1.什么是拦截器说明:拦截器与过滤器的区别SpringMVC的拦截器(Interceptor)与JavaServlet的过滤器(Filter)类似,它主要用于拦截用户的请求并做相应的处理,通......
  • 通过Java编写Flume拦截器
    首先要知道Flume中的Event是由Header+Body组成的。Flume支持在运行时对Event进行修改或丢弃,可以通过拦截器来实现。Flume里面的拦截器是实现了org.apache.flume.interc......
  • SpringMVC10 - 拦截器 Interceptor
    拦截器拦截器的配置SpringMVC中的拦截器用于拦截控制器方法的执行SpringMVC中的拦截器需要实现HandlerInterceptorSpringMVC的拦截器必须在SpringMVC的配置文件中进行......
  • 拦截器HandlerInterceptorAdapter使用方法
    原文链接:https://blog.csdn.net/kuishao1314aa/article/details/109777304一、Interceptor定义:拦截器是在面向切面编程中应用的,就是在你的service或者一个方法前调用一个......