zoukankan      html  css  js  c++  java
  • spring boot 拦截器

    spring boot拦截器 完成这个演示只需要三个文件 

    第一个 拦截器配置 MvcConfigurer.java

    @Configuration
    public class MvcConfigurer implements WebMvcConfigurer {
    
        //拦截器
        @Override
        public void addInterceptors(InterceptorRegistry interceptorRegistry) {
            //给指定url增加拦截器 可将要拦截的Url搭配通配符写在配置文件中 /Index/**
            interceptorRegistry.addInterceptor(new FilterHandler()).addPathPatterns("/a");
        }
    
        //.....其他更多全局定制实现方法  
    }

    第二个 拦截器逻辑 FilterHandler.java

    public class FilterHandler implements HandlerInterceptor {
    
        @Override
        public boolean preHandle(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o) throws Exception {
            //在调用controller方法之前会调用此方法
    
            //重定向到/c
            httpServletResponse.sendRedirect("/c");
            return false;
        }
    
        @Override
        public void postHandle(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o, ModelAndView modelAndView) throws Exception {
            //在调用controller方法之后会调用此方法
        }
    
        @Override
        public void afterCompletion(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o, Exception e) throws Exception {
            //页面渲染完毕后会调用此方法
        }
    }

    第三个 业务访问控制层 IndexController

    @Controller
    public class IndexController {
    
        @RequestMapping("/a")
        @ResponseBody
        public String a(){
            return "这是a方法";
        }
    
        @RequestMapping("/b")
        @ResponseBody
        public String b(){
            return "这是b方法";
        }
    
        @RequestMapping("/c")
        @ResponseBody
        public String c(){
            return "这是c方法 请你登陆";
        }
    }

    运行效果

     本篇博客码云地址:https://gitee.com/zhao-baolin/springboot_interceptor

  • 相关阅读:
    spring 源码解析(三)
    spring 源码解析(三)
    spring 源码解析(三)
    spring 源码解析(三) 容器的实现
    spring 源码解析(二) 3.修改编译生成,生成自定义版本。
    spring 源码解析(二) 1.开发环境,环境的搭建。
    思维-J
    思维-Ayoub's function
    图-D
    思维-Codeforces 1294D
  • 原文地址:https://www.cnblogs.com/fengyumeng/p/9248583.html
Copyright © 2011-2022 走看看