springboot中定義攔截器


 

首先回憶一下springmvc中攔截器的使用:

1.定義一個類 implements HandlerInterceptor,實現HandlerInterceptor接口中的方法

  preHandler               1

  postHandler              2

  afterCompletion        3

2.配置攔截器 springmvc.xml

<mvc:Interceptors>
  <mvc:Interceptor>
    <path="/user/*">
    <exinclud path="/user/login">
  </mvc:Interceptor>
</mvc:Interceptors>

springboot 中不建議使用xml文件,在使用攔截器的時候springboot框架自動配置

springboot中定義和使用攔截器如下:

1.開發自定義攔截器類

攔截器類 implements HandlerInterceptor

public class MyInterceptor implements HandlerInterceptor {
    @Override
    public boolean preHandle(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o) throws Exception {
        System.out.println("=======1=======");
        return true;
    }
    @Override
    public void postHandle(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o, ModelAndView modelAndView) throws Exception {
        System.out.println("========2========");
    }
    @Override
    public void afterCompletion(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o, Exception e) throws Exception {
        System.out.println("==========3========");
    }
}

 

2.配置攔截器,springboot自動配置(@Configuration)

@Configuration
public class MyWebConfig extends WebMvcConfigurerAdapter {
    @Override
    public void addInterceptors(InterceptorRegistry registry) {
        registry.addInterceptor(new MyInterceptor())
                .addPathPatterns("/user/test")       //攔截項目中的哪些請求
                .excludePathPatterns("/user/save");  //對項目中的哪些請求不攔截
    }
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM