Spring Boot编写拦截器教程实例解析

 更新时间:2020年06月23日 14:27:16   作者:Esrevinud的笔记  
这篇文章主要介绍了Spring Boot编写拦截器教程实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

创建一个类并使其实现接口HandlerInterceptor

接口提供了一个请求的三个周期的拦截方法

在controller之前,返回true则放行,false反之,handler包含处理请求的controller类以及其方法

boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler)
在controller接受请求之后,contorller渲染视图之前,如果发生异常就不执行了,可对ModelAndView操作

void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView)
在controller处理全部完成之后,ex参数包含处理期间发生的异常,但仅为未被全局捕获的异常

void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex)

public class TheInterceptor implements HandlerInterceptor {

  @Override
  public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
    System.out.println("preHandle");
    return true;
  }

  @Override
  public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {
    System.out.println("postHandle");
  }

  @Override
  public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {
    System.out.println("afterCompletion");
  }
}

编写完成后需要将其注册进处理栈中才会生效, 创建WebMvcConfigurer的实现类

@Configuration
public class WebConfig implements WebMvcConfigurer {
  @Override
  public void addInterceptors(InterceptorRegistry registry) {
    registry.addInterceptor(new MyInterceptor())
        // 需要拦截的路径,默认全部拦截
        .addPathPatterns("/test1")
        // 需要排除的路径
        .excludePathPatterns("/test2");
  }
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • Dubbo服务无法注册到ZK上问题

    Dubbo服务无法注册到ZK上问题

    这篇文章主要介绍了Dubbo服务无法注册到ZK上问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-05-05
  • 详解Java发送HTTP请求

    详解Java发送HTTP请求

    这篇文章主要介绍了Java发送HTTP请求,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-03-03
  • mybatis-plus IdWorker生成的Id和返回给前台的不一致的解决

    mybatis-plus IdWorker生成的Id和返回给前台的不一致的解决

    这篇文章主要介绍了mybatis-plus IdWorker生成的Id和返回给前台的不一致的解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-03-03
  • Java SPI机制详细介绍

    Java SPI机制详细介绍

    大家好,本篇文章主要讲的是Java SPI机制详细介绍,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下,方便下次浏览
    2021-12-12
  • java实现大文件分割与合并的实例代码

    java实现大文件分割与合并的实例代码

    java实现大文件分割与合并的实例代码,需要的朋友可以参考一下
    2013-03-03
  • 深入浅析SpringBoot中的自动装配

    深入浅析SpringBoot中的自动装配

    SpringBoot的自动装配是拆箱即用的基础,也是微服务化的前提。接下来通过本文给大家介绍SpringBoot中的自动装配,感兴趣的朋友跟随脚本之家小编一起学习吧
    2018-05-05
  • java小程序之控制台字符动画的实现

    java小程序之控制台字符动画的实现

    这篇文章主要给大家介绍了java小程序之控制台字符动画实现的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-04-04
  • Java使用NIO优化IO实现文件上传下载功能

    Java使用NIO优化IO实现文件上传下载功能

    IO 是基于流来读取的,而NIO则是基于块读取,面向流 的 I/O 系统一次一个字节地处理数据,这篇文章主要介绍了Java使用NIO优化IO实现文件上传下载功能,需要的朋友可以参考下
    2022-07-07
  • spring boot 项目利用Jenkins实现自动化部署的教程详解

    spring boot 项目利用Jenkins实现自动化部署的教程详解

    这篇文章主要介绍了spring boot 项目利用Jenkins实现自动化部署的方法,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2018-07-07
  • Java并发编程之Volatile变量详解分析

    Java并发编程之Volatile变量详解分析

    Volatile关键字是Java提供的一种轻量级的同步机制,本篇文章深入浅出的讲讲Java并发编程的Volatile,通读本篇对大家的学习或工作具有一定的价值,需要的朋友可以参考下
    2021-10-10

最新评论