SpringBoot靜態資源404問題
阿新 • • 發佈:2022-05-05
-
如果沒有實現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/"); } }