0

我有 Web 应用程序 abc.war,我想将它部署在 Apache Tomcat 上。问题是,默认情况下,此应用程序的路径是http://<server-name>/abc 但我想以http://<server-name>/xyz 的形式访问它。

我将文件 context.xml 放入 WAR 的 META-INF 文件夹:

<Context path="/xyz" docBase="abc" override="true" />

应用程序 WAR abc.war 位于%CATALINA_HOME%\webapps下,它被提取到%CATALINA_HOME%\webapps\abc文件夹。

此外,在部署时,来自abc/META-INF的文件 context.xml 将作为 abc.xml复制到%CATALINA_HOME%\conf\Catalina\localhost

看来这应该可行,但我仍然无法通过http://<server-name>/xyz访问我的应用程序,而只能通过http://<server-name>/abc

此外,在部署 abc.war 时,我仍然在 apache 日志中看到以下行: context path = /abc

任何人都可以在这不起作用时提供帮助,或者告诉是否有任何方法可以在 apache 上部署 Web 应用程序,以便可以通过自定义路径访问应用程序(与战争文件名无关)?

提前致谢。

4

1 回答 1

0

看看文档

此 Web 应用程序的上下文路径,与每个请求 URI 的开头相匹配,以选择适当的 Web 应用程序进行处理。特定主机中的所有上下文路径都必须是唯一的。如果您指定空字符串 ("") 的上下文路径,则您正在为此主机定义默认 Web 应用程序,它将处理所有未分配给其他上下文的请求。

除非在 server.xml 中静态定义 Context时,否则不得设置此字段的值,因为它将从用于.xml 上下文文件docBase的文件名中推断出来。

于 2010-06-16T20:11:35.300 回答