我正在尝试使用Spring设置静态资源版本控制。我可以在我的jsp中获得版本化的URL。但是当发出该请求时,我得到ERR_ABORTED 404(未找到)。
在web.xml中,我有这个。
<filter>
<filter-name>resourceUrlEncodingFilter</filter-name>
<filter-class>
org.springframework.web.servlet.resource.ResourceUrlEncodingFilter
</filter-class>
</filter>
<filter-mapping>
<filter-name>resourceUrlEncodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
我已经配置了mvc:resources
<mvc:resources mapping="/components/**" location="/components/" cache-period="31556926">
<mvc:resource-chain resource-cache="true">
<mvc:resolvers>
<mvc:version-resolver>
<mvc:content-version-strategy patterns="/**"/>
</mvc:version-resolver>
</mvc:resolvers>
</mvc:resource-chain>
</mvc:resources>
在我的jsp中,我有
<script type="text/javascript" src="<c:url value='/components/abc/foo.js' />"></script>
我看到Spring返回foo-2ef843dad601376b6c3eaa6fec7df9b2.js。
但是当从浏览器发出此请求时,我在浏览器控制台中看到以下错误。 GET http://localhost:8080/a/components/abc/foo-2ef843dad601376b6c3eaa6fec7df9b2.js net :: ERR_ABORTED 404(未找到)
更新:
我创建了一个简单的Spring MVC应用程序,并如上所述将版本控制放入其中。很好。因此,这与在我们的应用程序配置中包含其他元素有关。主要的变化是我们具有Spring Security。是否有人知道将版本控制和Spring Security一起使用会遇到任何问题?谢谢。