加载应用:TomcatServer类会加载SpringBoot应用,包括加载所有的Bean定义、配置等。 启动Tomcat:TomcatServer类会启动Tomcat服务器,并监听指定的端口。此时,你的SpringBoot应用已经可以在外部Tomcat容器中运行了。 处理请求:当外部Tomcat接收到请求时,它会将请求传递给SpringBoot应用处理。处理完请求后,响应会被返回给外部Tomca...
Springboot支持通过简单的配置,可以将Spring Boot应用打成war包布署到外部Tomcat环境下; 1、通过idea工具创建springboot应用,注意将打包方式修改为war包; 发现创建好的项目中多了一个类:ServletInitializer extends SpringBootServletInitializer, 必须要继承SpringBootServletInitializer,固定的格式。 2、打开pom文件查看打包方式...
如果要将最终的打包形式改为war的话,还需要对pom.xml文件进行修改,因为spring-boot-starter-web中包含内嵌的tomcat容器,所以直接部署在外部容器会冲突报错。这里有两种方法可以解决,如下 方法一: 在这里需要移除对嵌入式Tomcat的依赖,这样打出的war包中,在lib目录下才不会包含Tomcat相关的jar包,否则将会出现启动错误。
一般情况下,我们开发 SpringBoot 项目,由于内置了Tomcat,所以项目可以直接启动 (使用内置 Tomcat 的话,可以在 application.yml 中进行相关配置) 但是有时我们会需要打包成 war 包,放入外置的 Tomcat 中进行运行(我的 SpringBoot 版本为 2.6.7,Tomcat 的版本为 9.0.74,编译器是IDEA) Tips:我也是第一次将SpringBo...
本文分析了 Spring Boot 应用被打成 war 包后是如何支持放入外部 Tomcat 容器运行的,原理也比较简单,借助 Spring MVC 中的 SpringServletContainerInitializer 这个类,它实现了 Servlet 3.0 新增的 javax.servlet.ServletContainerInitializer 接口 通过 Java 的 SPI 机制,在 META-INF/services/javax.servlet.Servlet...
SpringBoot应用默认以Jar包方式并且使用内置Servlet容器(默认Tomcat),该种方式虽然简单但是默认不支持JSP并且优化容器比较复杂。故而我们可以使用习惯的外置Tomcat方式并将项目打War包。 【1】创建项目并打War包 ① 同样使用Spring Initializer方式创建项目 ② 打包方式选择"war" ...
二、Spring Boot外部tomcat部署 外部容器部署,不能依赖于Application的main函数,而是要以类似于web.xml文件配置的方式来启动Spring应用上下文,需要在启动类中继承SpringBootServletInitializer并实现configure方法。 A、启动类 packagetop.cfish.api.mock;importtop.cfish.api.mock.utils.aop.AopConfig;importorg.springframew...
(4)外置Tomcat:8.5.57 1.2 准备工作 (1)下载Tomcat,确保外置的Tomcat可以正常的启动,注意Tomcat的版本号最好是和Spring Boot相应的版本的Tomcat和JDK的版本号对应,免得碰到奇奇怪怪的问题。 (2)准备一个Spring Boot项目,确保以及配置好了war包的打包形式了,这一个步骤可以参考文章: 《SpringBoot引入外部jar包,项目...
想要把spring-boot项目按照平常的web项目一样发布到tomcat容器下需要进行下列几个步骤: 一、修改打包形式 在pom.xml里设置 代码语言:javascript 复制 <packaging>war</packaging> 二、移除嵌入式tomcat插件 在pom.xml里找到spring-boot-starter-web依赖节点,在其中进行如下修改: ...