我有一个在 tomcat 中本地运行的 Web 应用程序,并且我也部署到了 Cloudbees。但是,使用虚拟主机的 cloudbees 与使用上下文路径的本地 tomcat 相比,我遇到了一些问题。
我通过以下方式访问我的本地 tomcat 应用程序
http://localhost:8080/SpringMVC
在 cloudbees 中,我通过以下方式访问它
到目前为止一切顺利,但问题是当我尝试提交时。在本地,这成功提交给
http://localhost:8080/SpringMVC/HelloWorld
但是在 cloudbees 上,它尝试(但失败)提交给
http://springmvc.shaunabram.cloudbees.net/SpringMVC/HelloWorld
如果我手动将浏览器 URL 修改为
http://springmvc.shaunabram.cloudbees.net/HelloWorld
一切正常。
我在这里看到了一个类似的问题,但建议的解决方案是
- 更新 web.xml 以使用前缀路径(例如,我认为 /SpringMVC 在我的情况下),但这会破坏我的本地 tomcat 版本,或者
- 将应用程序部署为带有 application.xml 的 EAR 文件 - 但迁移到 EE 容器(如 tomcat EE 或 JBoss)将是一项更大的任务。
我曾认为解决方案可能是使用 CloudBees Web 配置文件以某种方式配置应用程序以使用(类似)http://springmvc.shaunabram.cloudbees.net/SpringMVC
作为我的基本 url,但我看不到任何示例(所有 CloudBees Web 配置文件示例似乎是用于环境特定的数据源)。
非常感谢任何帮助!
肖恩