1. 程式人生 > 實用技巧 >spring boot中開發攔截器

spring boot中開發攔截器

1、攔截器

  類似與javaweb filter 但是不是filter

2、攔截器特點

  1、請求到達會經過攔截器,響應回來同樣會經過攔截器

  2、攔截器只能攔截控制器相關請求不能攔截jsp的請求

  3、攔截器可以中斷使用者請求軌跡

3、攔截作用

  作用:將多個控制器中共有程式碼放入攔截器中執行從而減少控制器程式碼冗餘

4、springmvc開發攔截器

  a.類implement HandlerInterceptor{}

  b.配置攔截器 並配置攔截器攔截的請求路徑

5、springboot中如何開發攔截器

  1.類 implement HandlerInterceptor{}

  2、配置攔截器 必須使用註解的方式

@Component
public class InterceptorConfig implements WebMvcConfigurer {

    @Autowired
    private  MyInterceptor myInterceptor;
    @Override
    public void addInterceptors(InterceptorRegistry registry) {
        registry.addInterceptor(myInterceptor).addPathPatterns("/file/**").excludePathPatterns("/file/upload");
        //add是通過攔截器,exclude是排除在攔截器外
    }
}

上面是config裡面得內容

public class MyInterceptor implements HandlerInterceptor {
    @Override
    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {

        System.out.println("========1=========");
        return true;
    }

    @Override
    public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {

        System.out.println("========3=========");
    }

    @Override
    public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {

        System.out.println("=========4=========");
    }
}

上面是MyInterceptor裡面得內容

上面是

檔案結構