6

我们想要更改 Tomcat Web 应用程序的上下文根目录,并让旧 URL 将用户引导到新命名的应用程序。

http://hostname/oldappname
http://hostname/newappname

一种方法是使用 newappname 的上下文根部署应用程序和使用 oldappname 的上下文根部署另一个应用程序,并让它引导用户到新的 URL。

这个简单的选项对我们不开放,公司内部政策禁止在同一个 Tomcat 实例中运行多个应用程序(不可协商)。

我记得 GlassFish 有一个“备用文档根”的概念,可用于为应用程序提供多个上下文根,知道如何在 Tomcat 中执行此操作吗?

4

2 回答 2

5

有一个名为ROOTunder的 Dir tomcat/webapps

这个ROOT“应用程序”最终会被那些“contextPath”与Webapps文件夹下的目录不同的URL调用。

所以你可以:

  1. 直接在“ROOT”文件夹下创建名为“oldappname”的文件夹。

  2. 在该“oldappname”文件夹中创建一个 index.html,并使其具有将浏览器重定向到新 URL 的 Javascript。

每当浏览器调用 http://servername/oldappname 时,tomcat 都会渲染: webapps/ROOT/oldappname/index.html

更新:

你可以用 ROOT 做一些有趣的事情:

Tomcat 6:如何更改 ROOT 应用程序

https://tomcat.apache.org/tomcat-7.0-doc/config/context.html

于 2015-05-27T18:56:54.333 回答
1

从 oldappname 重定向到 newappname 的 index.html 文件示例:

<html>
<head>
<script type="text/javascript">
window.location.href = "/newappname";
</script>
</head>
</html>

webapps/ROOT/oldappname由 Mecon 如上所述放置。

另请参阅:如何在 Tomcat 7.0 中设置 Web 应用程序的上下文路径

于 2019-02-07T17:26:10.053 回答