当前位置: 首页 > 知识库问答 >
问题:

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

东郭鹤龄
2023-03-14

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

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

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

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

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

共有2个答案

谷梁宜
2023-03-14

索引示例。要从oldappname重定向到newappname的html文件:

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

如Mecon上文所述,放置在webapps/ROOT/oldappname中。

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

唐博文
2023-03-14

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

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

所以你可以:

>

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

    创建索引。在“oldappname”文件夹中添加html,并使其具有Javascript以将浏览器重定向到新URL。

    每当浏览器调用<代码>http://servername/oldappname,tomcat将呈现:webapps/ROOT/oldappname/index。html

    更新:

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

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

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

  •  类似资料:
    • 关于我的问题的一些背景情况是,我们有一个tomcat应用程序在独立的tomcat中的“/context”下运行。我们让apache坐在前面,加密tomcat服务器上的通信量,并将“/”请求映射到“/context”。我刚刚对tomcat应用程序进行了重做,以便在spring Boot中运行。我们正在做的是使用spring boot构建一个包含原始war的可执行war文件。当我们执行新的war文件时

    • 我正在使用application.properties文件中指定的Spring Boot上下文路径,它工作得很好 Spring Boot 2.0及以上版本

    • Tomcat文档列出了定义上下文的三个位置: 实际上,如果我在目录中添加一个空白的文件,那么当我访问相同的JSP文件时,Tomcat将返回一个404。

    • 让spring boot 1.3.x应用程序在application.properties中定义server.context-path=/myPath,并按照Java spring boot中定义重定向请求:如何将我的应用程序根(“/”)映射到index.html? 使用viewControllerRegistry.addViewController(“/”).setViewName(“forwa

    • 同时,Puppy资源将更多地位于webMvc级别,并加载到DispatcherServlet的上下文中。 从我刚才读到的内容(现在我很有希望理解)来看,根上下文实际上是DispatcherServlet创建的上下文的‘父’上下文。这意味着根上下文中的bean实际上可以自动连接/注入到DispatcherServlet创建的上下文中的任何bean中。我只是了解了“嵌套”上下文的概念。这准确吗? 如果

    • 我有一个Spring Boot应用程序,其中的上下文路径如下: context-path=/data 我如何才能确保重定向工作的域名以及?