如何解决Thymeleaf项目中CSS文件访问报404找不到的问题
Thymeleaf CSS资源加载404问题解决方案
问题原因
- 静态资源存放路径错误:Spring Boot默认会扫描
resources/static、resources/public、resources/resources、resources/META-INF/resources四个目录下的静态资源,而resources/templates是Thymeleaf模板文件的专属存放目录,该目录下的内容默认不对外开放直接访问,你将CSS文件放在该目录下自然无法通过URL直接请求到。 - 页面代码存在冗余标签:你给出的head代码末尾多了无效的
</style>闭合标签,虽不是404的直接诱因,但会导致页面DOM结构解析异常,建议删除。
解决步骤
- 调整文件存放路径:在
resources目录下新建static文件夹,将原resources/templates/css目录整体移动到static目录下,最终CSS文件的完整路径为resources/static/css/bootstrap.min.css。 - 修正页面引用代码:调整后的引用代码如下,同时删除冗余的
</style>标签:
<head> <meta charset="UTF-8"> <link th:href="@{/css/bootstrap.min.css}" href="../static/css/bootstrap.min.css" rel="stylesheet"> <title>Title</title> </head>
- 校验静态资源映射配置(可选):如果你之前自定义过Spring MVC的静态资源映射规则,需要确认配置包含静态资源路径,参考配置如下:
@Configuration public class WebConfig implements WebMvcConfigurer { @Override public void addResourceHandlers(ResourceHandlerRegistry registry) { registry.addResourceHandler("/**") .addResourceLocations("classpath:/static/"); } }
- 重启项目后验证资源是否可以正常加载。
内容的提问来源于stack exchange,提问作者emarwa.mouma.35t
相关产品推荐
相关产品推荐

