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

如何利用spring boot将根上下文映射到嵌入式tomcat中的webapp上下文

高慈
2023-03-14

关于我的问题的一些背景情况是,我们有一个tomcat应用程序在独立的tomcat中的“/context”下运行。我们让apache坐在前面,加密tomcat服务器上的通信量,并将“/”请求映射到“/context”。我刚刚对tomcat应用程序进行了重做,以便在spring Boot中运行。我们正在做的是使用spring boot构建一个包含原始war的可执行war文件。当我们执行新的war文件时,它的主要方法将创建一个嵌入式tomcat实例,并在原始上下文上部署我们的原始war文件。我们正在使用与TomcatEmbeddedServletContainerFactory协同工作的代码来完成此操作。

我的问题是,在这个新的设置中,将请求重定向到“/”到“/context”的最简单的方法是什么?我尝试在unpack目录中创建一个“root”文件夹,但我无法获得嵌入式tomcat来为其中的任何文件提供服务。不再有apache和独立的Tomcat。

共有1个答案

湛玄裳
2023-03-14

好吧,我想我解决了我自己的问题。我所要做的就是添加一个@RequestMapping,它将“/”带到我想要的上下文路径。我不知道如何做到这一点,因为我们使用spring-boot的时间不长,我们只是在其中部署我们的遗留war,我不熟悉如何使用web特性。

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

  • 我们希望更改Tomcat Web应用程序的上下文根,并让旧URL将用户引导到新命名的应用程序。 一种方法是部署上下文根为newappname的应用程序和另一个上下文根为oldappname的应用程序,并让它引导用户找到新的URL。 这个简单的选项对我们不开放,公司内部政策禁止在同一个Tomcat实例中运行多个应用程序(不可协商)。 我记得GlassFish有一个“备用文档根”的概念,可用于为应用程

  • } 我正在使用spring boot,并尝试用一个为数据源创建JNDI上下文的嵌入式tomcat启动: 如果删除@ImportResource,我的应用程序就可以正常启动。我可以连接到tomcat实例。我可以检查我所有的执行器endpoint。使用JConsole,我可以连接到应用程序,我可以在MBeans中看到我的数据源(Catalina->Resource->Context->“/”->Loc

  • 因此,如您所见,键的名称从name1->myCustomClassName1(该类的名称)改为name1->myCustomClassName1。所以我的问题是如何在map属性中定义自定义键名?

  • 然而,编译阶段(生成实现)花费了很多时间(只有20个文件,大约15分钟,我需要包含更多的文件)。 我无法“重用”现有映射器,因为我无法“发送”使用以下内容的上下文: 那么,是否有一个优化选项来减少所需的时间量呢?是否有一种方法将上下文传递到“内部映射器”(在上面的示例B_Mapper中)中? 在几个实体/DTO中有更多的“列和双向关系”。 转换器:

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