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

如何将Spring Boot应用程序部署到Tomcat 6 Servlet2.5

翁鸿远
2023-03-14

我使用spring Boot创建了一个FAQ。它需要部署到Tomcat6服务器(Servlet2.5)上。我需要配置当前的父java应用程序(war)web.xml,以将所有请求指向url模式“/FAQ/*”,例如,指向我的spring boot FAQ应用程序。我已经将faq.jar文件复制到父应用程序的lib文件夹中。但是我不确定如何在父应用程序的web.xml中配置/注册Spring Bootservlet和servlet映射。

使用spring boot遗留示例…我将spring boot应用程序与依赖项jar文件一起放置在父应用程序lib文件夹中。我将这个代码添加到父应用程序的web.xml中。

 <context-param>
     <param-name>contextConfigLocation</param-name>
     <param-value>faq.Application</param-value>
 </context-param>

  <listener>
      <listener-class>
          org.springframework.boot.legacy.context.web.SpringBootContextLoaderListener
      </listener-class>
  </listener>

  <filter>
      <filter-name>metricFilter</filter-name>
      <filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
  </filter>

<filter-mapping>
    <filter-name>metricFilter</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>

<servlet>
    <servlet-name>SpringServlet</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <init-param>
        <param-name>contextAttribute</param-name>
        <param-value>org.springframework.web.context.WebApplicationContext.ROOT</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
</servlet>

<servlet-mapping>
    <servlet-name>SpringServlet</servlet-name>
    <url-pattern>/</url-pattern>
</servlet-mapping>

2014年6月30日上午12:17:23 org.apache.catalina.core.standardContext listenerStart严重:异常向类org.springframework.boot.legacy.context.web.springbootContextLoaderListener的监听器实例发送上下文初始化事件java.lang.IllegalAccesserror:试图访问方法org.springframework.core.io.support.springframework.springframework.loader.loadfactoryNames(ljava/lang/class;从类org.springframework.boot.springapplication.getspringframework.boot.springapplication.getspringframework.getspringframework.getspringframework.getspringframework.getspringfactoriesinstances(springapplication.java:355)到org.springframework.boot.springapplication.getspringapplication.getspringfactoriesinstances(springapplication.java:346),到web.springbootContextLoaderListener.initWebApplicationContext(springbootContextLoaderListener.java:48)在org.springframework.web.context.contextLoaderListener.contextInitialized(contextLoaderListener.java:47)在org.apache.catalina.core.standardContext.listenerStart(standardContext.java:4779)在AVA:150)在org.apache.catalina.core.caintainerbase.addChildinal(containerbase.java:897)在org.apache.catalina.core.containerbase.addChild(containerbase.java:873)在org.apache.catalina.core.standardhost.addChild(standardhost.java:615)在org.apache.catalina.cartup.hostconfig.deployDirectory(hostconfig.java:1095),在util.concurrent.futureTask$sync.innerrun(FutureTask.java:303)at java.util.concurrent.futureTask.run(FutureTask.java:138)at java.util.concurrent.threadPoolExecutor$worker.runtask(ThreadPoolExecutor.javer:886)at java.util.concurrent.threadPoolExecutor$worker.runtask(ThreadPoolExecutor.java:908)at java.lang.thread.run

凯维凯夫

共有1个答案

周学义
2023-03-14

Spring Boot并不正式支持Servlet2.5,但使其工作并不需要太多时间。您可能会发现以下内容很有用:https://github.com/scratches/spring-boot-legacy。这里的示例:https://github.com/scratches/spring-boot-sample-gae。

 类似资料:
  • 完成干净的构建后,我将war文件复制到Tomcat的文件夹中。但是部署会发生两次,并且在上下文已经存在的情况下以异常结束。我错过了什么? 非常感谢您的帮助。

  • 我想第一次使用docker发布我在spring boot中制作的应用程序。然而,在发布时出现了一个问题。 因此,我上传到conter的图像不显示。 以下是我采取的步骤,我将立即添加我使用gradle的步骤。 > 我将Docker插件下载到IntelliJ 我创建了一个Dockerfile,其中我放了: 音量 /tmp ARG JAR_文件 在终端中,我键入以下命令来构建项目: chmod 777

  • 我有一个Java web应用程序,在我的jar文件中嵌入了Tomcat。我可以用Docker容器化应用程序,并用命令java-jar-myapp.jar运行它,但我不能在Heroku中运行那个容器。我尝试使用heroku CLI进行dockerize和部署,但heroku给了我一个“无法访问jarfile”的错误。 我试图通过使用heroku deploy:jar部署我的fat jar来解决这个问

  • 我有带pom的spring boot应用程序。xml 所以,我需要构建war并将其部署到websphere上。但部署后,会出现错误消息: 脚本计数=1048576 ************* 结束显示当前环境 ************* [9/20/18 18:35:17:893 MSK] 00000089 ecs Wcom.ibm.ws.ecs.internal.scan.context.imp

  • 我正试图将一个。NET5项目部署到google app engine上,但当我想用。NET5运行时构建时,它似乎有一个问题。

  • 问题内容: 我正在尝试在Heroku上使用Flask开发我的第一个“大型”应用程序,并尝试将此处的基本教程与以下说明结合:https : //devcenter.heroku.com/articles/python与以下说明:http:// flask.pocoo.org/docs/patterns/packages/#larger- applications。它在本地与“先行启动”一起工作,但是

  • 问题内容: 我刚刚开始学习Docker,并且尝试在Windows上使用boot2docker进行简单设置。我在任何教程或在线示例中都找不到如何使boot2docker VM可访问我的项目文件的方法。 我下载了boot2docker,并成功安装并启动并运行它。我也可以使用SSH并运行hello world docker示例,因此我知道我在VM中安装了有效的Docker。 现在,问题是 :如何在boo