Spring Boot将WAR文件部署到Tomcat(十一)

Spring Boot教程之二十五: 使用 Tomcat 部署项目 Tomcat 是默认的 Spring Boot 服务器,它可以在同一个应用程序中管理多个应用程序,从而避免在单个应用程序中为每个应用程序进行多次设置。由于这是一个简单的例子,我们只需展示一下调用“geeks-web-services/hello”时显示的内容,Hello Geek,这是一个简单的问候消息,祝您有个美好的一天。在本文中,我们将创建一个简单的 Spring Boot 应用程序,其中我们将使用 Tomcat 服务器部署该应用程序。而且我们的 war 文件也部署在 tomcat 中。 阅读详情

这篇博文主要用于新手学习Spring Boot,同时也记录自己学习的过程…
文章内容主要来源于易百教程

在本文中,将演示如何将Spring Boot WAR文件部署到Tomcat servlet容器中。
对于Spring Boot WAR部署,需要执行三个步骤:

  • 列表内容扩展SpringBootServletInitializer
  • 根据提供标记嵌入式servlet容器。
  • 更新包装为War

测试工具:

  • Spring Boot2.0.3.RELEASE
  • Tomcat 8.5.32
  • Maven 3

注意
在Spring Boot中,具有嵌入服务器解决方案的最终可执行JAR文件可能不适合所有生产环境,特别市部署团队(具有良好的服务器优化和监控技能知识,但缺乏开发经验的团队),他们希望完全控制服务器,并且不能接触代码。

1. 推展SpringBootServletInitializer
使现有的@SpringBootApplication类扩SpringBootServletInitializer

1.1 - 经典Spring Boot JAR部署(更新此文件以支持WAR部署)
SpringBootWebApplication.java文件的内容如下-

import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class SpringBootApplication{
    public static void main(String[] args) throws Exception{
        SpringApplication.run(SpringBootWebApplication.class,args);
    }
}

1.2 Spring Boot WAR部署
SpringBootWebApplication.java文件的内容如下-

package com.th;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;


@SpringBootApplication
public class SpringBootApplication extends SpringBootServletInitializer{

    protected SpringApplicationBuilder configure(SpringApplicationBuilder application){
        return application.sources(SpringBootWebApplication.class);
    }
    public static void main(String[] args)throws Exception{
        SpringApplication.run(SpringBootWebApplication.class,args);
    }

}
/*@SpringBootApplication
public class SpringBootWebApplication {

    public static void main(String[] args) throws Exception {
        SpringApplication.run(SpringBootWebApplication.class, args);
    }

}*/

如果要为部署创建了一个额外的SpringBootWebApplication类,请确保告诉Spring Boot要从哪个主类开始启动程序:
在pom.xml文件中增加以下内容指定-

<properties>
      <start-class>com.th.NewSpringBootWebApplicationForWAR</start-class>
</properties>

2. 提供标记嵌入式servlet容器
在pom.xml文件中增加以下内容指定-

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-thymeleaf</artifactId>
    </dependency>

<!-- marked the embedded servlet container as provided -->
<!-- 打war包时加入此项, 告诉spring-boot tomcat相关jar包用服务器的,不打成jar -->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-tomcat</artifactId>
        <scope>provided</scope>
    </dependency>
</dependencies>

Scope选项

