将URLredirect到Tomcat中的其他Web应用程序

我正在运行tomcat 6.0,并有麻烦configuration它做我想要的…

我有两个Web应用程序,称为X和Y,部署为X.war和Y.war。 每个都有一个叫做blah的servlet。

所以我可以像这样访问它们: http:// server / X / blah http:// server / Y / blah

我想要做的是假装他们是一个Web应用程序Z,并能够做到这一点:

http:// server / Z / X / blah – >就好像我去了http:// server / X / blah

http:// server / Z / Y / blah – >就好像我去了http:// server / Y / blah

所以我改变了(catalina_home)/conf/Catalina/localhost/X.xml,如下所示:<context override =“true”path =“/ Z / X”reloadable =“false”>

然而,这并没有奏效。 当去http://服务器/ Z / X /等等我得到“所请求的资源(/ Z / X /等等)不可用。

我哪里错了?

另一种方法是通过ajp在apache后面设置tomcat。 然后,使用mod_proxy_ajp将http:// server / Z /映射到ajp:// server /。

如果在server.xml添加Context ,它将会按照你的想法工作。

 <Context docBase="x" path="/z/x" reloadable="true" /> 

Tomcat文档不推荐这种方法,因为对server.xml任何更改都意味着重新启动服务器会干扰所有Web应用程序。

但是另一方面,像Catalina_Home/conf/Catalina/localhost/context.xml那样保持这种习惯的做法与其他人所报道的一样不可靠。

请参阅https://stackoverflow.com/questions/4032773/why-does-tomcat-replace-context-xml-on-redeploy&#x548C;

为什么tomcat像删除我的context.xml文件?