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

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

  • 相关阅读:
    [转]select any dictionary与select_catalog_role区别
    [转]Oracle DB 权限与角色
    About Secure Application Roles
    [转]Oracle DB 用户
    [转]Oracle DB 管理数据库存储结构
    lsnrctl工具之service
    [转]Oracle DB 配置Oracle Network环境
    [转]Oracle DB 性能视图和数据字典
    [转]Oracle DB 查看预警日志
    判断数据库启动时使用的参数文件类型的方法
  • 原文地址:https://www.cnblogs.com/swqblog/p/13985430.html
Copyright © 2011-2022 走看看