【问题标题】:Servlets not found in AWS在 AWS 中找不到 Servlet
【发布时间】:2012-11-01 10:07:28
【问题描述】:
- 我有一个 GWT 动态 Web 项目并生成 .war 文件
- 我在本地主机的 Tomcat 上测试它,工作正常。
- 我将它上传到 Amazon Web Services,运行 Apache Tomcat 6 的 Elastic Beanstalk
- 当我在 AWS 中运行已部署的版本时,它找不到 servlet,就像它们不存在一样
- 尝试了一个新的 GWT 项目,但仍然无法工作:“未找到 Servlet”
我有点卡住了。我不确定这是 GWT 问题还是我在使用 AWS-Elastic Beanstalk 时做错了什么。
感谢任何帮助。
【问题讨论】:
标签:
java
gwt
tomcat
amazon-web-services
amazon-elastic-beanstalk
【解决方案1】:
所以我在做了很多测试和东西后找到了解决方案:
Tomcat 6 是在弹性 beanstalk 引擎盖下运行的,默认情况下,当您将 XYZ.war 文件上传到 Tomcat 时,上下文 URL 是 (context-root)/XYZ。
我正在上传一个名为 MyWebProject.war 的战争,因此对于 Tomcat,它部署在 (context-root)/XYZ 上,但对于弹性 beanstalk,它部署到 YOUR_URL.elasticbeanstalk.com
这显然会导致web.xml以一种非常奇怪的方式混淆,所以你总结一下:
将您的 XYZ.war 重命名为 ROOT.war 并上传。这应该可以解决问题。