SpringBootはstaticの静的リソースをロードできません

5866 ワード

直接コードアップの第一歩:addResourceHandlersメソッドを書き換えることが重要です
@Configuration
public class MyMvcConfig implements WebMvcConfigurer {
    @Bean // 
    public WebMvcConfigurer webMvcConfigurerAdapter(){
        WebMvcConfigurer adapter = new WebMvcConfigurer() {
            @Override
            public void addViewControllers(ViewControllerRegistry registry) {
                registry.addViewController("/").setViewName("index");
                registry.addViewController("/login.html").setViewName("index");
            }
            
            // 
            @Override
            public void addInterceptors(InterceptorRegistry registry) {
                registry.addInterceptor(new LoginHandlerInterceptor()).addPathPatterns("/**")
                        .excludePathPatterns("/login.html", "/user/login", "/","/static/**","/**/*.css");
            }                                                               // css, 
            
            // 
            @Override
            public void addResourceHandlers(ResourceHandlerRegistry registry) {
                registry.addResourceHandler("/static/**")
                        .addResourceLocations("classpath:/static/");
            }
        };
        
        return adapter;
    }
}

ステップ2:css導入リソースの前に/staticを追加
th:href="@{/static/a/css/b.css}"