首先我们创建一个简单的拦截器
@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);
}
}