1. 程式人生 > 其它 >SpringBoot靜態資源404問題

SpringBoot靜態資源404問題

  1. 如果沒有實現WebMvcConfigurer類的addResourceHandlers方法,則只能寫相對路徑。如:

  2. 如果實現了WebMvcConfigurer類重寫了addResourceHandlers方法,靜態資源的路徑可以寫相對路徑也可以在相對路徑前加上你在addResourceHandlers方法中配置的路徑。例如:也可以寫成 <linkrel="stylesheet"href="/static/admin/css/xadmin.css"> "/static"就是addResourceHandlers方法中配置的路徑。

  3. 可使用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/");
    }

}