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

Spring项目中HTML无法加载CSS的问题排查求助

Spring应用HTML无法加载CSS的问题及解决思路

问题现象

  • Spring应用启动后,HTML页面可正常访问,但CSS样式完全不生效
  • 直接打开本地HTML文件时,浏览器返回「404 Not Found」错误
  • 在VS Code中直接运行HTML页面,CSS样式正常生效
  • 同结构旧项目(仅Spring版本和部分依赖不同)可正常加载CSS

解决步骤

1. 修复HTML中CSS的引用路径

当前HTML使用的相对路径在Spring Thymeleaf环境下无法正确解析,需替换为Thymeleaf的绝对路径语法:
原代码:

<link rel="stylesheet" type="text/css" href="css/registration.css">
<link rel="stylesheet" type="text/css" href="../static/css/registration.css">

替换为:

<link rel="stylesheet" type="text/css" th:href="@{/css/registration.css}">

说明:@{/css/registration.css}会基于项目根路径生成正确的请求地址,避免因页面路由(如/auth/registration)导致的相对路径错误。

2. 确认静态资源目录结构

Spring Boot默认静态资源目录为src/main/resources/static/,需确保CSS文件路径为static/css/registration.css,且文件名、路径大小写与引用完全匹配(Linux环境大小写敏感)。

3. 验证Spring Security的静态资源放行配置

已配置/css/**为公开访问路径,确认配置未被其他规则覆盖:

private final String[] allowedPages = new String[] {
        "/auth/login",
        "/error",
        "/auth/registration",
        "/css/**"
};

若仍有拦截,可临时关闭Security验证是否为权限拦截导致的404。

4. 清理缓存并重启应用

  • 强制刷新浏览器(Ctrl+Shift+R),清除旧的404响应缓存
  • 重启Spring应用,确保配置修改生效

5. 排查版本差异影响

对比旧项目的Spring Boot版本及依赖,确认是否存在静态资源处理的配置差异:

  • 检查旧项目是否有自定义WebMvcConfigurer配置静态资源路径
  • 确认Thymeleaf依赖版本是否与Spring Boot版本兼容

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.30 22:27:23