欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

SpringBoot中拦截器 Interceptor 的配置和使用

程序员文章站 2022-04-19 21:33:27
...

在不采用安全框架的前提下,使用拦截器来拦截单体项目中前端的一些操作。

  1. 创建一个自定义的拦截器,实现 HandlerInterceptor 接口中的方法。
@Component
public class MyInterceptor implements HandlerInterceptor {

    // 在进入Controller之前执行,默认为false不继续执行,当return为true时,才向下执行
    @Override
    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
        return false;
    }

    // 在Controller之后到达模板引擎之前执行
    @Override
    public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {

    }

    // 在模板引擎之后执行
    @Override
    public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {

    }
}

  1. 创建一个 WebMvcConfig 配置类,实现 WebMvcConfigurer 接口中的addInterceptors 方法。
@Configuration
public class WebMvcConfig implements WebMvcConfigurer {
    @Autowired
    private MyInterceptor myInterceptor;

    @Override
    public void addInterceptors(InterceptorRegistry registry) {
        //  添加拦截器
        registry.addInterceptor(myInterceptor)
                .excludePathPatterns("")  //  排除拦截器要拦截的路径
                .addPathPatterns("");    //  添加拦截器需要要拦截的路径

    }
}
  1. 启动项目即可测试拦截器功能。
相关标签: Java