zoukankan      html  css  js  c++  java
  • 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

     控制台输出:

  • 相关阅读:
    N-Queens And N-Queens II [LeetCode] + Generate Parentheses[LeetCode] + 回溯法
    详细解释VB连接access几种方法数据库
    至少原则平方多项式曲线拟合和实施
    .net在arraylist用法
    Microsoft.AlphaImageLoader过滤评论
    总理推理算法(高效率
    mysql三学习sql声明学习
    1第一个Android应用程序
    软件架构学习总结
    ORACLE在表中添加的目光凝视和读取列
  • 原文地址:https://www.cnblogs.com/liquorppp/p/12955706.html
Copyright © 2011-2022 走看看