Springboot2.x以上版本配置拦截器出现“No mapping for GET“静态资源的情况
spring boot 2.x静态资源会被拦截器拦截的原因和解决方法:不要继承 WebMvcConfigurationSupport实现 WebMvcConfigurer 接口WebMvcConfigurationSupport的内置方法和WebMvcConfigurer里的都一样第一种:@Overridepublic void addResourceHandlers(ResourceHandle
·
spring boot 2.x静态资源会被拦截器拦截的原因和解决方法:
- 不要继承 WebMvcConfigurationSupport
- 实现 WebMvcConfigurer 接口
- WebMvcConfigurationSupport的内置方法和WebMvcConfigurer里的都一样
第一种:
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("/static/**").addResourceLocations("classpath:/static/");
}
第二种比较全面一点:
private static final String[] CLASSPATH_RESOURCE_LOCATIONS = {
"classpath:/META-INF/resources/", "classpath:/resources/",
"classpath:/static/", "classpath:/public/" };
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
if (!registry.hasMappingForPattern("/webjars/**")) {
registry.addResourceHandler("/webjars/**").addResourceLocations(
"classpath:/META-INF/resources/webjars/");
}
if (!registry.hasMappingForPattern("/**")) {
registry.addResourceHandler("/**").addResourceLocations(
CLASSPATH_RESOURCE_LOCATIONS);
}
}
更多推荐
已为社区贡献1条内容
所有评论(0)