SpringBoot静态资源404问题
-
如果没有实现WebMvcConfigurer类的addResourceHandlers方法,则只能写相对路径。如:
-
如果实现了WebMvcConfigurer类重写了addResourceHandlers方法,静态资源的路径可以写相对路径也可以在相对路径前加上你在addResourceHandlers方法中配置的路径。例如:也可以写成 <linkrel="stylesheet"href="/static/admin/css/xadmin.css"> "/static"就是addResourceHandlers方法中配置的路径。
-
可使用application配置文件配置指定静态资源的位置
spring:
mvc:
static-path-pattern: /static/**
@Component
public class LoginInterceptorConfig implements WebMvcConfigurer {
@Autowired
private LoginInterceptor adminLoginInterceptor;
@Override
public void addInterceptors(InterceptorRegistry registry) {
registry.addInterceptor(adminLoginInterceptor)
//要拦截的路径
.addPathPatterns("/admin/**")
//放行的路径
.excludePathPatterns(
"/index/**", "/admin/login/*",
"/**/*.css", "/**/*.js",
"/**/*.png", "/**/*.jpg",
"/**/*.jpeg", "/**/*.gif",
"/**/fonts/*", "/**/*.svg"
);
}
//这个方法指定了静态资源的位置
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("/static/**").addResourceLocations("classpath:/static/");
}
}

浙公网安备 33010602011771号