Apache Tomcat 下具有多个目录上下文的 Web 应用程序

Apache Tomcat 下具有多个目录上下文的 Web 应用程序

我有两个网络应用程序,产品-1.2.1.war测试-2.0.0.war

如果我将它们直接放入“tomcat/webapps”文件夹,它们将被部署为;

  • hXXp://localhost/prod-1.2.1/
  • hXXp://localhost/test-2.0.0/

这可行,但实际上我希望它们显示为;

  • hXXp://localhost/vegshop/prod/
  • hXXp://localhost/vegshop/test/

如您所见,我不知何故希望将“vegshop”包含在上下文路径中。我还希望版本号消失,而无需重命名 WAR 文件。

谢谢。

这是 Linux 2.6 下的 Apache Tomcat v6.0,运行 SUN JDK 1.6。

答案1

使用 Tomcat 时,您无法/vegshop/像希望的那样在 URL 中包含包含部分。Web 应用程序不仅仅是可以放置在任何位置的文件。使用 Tomcat, /vegshop/可以是:

  1. 一个独立的 Web 应用
  2. webapp下的文件夹ROOT(如果没有 webapp,则为默认文件夹。

你能做的最好的事情就是重命名你的 .war 文件。prod-1.2.1.war例如 vegshop-prod.war

  • http://localhost/vegshop/
  • http://localhost/vegshop-test/

如果这/vegshop/prod/件事对你来说真的非常重要,那么我唯一会考虑的选择就是用 Web 服务器(如 Apache httpd)代理 Tomcat 并重写 URL。甚至可能有一种使用 Tomcat 编写疯狂代码的方法,但对于这种表面的改变来说,所有这些都显得有些过分。它真的那么重要吗?

相关内容