• 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"); //不需要拦截的路径
        }
    }

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

  • 相关阅读:
    JavaScript之Math和date
    JavaScript之ES5和String
    JavaScript之数组
    JavaScript之 函数
    JavaScript之循环语句
    movies.js
    Js内存存放机制
    Web框架
    css中那些属性是可以继承的?
    赋值运算
  • 原文地址:https://www.cnblogs.com/swqblog/p/13985430.html
Copyright © 2020-2023  润新知