Tomcat - 将旧的上下文根重定向到新的上下文根

时间:2015-05-27 18:42:54

标签: java tomcat servlets contextroot

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

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

执行此操作的一种方法是使用newappname的上下文根和具有oldappname上下文根的另一个应用程序部署应用程序,并让用户引导用户访问新URL。

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

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

2 个答案:

答案 0 :(得分:4)

ROOT下有一个名为tomcat/webapps的目录。

对于那些“contextPath”与Webapps文件夹下的目录不同的URL,最终会调用此ROOT“app”。

所以你可以:

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

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

  3. 每当浏览器调用http://servername/oldappname时,tomcat将呈现:webapps/ROOT/oldappname/index.html

    更新:

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

    Tomcat 6: How to change the ROOT application

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

答案 1 :(得分:0)

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

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

要按照上面的Mecon放置在webapps/ROOT/oldappname中。

另请参阅:How to set the context path of a web application in Tomcat 7.0