Java Tomcat-不使用ApacheHTTPD的嵌套webapp路径

Java Tomcat-不使用ApacheHTTPD的嵌套webapp路径,java,tomcat,path,war,contextpath,Java,Tomcat,Path,War,Contextpath,我又在尝试一些我可能不应该。。。但是通常我觉得这是可能的。这一次,我真的在祈祷 我有一个Tomcat8实例。在这方面,我有: AppA(WAR)-主要web应用程序 AppB(WAR)-辅助子应用程序(实际上更多的是一种功能),但人们将使用特殊路径(如“服务”)进行访问 我不想运行apachehttpd(或任何其他附加服务层)。我还想在tomcat级别使其看起来毫无意义,而不是试图通过ingress networking/waf/etc或通过应用程序本身来伪造它(允许开发人员处理其他需要的编

我又在尝试一些我可能不应该。。。但是通常我觉得这是可能的。这一次,我真的在祈祷

我有一个Tomcat8实例。在这方面,我有:

  • AppA(WAR)-主要web应用程序
  • AppB(WAR)-辅助子应用程序(实际上更多的是一种功能),但人们将使用特殊路径(如“服务”)进行访问
我不想运行apachehttpd(或任何其他附加服务层)。我还想在tomcat级别使其看起来毫无意义,而不是试图通过ingress networking/waf/etc或通过应用程序本身来伪造它(允许开发人员处理其他需要的编码)

我真正想要的是以一种能够自行处理的方式配置Tomcat:

  • 用户可以访问
  • 用户可以在转到时使用该功能(指向AppB,但用户不应该看到“AppB”的WAR名称-如果这样可以节省一些理智,将WAR名称更改为“服务”是完全可以接受的)
现在,我尝试按照虚拟主机配置()进行操作,但在这里做了一些小的更改,看看是否可以使其满足我的需要。。。而且。。。这是失败的,但我认为如果tomcat能做到这一点,我就能做到

到目前为止,我所尝试的:

  • 更新了[tomcat]/conf/server.xml,添加了一个条目
  • 添加了一个名为[tomcat]/AppBapp的类似“webapps”的新文件夹(AppB.war位于此处)
  • 添加了一个[tomcat]/conf/Catalina/localhost/AppB.xml上下文文件
我看到过一些帖子,它们是这样做的,但方向相反(根web目录指向一些自定义服务器路径)。我想我可以弄清楚这个配置,但我必须问。。。这个策略对我试图用tomcat做的事情有效吗?还是我完全错了

非常感谢你抽出时间。永远感激

事实上,您只需要Tomcat配置的嵌套上下文

这是在上讨论过的,您可以看看这是关于嵌套上下文的

根据我的理解,给出的解决方案依赖于两种上下文配置:

$TOMCAT_BASE/conf/Catalina/localhost/A.xml
$TOMCAT_BASE/conf/Catalina/localhost/A#service.xml

使用目录
webapps/A
webapps/A#service
(这一个包含部署的appB内容)。

编写代码到目前为止AppA/servlet调用appB/Resource我不确定我是如何错过关于这方面的帖子的。。。但这正是我的目标。谢谢@eugène adell!