首先我們創建一個簡單的攔截器
@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);
}
}