天天看點

springboot的interceptor(攔截器)的應用

一、SpringMVC 中的Interceptor 攔截器也是相當重要和相當有用的,它的主要作用是攔截使用者的請求并進行相應的處理。在web開發中,攔截器是經常用到的功能。它可以幫我們驗證是否登陸、預先設定資料以及統計方法的執行效率等等。spring中攔截器主要分兩種,一個是HandlerInterceptor,一個是MethodInterceptor。這裡我介紹HandlerInterceptor的一些用法

二、繼承HandlerInterceptor接口

@Component
public class LoginInterceptor implements HandlerInterceptor {
    @Override
    public boolean preHandle(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o) throws Exception {
        return false;
    }

    @Override
    public void postHandle(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o, ModelAndView modelAndView) throws Exception {

    }

    @Override
    public void afterCompletion(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o, Exception e) throws Exception {

    }
}      

@Component 目的是加入容器管理

三、配置、在springboot中需要配置線管請求處理,來實作放行的目的

@Configuration
public class LoginConfigurtion extends WebMvcConfigurerAdapter{

    @Override
    public void addInterceptors(InterceptorRegistry registry) {
        registry.addInterceptor(new LoginInterceptor())
                .addPathPatterns("/*")
                .excludePathPatterns("/user/login");
    }
}      

這樣可以進行相關的内容處理,在使用上面也可以根據自己的需求來實作。

preHandle方法的應用也很友善,通過就傳回true。

四、springmvc的處理和配置參考:http://www.cnblogs.com/ll409546297/p/6434102.html

繼續閱讀