范围描述
compile(编译范围)compile是默认的范围;如果没有提供一个范围,那该范围的范围就是编译范围。编译范围依赖在所有的classpath中可用,同时它们也会被打包。
provided(以提供范围)provided依赖只有在当JDK或者一个容器已提供该依赖之后才使用。例如,如果你开发了一个web应用,你可能在编译classpath中需要可用的Servlet APT来编译一个servlet,但是你不会想要在打包好的WAR中包含这个Servlet API;这个Servlet API JAR由你的应用服务器或者servlet容器提供。已提供范围的依赖在编译classpath(不是运行时)可用。它们不是传递性的,也不会被打包。
runtime(运行时范围)runtime依赖在运行和测试系统的时候需要,但在编译的时候不需要。比如,你可能在编译的时候只需要JDBC API JAR,而只有在运行的时候才需要JDBC驱动实现。
test(测试范围)test范围依赖在编译和运行时都不需要,它们只有在测试编译和测试运行阶段可用。
system(系统范围)system范围依赖与provided类似,但是你必须显式的提供一个对于本地系统中JAR文件的路径。这么做是为了允许基于本地对象编译,而这些对象是系统类库的一部分。这样的构件应该是一直可用的,Maven也不会在仓库中去寻找它。 如果你将一个依赖范围设置成系统范围,你必须同时提供一个systemPath元素 。注意该范围是不推荐使用的(应该一直尽量去从公共或定制的Maven仓库中引用依赖)。

3. 更新包装为War
在pom.xml文件中增加以下内容指定-

<packaging>war</packaging>

完成,mvn打包并将$project/target/xxx.war复制到Tomcat发布目录进行部署。

4. 完整的Spring Boot WAR+Tomcat部署
4.1 -以Spring Boot Thymeleaf为例,更新它并手动部署到Tomcat。
4.2-更新现有的SpringBootWebApplication并让它扩展SpringBootServletInitializer类。SpringBootWebApplication.java文件的完整代码如下所示-

package com.th;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.support.SpringBootServletInitializer;

@SpringBootApplication
public class SpringBootWebApplication extends SpringBootServletInitializer {

    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
        return application.sources(SpringBootWebApplication.class);
    }

    public static void main(String[] args) throws Exception {
        SpringApplication.run(SpringBootWebApplication.class, args);
    }

}

