You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Spring Boot中CSS加载失败,提示No mapping for GET /css/style.css求助

解决Spring Boot中CSS文件无法加载(No mapping for GET /css/style.css)的问题

核心问题分析

你遇到的问题主要是**@EnableWebMvc注解禁用了Spring Boot的静态资源自动配置**,同时静态资源的存放路径或资源映射配置不匹配导致的。

分步解决方案

1. 确认静态文件存放位置

确保style.css放在Spring Boot默认的静态资源目录下:

src/main/resources/static/css/style.css

Spring Boot默认会自动映射以下目录的静态资源:

  • classpath:/static/
  • classpath:/public/
  • classpath:/resources/
  • classpath:/META-INF/resources/

2. 移除@EnableWebMvc注解

你的配置类中添加的@EnableWebMvc会完全接管Spring MVC的配置,覆盖Spring Boot默认的静态资源映射规则。只保留@Configuration和实现WebMvcConfigurer接口即可:

@SpringBootApplication
public class AtiApplication {

    public static void main(String[] args) {
        SpringApplication.run(AtiApplication.class, args);
    }
     
    @Configuration 
    static class MyConfig implements WebMvcConfigurer{
        @Autowired
        AtiServiceImpl atiservise;
    
        @Override
        public void addFormatters(FormatterRegistry registry) {
            registry.addFormatter(new RegulatoryActFormatter(atiservise)); 
            registry.addFormatter(new RegulatoryFormFormatter(atiservise));
        }
    }   
}

3. (可选)自定义资源映射(如需)

如果确实需要自定义静态资源路径,在WebMvcConfigurer的实现类中添加正确的资源处理器,确保请求路径和资源目录匹配:

@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
    // 映射/css/**请求到classpath:/static/css/目录
    registry.addResourceHandler("/css/**")
            .addResourceLocations("classpath:/static/css/");
}

注意:添加这个配置时不要加@EnableWebMvc,否则Spring Boot的自动配置会失效。

4. 验证Thymeleaf路径

你的HTML中使用th:href="@{/css/style.css}"是正确的Thymeleaf写法,只要静态资源路径配置正确,这个引用就能正常生效。

内容的提问来源于stack exchange,提问作者Natasha

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.26 21:32:29