【发布时间】:2018-10-28 08:36:16
【问题描述】:
我又在尝试我可能不应该做的事情......但是......通常我觉得这是可能的。这一次,我真的是在祈祷。
我有一个 Tomcat 8 实例。在这种情况下,我有:
- AppA (WAR) - 主要 Web 应用程序
- AppB (WAR) - 次要子应用程序(实际上更多是一项功能),但人们将使用特殊路径(如“服务”)访问。
我不想运行 Apache HTTPD(或任何其他附加服务层)。我还想在 tomcat 级别使它看起来不那么简单,而不是试图通过入口网络/waf/etc 或通过应用程序本身来伪造它(允许开发人员处理其他需要的编码)。
我真正想要的是以一种可以自行处理的方式配置 Tomcat:
- 用户可以访问https://host.com/AppA
- 如果用户转到https://host.com/AppA/service(它指向 AppB,但用户永远不会看到“AppB”的 WAR 名称 - 将 WAR 名称更改为“service”,则完全可以使用该功能,如果这样可以节省一些理智)
现在我尝试遵循虚拟主机配置 (https://tomcat.apache.org/tomcat-8.0-doc/virtual-hosting-howto.html),在此处稍作更改,看看我是否可以使它适合我的需要......并且......它失败了,但我认为如果 tomcat 可以做到这一点,我可以去那里。
到目前为止我已经尝试过:
- 更新了 [tomcat]/conf/server.xml 并添加了条目。
- 添加了一个新的类似于“webapps”的文件夹,名为 [tomcat]/AppBapp(AppB.war 位于此处)
- 添加了 [tomcat]/conf/Catalina/localhost/AppB.xml 上下文文件。
我看过一些帖子,他们有点这样做,但方向相反(根 Web 目录指向一些自定义服务器路径)。我想我可以弄清楚这个配置,但我不得不问......这个策略是否适用于我试图用 tomcat 做的事情?还是我完全错了?
非常感谢您抽出宝贵时间。永远赞赏!
【问题讨论】:
-
写到目前为止AppA/servlet调用AppB/resource的代码
标签: java tomcat path war contextpath