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/");
    }

}
posted @ 2022-05-05 22:33  加瓦同学  阅读(877)  评论(0)    收藏  举报