我正在运行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和
为什么tomcat像删除我的context.xml文件?