SpringBoot +thymeleaf 访问(static)静态资源的处理方法
1.问题
最近使用SpringBoot框架+thymeleaf模板做一个简单网站,代码目录如下
项目启动之后,静态资源(css、js、图片)都不能访问,通过浏览器访问,加载开发工具控制台,得到如下404错误信息
GET http://localhost/css/buju.css net::ERR_ABORTED 404
2.分析问题
404错误,无非就是没找到资源,将http://localhost/css/buju.css拷贝到浏览器中访问,也无法访问到,百度了各种解决方案,什么引用thymeleaf依赖,在资源引用路径中使用th标签
<link href="css/buju.css" rel="stylesheet" th:href="@{css/buju.css}">
<link href="css/index.css" rel="stylesheet" th:href="@{css/index.css}">
也不能解决问题,索性回过头来看看错误信息
既然通过http://localhost/css/buju.css不能访问static目录资源,那么就是路径的问题,在路径中添加上层static目录试试,
http://localhost/static/css/buju.css,然后访问,资源能顺利访问,页面回复正常。
3.解决问题
网上针对这个问题有各种解决方案,但是出问题的很多,按照正常的思维,既然配置了static作为静态资源的根目录,那么在代码中就不应该再添加static到资源路径中。也许是我的配置不对,thymeleaf模板也是第一次用,先解决问题为主,后面再有更好的解决方案再调整,不对之处请各位指教,谢谢~