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

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

  • 相关阅读:
    单例/单体模式(Singleton)
    步步为营 .NET 设计模式学习笔记 六、Adapter(适配器模式)
    分享18个非常棒的 jQuery 表格插件
    线程池 vs 专有线程
    介绍27款经典的CSS框架
    一些系统开发及项目管理的资料
    SQL数据库中的XML应用
    SQLite之初体验
    AsyncBox 一款基于 jQuery 的弹窗组件
    弹出图片层
  • 原文地址:https://www.cnblogs.com/swqblog/p/13985430.html
Copyright © 2011-2022 走看看