我们有一个部署在Heroku中的Java/Spring应用程序,它使用优秀的webapp-runner作为Tomcat容器。在从7.0.27.1升级到7.0.31.1时,设置默认上下文路径"/“的行为似乎会导致<spring:url>标记出现问题。具体来说,使用默认的上下文路径"/",像<spring:url value="/foo/bar"/>这样的标记最终会被呈现为//foo/bar。例如,我在OS (Chrome、Safari、Firefox)上测试的所有浏览器,似乎都没有很好地处理这些浏览器,并试图加载http://foo/bar,从而造成各种混乱。
我能想到两个解决办法:
--context-path ""参数指定为webapp-runner --这似乎是“最好的”,因为它对应于7.0.27.1的行为<spring:url context="" .../> --考虑到SpringUrl如何使用前导斜杠来确定UrlType,不确定可能会产生什么额外的后果。这些都是合理的吗?如果没有,我还需要考虑其他的解决办法吗?
发布于 2013-02-01 01:06:00
webapp- has 7.0.34.1将默认的--context-path更改为""。如果你升级了,它应该能解决你的问题。
发布于 2014-10-26 08:08:59
我也有类似的双斜杠/,从webapp运行器7.0.34.0升级到webapp运行程序7.0.34.1,为我解决了的问题。
我试过<spring:url>和${pageContext.request.contextPath}。升级webapp运行程序解决了这两种情况下的问题。
更多细节:http://bit.ly/1zuL1T1
https://stackoverflow.com/questions/13649515
复制相似问题