在Spring资源解析

时间:2016-08-11 17:37:47

标签: spring spring-mvc spring-boot

我们有一个Spring Boot应用程序,其中/css/StYLE.cSS将检索static/css/style.css中的css文件。然而,一旦打包成战争并部署到Tomcat,网址就会区分大小写并包含404s。

有没有办法在Spring MVC / Spring Boot中强制执行资源URL区分大小写?

如果网址是404,那么在开发中更容易发现案例不匹配,而不仅仅是谨慎。

1 个答案:

答案 0 :(得分:2)

我假设您正在使用Windows等操作系统,其中文件系统不区分大小写。在这种情况下,当您在开发期间运行时,资源从磁盘上的本地文件夹(不区分大小写)提供,但是当您打包JAR时,它们是针对JAR zip文件条目(区分大小写)提供的。 / p>

一个选项可能是插入您自己的org.springframework.web.servlet.resource.PathResourceResolver并覆盖getResource以使所有resourcePath参数小写。然后,您还需要强制/static下的所有文件都是小写的(也许您可以这样做一个构建时间)。或者,您可以检查任何找到的资源的名称是否与resourcePath完全匹配,以有效地使文件系统版本区分大小写。