Springboot攔截器的開發

  1. 攔截器的作用
    作用:將多個Controller中共有的代碼放在攔截器中執行,從而減少controller中代碼的冗餘。
  2. 攔截器的特點
    1. 請求到達經過攔截器 響應回來經過攔截器
    2. 攔截器中斷用戶的請求軌跡
    3. 攔截器只能攔截控制器相關請求路徑
  3. springboot中攔截器開發步驟
    1. @Component
    類MyInterceptor 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("=================3=============");
    }

    @Override
    public void afterCompletion(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o, Exception e) throws Exception {
        System.out.println("=================4=============");
    }
  1. 配置攔截器
    需要配置攔截器那些請求路徑即可
@Component
public class InterceptorCongig extends WebMvcConfigurerAdapter {

    @Autowired
    private MyInterceptor myInterceptor;

    @Override//用來在web環境下添加自定義攔截器配置
    public void addInterceptors(InterceptorRegistry registry) {
           registry.addInterceptor(myInterceptor)//指定攔截器實例
                   .addPathPatterns("/**")//用來指定那些請求
                   .excludePathPatterns("file/upload"); //用來排除那些請求
    }

注意:在springboot中攔截器的請求路徑書寫必須爲/**

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章