如何在Tomcat中将多个上下文映射到同一个war文件?
我正在使用tomcat部署我的应用程序,我想作为一次战争部署到服务器多个上下文路径。
目前,我有app1.war和app2.war,但是两者的内容相同,只是通过http:///
app1和http:///app1.war访问的名称不同。但是我想这样做,部署app.war并通过app1和app2上下文路径访问它。是否可以在tomcat中进行?请帮助我
回答:
这可以通过几种方式来完成。我认为这种方式是最直接的:
- 将WAR文件移到
webapps/
自动部署目录之外 META-INF/context.xml
从您的WAR文件中提取。如果你的战争没有一个META-INF/context.xml
文件,只用一个文件,只是<Context />
在它- 将此文件复制到Tomcat的
conf/[service]/[host]/
目录都app1.xml
和app2.xml
。([service]通常是“ Catalina”,[host]就是您的虚拟主机的名称:在默认的Tomcat配置中,主机名始终为“ localhost”)。 - 两者都进行编辑
app1.xml
,app2.xml
并设置元素的docBase
属性<Context>
以指向您在步骤1中移动的WAR文件。 - 重新启动Tomcat
这应该为您提供单个物理WAR文件以及从中部署的多个上下文。
尽管Tomcat支持此配置,但我还是建议您反对:磁盘空间便宜,运行时不会更改任何内容(您仍然会获得内存中所有内容的两个副本),并且失去了将不同的WAR文件部署到不同的上下文和/或更新的灵活性。分别修改它们,而无需修改
两个 上下文的配置。
如果您需要我的建议,请坚持复制WAR文件。
以上是 如何在Tomcat中将多个上下文映射到同一个war文件? 的全部内容, 来源链接: utcz.com/qa/413791.html