4.3 -更新打包,并按提供的标记spring-boot-starter-tomcat。
pom.xml文件的完整代码如下所示-

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <artifactId>spring-boot-web-thymeleaf</artifactId>
    <packaging>war</packaging>
    <name>Spring Boot Web Thymeleaf Example</name>
    <description>Spring Boot Web Thymeleaf Example</description>
    <version>1.0</version>
    <url>http://maven.apache.org</url>

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.0.3.RELEASE</version>
    </parent>

    <properties>
        <java.version>1.8</java.version>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-core</artifactId>
            <version>5.0.2.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-beans</artifactId>
            <version>5.0.2.RELEASE</version>
            <scope>compile</scope>
        </dependency>

        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <version>5.0.2.RELEASE</version>
        </dependency>
        <!-- This is a web application -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <!-- Tomcat embedded container -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-tomcat</artifactId>
            <scope>provided</scope>
        </dependency>

        <dependency>
            <groupId>taglibs</groupId>
            <artifactId>standard</artifactId>
            <version>1.1.2</version>
        </dependency>

        <!-- Need this to compile JSP, tomcat-embed-jasper version is not working, 
            no idea why -->
        <dependency>
            <groupId>org.eclipse.jdt.core.compiler</groupId>
            <artifactId>ecj</artifactId>
            <version>4.6.1</version>
            <scope>provided</scope>
        </dependency>

        <!-- Optional, test for static content, bootstrap CSS -->
        <dependency>
            <groupId>org.webjars</groupId>
            <artifactId>bootstrap</artifactId>
            <version>3.3.7</version>
        </dependency>

        <!-- jasper是将jsp转化为jvm 能识别的class.java 文件 -->
        <dependency>
            <groupId>org.apache.tomcat.embed</groupId>
            <artifactId>tomcat-embed-jasper</artifactId>
            <scope>provided</scope>
        </dependency>

    </dependencies>
    <build>
       <!-- 打成war之后的项目名称 -->
        <finalName>springboot</finalName>

        <plugins>
            <!-- Package as an executable jar/war -->
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-war-plugin</artifactId>
                <configuration>
                    <warSourceExcludes>src/main/resources/**</warSourceExcludes>
                    <warName>springboot</warName>
                </configuration>
            </plugin>
        </plugins>
    </build>
</project>

4.4 - application.properties文件的完整内容如下-

spring.mvc.view.prefix=/WEB-INF/jsp/
spring.mvc.view.suffix=.jsp

welcome.message=Hello Nicole Tang

4.5 - 完整的项目目录结构-
这里写图片描述

4.6 -获取Tomcat并部署WAR文件,执行以下命令-

D:\workspace\spring-boot-web-thymeleaf>mvn clean package
[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building Spring Boot Web Thymeleaf Example 1.0
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- maven-clean-plugin:3.0.0:clean (default-clean) @ spring-boot-web-thymeleaf ---
[INFO] Deleting D:\workspace\spring-boot-web-thymeleaf\target
[INFO]
[INFO] --- maven-resources-plugin:3.0.1:resources (default-resources) @ spring-boot-web-th
ymeleaf ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] Copying 1 resource
[INFO] Copying 1 resource
[INFO]
[INFO] --- maven-compiler-plugin:3.7.0:compile (default-compile) @ spring-boot-web-thymele
af ---
[INFO] Changes detected - recompiling the module!
[INFO] Compiling 2 source files to D:\workspace\spring-boot-web-thymeleaf\target\classes
[INFO]
[INFO] --- maven-resources-plugin:3.0.1:testResources (default-testResources) @ spring-boo
t-web-thymeleaf ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] skip non existing resourceDirectory D:\workspace\spring-boot-web-thymeleaf\src\test
\resources
[INFO]
[INFO] --- maven-compiler-plugin:3.7.0:testCompile (default-testCompile) @ spring-boot-web
-thymeleaf ---
[INFO] Nothing to compile - all classes are up to date
[INFO]
[INFO] --- maven-surefire-plugin:2.21.0:test (default-test) @ spring-boot-web-thymeleaf --
-
[INFO] No tests to run.
[INFO]
[INFO] --- maven-war-plugin:3.1.0:war (default-war) @ spring-boot-web-thymeleaf ---
[INFO] Packaging webapp
[INFO] Assembling webapp [spring-boot-web-thymeleaf] in [D:\workspace\spring-boot-web-thym
eleaf\target\springboot]
[INFO] Processing war project
[INFO] Copying webapp resources [D:\workspace\spring-boot-web-thymeleaf\src\main\webapp]
[INFO] Webapp assembled in [468 msecs]
[INFO] Building war: D:\workspace\spring-boot-web-thymeleaf\target\springboot.war
[INFO]
[INFO] --- spring-boot-maven-plugin:2.0.3.RELEASE:repackage (default) @ spring-boot-web-th
ymeleaf ---
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 8.080 s
[INFO] Finished at: 2018-08-07T15:24:15+08:00
[INFO] Final Memory: 33M/276M
[INFO] ------------------------------------------------------------------------

D:\workspace\spring-boot-web-thymeleaf>

将生成的springboot.war拷贝到Tomcat发布目录下-
这里写图片描述
例如,写本文章时,Tomcat 发布目录使用的是 –
D:\apache-tomcat-8.5.32\webapps
这里写图片描述
现在点击startup.bat,启动 Tomcat,访问:http://localhost:8080/springboot/ ,程序没有错误问题,应该会看到以下结果 –
这里写图片描述
这里写图片描述




相关文章:

Spring Tool Suite 发布 Spring boot 打包好的war 部署到tomcat下面 概述:大家都指导spring boot 打包好的是jar  不是所谓的war ,但是很多时候是都自动化部署到tomcat 的war 下面。所以要设置发布war  1.找到需要打包项目下面的pom 下面,修改jar 为war 包。 &lt;packaging&gt;war&lt;/packaging&gt; &lt;!--第一步: jar 变为war &lt;packaging&gt... 阅读详情

相关推荐

将Spring Boot项目部署到本地Tomcat中

说明 最近在学Spring Boot,SpringBoot项目自带tomcat,现在需要将项目部署到本地的tomcat运行,记录总结下解决方法 正文 要将Spring Boot项目部署到本地的tomcat中,需要改动三个地方: 一 、将jar改为war Spring Boot 项目创建时自动配置打为jar包,要部署到本地,需要改为war包 二、引入servlet依赖 &lt;...

wds的博客 6560

tomcat java 11_Tomcat系列(11)——Tomcat 部署web应用的4种方法

核心内容1.在Tomcat中有四种部署Web应用的方式,分别是:(1)利用Tomcat自动部署(项目直接拷贝OR WAR包拷贝 到webapps下)(2)利用控制台进行部署(tomcat的manager控制台的deploy区域)(3)增加自定义的Web部署文件(%Tomcat_Home%\conf\Catalina\localhost\AppName.xml)(4)手动修改%Tomcat_Home...

weixin_40006779的博客 614

【项目实战】Spring Boot项目在外部tomcat环境下部署(如何基于Spring Boot将项目打包成war包,并且部署到tomcat中)

别人写好的类,并且打包好了,你可以用这些jar包。引入到你的项目中,然后你就可以直接使用这些jar包中的类还有属性了,这类jar包一般放在lib目录下。Java Archive,Java 归档文件,JAR文件(Java Archive)通常包含一个或多个Java类文件和相关资源文件,如图像、声音等。它们主要用于将Java类库、应用程序和插件打包并分发给其他开发人员和使用者。与平台无关的文件格式,它允许将许多文件组合成一个压缩文件。JavaSE程序可以打包成Jar包。

奶爸的编程之路,也就一周冷个三天 2977

springboot源码理解十一、内嵌tomcat原理

默认Servlet容器 切换Servlet容器 内嵌tomcat自动配置原理 tomcat自动配置类 tomcat工厂类 何时被调用 onRefresh() finishRefresh() springboot版本:2.2.9.RELEASE。 默认Servlet容器 springboot默认支持tomcat、jetty、undertow作为底层容器, 一旦引入spring-boot-starter-web模块,就默认使用tomcat。

CaptainCats的博客 652

Spring Boot入门(27):Spring Boot轻松打包部署:制作war包并快速部署

springboot项目如何打成war包及部署?我一文教会你。

**My Coding Family** 3391

Spring Boot应用部署到外部Tomcat容器实战

Spring Boot是一种约定优于配置的Java框架,旨在简化新Spring应用的初始搭建以及开发过程。其最大的优势在于快速开发和独立运行。由于集成了大量的Starter POMs,Spring Boot能够自动配置项目中常用的模块,从而让开发者专注于业务逻辑的开发。

weixin_42527589的博客 1276

Spring Boot中Tomcat配置

在某些情况下,我们可能需要自定义Tomcat的连接器,以满足特定的安全需求或性能优化需求。这时,我们可以通过编写配置类来实现。@Bean// 可以添加其他自定义配置在这个配置类中,我们创建了一个自定义的Tomcat连接器,并将其添加到TomcatServletWebServerFactory中。通过这种方式,我们可以更灵活地控制Tomcat的行为。Tomcat连接器配置详解在Spring Boot项目中配置Tomcat是一个既简单又复杂的过程。

2401_84150811的博客 4089

ARM Cortex-M系列授权解析:从研发到量产的免费与付费之路

本文深入解析了ARM Cortex-M系列内核从研发到量产过程中的授权模式。研发阶段可利用ARM DesignStart等免费资源进行原型验证,但产品商业化量产则需支付授权费与版税。文章对比了采购商用MCU与自研芯片的成本差异,并探讨了RISC-V作为免费替代方案在IoT领域的应用前景与挑战,为开发者提供了清晰的选型指南。

weixin_29292431的博客 494

SpringBoot应用启动内置Tomcat的过程分析

Connector启动过程 Connector是Tomcat提供的类。 // 通过此 Connector 开始处理请求 @Override protected void startInternal() throws LifecycleException { // Validate settings before starting if (getPortWithOffset() < 0) { throw new LifecycleException(sm.getStri

JavaEdge全是干货的技术号 3031

了解你的GPU:深入探讨AMD SMI

2024年9月17日 作者:Matt Elliott对于使用AMD硬件的系统管理员和高级用户来说,性能优化和高效的资源监控至关重要。AMD系统管理界面命令行工具`amd-smi`正是为了解决这些需求而设计的。amd-smi是一个多功能的命令行工具,专门用于管理和监控AMD硬件,主要侧重于GPU。作为未来取代`rocm-smi`的工具,`amd-smi`有望成为跨广泛设备的AMD硬件管理的主要工具。

数字人生 4523

使用PaddleOCR识别查验平台验证码

PaddleOCR识别国税查验平台验证码

m0_63932300的博客 1269

Tomcat部署SpringBoot项目

pom.xml 里 加上

weixin_42562567的博客 986

CrackerXI+脱壳实战:解决iOS应用逆向中的加密文件问题

本文详细介绍了如何使用CrackerXI+工具对iOS应用进行脱壳,解决App Store应用因FairPlay DRM加密而无法进行静态分析的难题。通过图形化界面一键操作,CrackerXI+能高效获取解密后的可执行文件,为逆向工程奠定基础。文章涵盖工具选型、实战步骤及常见问题排查,是iOS逆向入门与进阶的实用指南。

seed的博客 258

Java 部署:Spring Boot 应用打包成 War 包(部署 Tomcat)

本文详细介绍了如何将Spring Boot应用从JAR包转换为WAR包部署到外部Tomcat服务器的完整流程。文章首先分析了WAR部署在企业环境中的必要性,包括合规要求、资源共享和遗留系统集成等场景。随后通过具体示例,逐步演示了关键改造步骤:修改打包方式为WAR、排除内嵌Tomcat依赖、调整启动类继承SpringBootServletInitializer、配置构建文件,并提供了本地测试和生产部署的实践指南。全文以Maven项目为例,兼顾Gradle配置说明,帮助开发者快速掌握Spring Boot应用的

千淘万漉虽辛苦,吹尽狂沙始到金 2万+

深度解析 Android 开发工程师岗位:技术栈、职责与面试全攻略

本文深度剖析Android开发工程师职位要求,从核心技术栈到面试准备进行全面解读。关键点包括:1)掌握Kotlin语言特性和Jetpack组件;2)具备UI开发、性能优化和逆向分析能力;3)理解MVVM架构和Room数据库;4)熟悉常用工具链和开发流程。文章提供了详细的面试题库及解析,涵盖基础概念、UI优化、架构设计等方向,并给出职业发展建议:夯实基础、拓展技术广度、培养工程素养。旨在帮助开发者系统性地准备Android岗位求职,把握移动开发领域的技术趋势。

郑伟强dev的专栏 173

LVGL 9Text Area 控件 (lv_textarea) 使用指南

是一个可编辑的文本输入控件,通常用于在用户界面中输入和编辑多行或单行文本。该控件支持文本插入、删除、光标控制、文本选择、密码输入等功能。它的文本内容可以通过键盘、API 或事件进行修改,还可以设置最大文本长度、占位符文本和密码模式等。是一个强大且灵活的文本输入控件,适用于多种用户输入场景,支持文本插入、删除、光标控制、密码输入等功能。通过 LittlevGL 提供的丰富 API,开发者可以自定义文本区域的外观和行为,实现复杂的文本输入需求。

m0_62599305的博客 1674

Spring Boot项目通过tomcat部署项目(包含jar包、war包)

本文介绍了SpringBoot项目的两种Tomcat部署方式:1)内置Tomcat打包为Jar,适合快速开发和独立部署;2)外置Tomcat打包为War,适合传统企业环境。详细说明了每种方式的配置步骤,包括pom.xml修改、入口类调整、打包命令等。重点对比了两种方式的优缺点,并提供了部署时的注意事项,如端口配置、依赖管理等。文章还简要介绍了Tomcat的发展历史和核心功能,帮助开发者根据实际需求选择合适的部署方案。

LMS2022223000的博客 1920

部署OpenClaw(ClawdBot、MoltBot)后访问localhost:18789报1008错误怎么办?

部署openclaw(曾用名ClawdBot、MoltBot)后访问localhost:18789出现1008授权错误❌?本文分享如何快速解决这个问题✅

XiaoqiangClub的博客 1万+

spring boot+maven项目打包成war包部署到tomcat【局域网内访问】

spring boot+maven项目打包成war包部署到tomcat

Be Like 1万+

【错误解决】本地计算机上的mysql服务启动停止后,某些服务在未由其他服务或程序使用时将自动停止

转载请注明出处:http://blog.youkuaiyun.com/qq_26525215 本文源自【大学之旅_谙忆的博客】 在启动mysql服务时出现该错误: 本地计算机上的mysql服务启动停止后,某些服务在未由其他服务或程序使用时将自动停止。mysql 版本 5.7.14 系统 win 7后来经过一系列的百度,谷歌,总算是解决了。首先,你需要把原来的服务删除:mysqld --remove mysq

谙忆-陈浩翔 12万+

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

Spring Boot:WEB项目,以WAR包形式部署到外部tomcat部署

配置步骤: 1、继承SpringBootServletInitializer 外部容器部署的话,就不能依赖于Application的main函数了,而是要以类似于web.xml文件配置的方式来启动Spring应用上下文,此时我们需要在启动类中继承SpringBootServletInitializer并实现configure方法: import org.springframework...

琦彦 3514

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

Spring Boot打war包部署Tomcat8.x

Spring boot默认打包方式为jar,生产环境大多数以war包的形式部署于tomcat下,因此需要将默认的打包方式改为war,需要修改两个文件,涉及以下代码: pom.xml 1、修改打包方式 <packaging>war</packaging> 2、引入servlet-api依赖 <dependency> <groupId>javax.s...

大道至简 1668

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

(spring boot)maven 打包war 部署到tomcat

spring boot maven 部署 tomcat

JasonHector的博客 1862

spring boot项目发布war包部署到tomcat

我有个spring boot项目,在intellij idea里运行得好地地,结果发布成war包,部署到tomcat里,报404,死活无法访问。 原因是,代码还少了点东西。在项目的启动类里,需要重载SpringBootServletInitializer.configure。原因是spring boot默认情况下使用了嵌入容器,支持项目的运行。但发布成war包,扔到tomcat里,就没有这个天然支...

左直拳的马桶_日用桶 2690

spring boot maven项目,导出war,部署到tomcat

1.启动类需要继承SpringBootServletInitializer,重写方法configure @ServletComponentScan @SpringBootApplication public class StartApplication extends SpringBootServletInitializer{ public static void main( S...

ZHANGLIZENG的博客 2705

Spring Boot –将WAR文件部署到Tomcat

在本文中,我们将向您展示如何创建Spring Boot传统WAR文件并将其部署到Tomcat Servlet容器。 在Spring Boot中,要创建用于部署的WAR,我们需要3个步骤: 扩展SpringBootServletInitializer 将嵌入式servlet容器标记为已提供。 更新包装以进行战争 经过测试 Spring Boot 2.1.2发布 T...

一名可爱的技术搬运工 285
上一篇: Spring Boot JSP应用实例(十)
下一篇: Spring Boot Hello World(Thymeleaf)示例(十二)
CZ__
博客等级 码龄9年 97粉丝 114原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值