Springboot項目中創建攔截器

首先我們創建一個簡單的攔截器

@Component
public class TokenInterceptor extends HandlerInterceptorAdapter {

    private Logger logger = Logger.getLogger(TokenInterceptor.class);
    private static final String TOKEN = "token";
    @Override
    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {

        return true;
    }
}

要想讓這個攔截器生效我們需要添加一個配置類

@Component  
class WebConfigurer extends WebMvcConfigurerAdapter {

    @Value("${app.filesdir}")
    private String filesdir;
    @Resource
    private TokenInterceptor tokenInterceptor;
    @Override  
    public void addResourceHandlers(ResourceHandlerRegistry registry) {  
        //配置server虛擬路徑,handler爲jsp中訪問的目錄,locations爲files相對應的本地路徑
        registry.addResourceHandler("/files/**").addResourceLocations(filesdir);
    }
    /**
    * 使創建的攔截器生效
    */
    @Override
    public void addInterceptors(InterceptorRegistry registry) {
        registry.addInterceptor(tokenInterceptor).addPathPatterns("/**");
        super.addInterceptors(registry);
    }
}
發佈了123 篇原創文章 · 獲贊 28 · 訪問量 30萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章