zoukankan      html  css  js  c++  java
  • Springboot——拦截器

    1. 创建一个类实现HandlerInterceptor接口
    2. 添加到spring容器中

    简单例子:

    public class MyInterceptor implements HandlerInterceptor {
    
        /**
         * 请求处理之前执行
         * @param request
         * @param response
         * @param handler
         * @return
         * @throws Exception
         */
        @Override
        public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
            System.out.println("=======请求处理之前执行=========");
            return false;
        }
    
        /**
         * 请求进行处理之后执行
         * @param request
         * @param response
         * @param handler
         * @param modelAndView
         * @throws Exception
         */
        @Override
        public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {
            System.out.println("===========请求进行处理之后执行==========");
        }
    
        /**
         * 当前对应的interceptor的perHandle方法的返回值为true时,postHandle执行完成并渲染页面后执行
         * @param request
         * @param response
         * @param handler
         * @param ex
         * @throws Exception
         */
        @Override
        public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {
            System.out.println("==========当前对应的interceptor的perHandle方法的返回值为true时,postHandle执行完成并渲染页面后执行===========");
        }
    }

    配置适配器

    @Configuration
    public class MyMvcConfig implements WebMvcConfigurer {
        @Override
        public void addInterceptors(InterceptorRegistry registry) {
            registry.addInterceptor(new MyInterceptor())
                    .addPathPatterns("/signIn") //需要拦截的路径
                    .excludePathPatterns("/login","/login.html"); //不需要拦截的路径
        }
    }

     拦截器用途很广,比如可以用来进行接口权限控制,登陆,日志记录等等。

  • 相关阅读:
    14.6.1 Creating InnoDB Tables 创建InnoDB 表:
    mysql iot 主键自增列问题
    mysql iot 主键自增列问题
    perl 定义post接口
    perl 定义post接口
    [置顶] 一步步构建大型网站架构
    [置顶] 一步步构建大型网站架构
    技术人员如何面试
    技术人员如何面试
    技术人员如何面试
  • 原文地址:https://www.cnblogs.com/swqblog/p/13985430.html
Copyright © 2011-2022 走看看