当前位置: 首页 > article >正文

SpringBoot使用外置的Servlet容器(详细步骤)

嵌入式Servlet容器:应用打成可执行的jar

优点:简单、便携;

缺点:默认不支持JSP、优化定制比较复杂.;

外置的Servlet容器:外面安装Tomcat---应用war包的方式打包;

操作步骤:

方式一:创建一个MavenJava的项目进行修改

1.首先创建一个mavenJava的项目

2.修改配置文件 pom.xml

  • 将打包方式改为war
  • 导入父工程依赖
  • 导入相关的SpringBoot依赖
  • 将嵌入式的Tomcat指定为provided

<?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>

    <!--添加父工程目录-->
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.5.6</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>


    <groupId>com.qcby</groupId>
    <artifactId>springBootTomcat</artifactId>
    <version>1.0-SNAPSHOT</version>
    <packaging>war</packaging>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <!--<dependency>-->
            <!--<groupId>org.springframework.boot</groupId>-->
            <!--<artifactId>spring-boot-starter-thymeleaf</artifactId>-->
        <!--</dependency>-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-tomcat</artifactId>
            <scope>provided</scope>
        </dependency>
    </dependencies>
</project>

 3. 创建三级包,创建启动类

package com.qcby.springBootTomcat;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

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

}

4. 配置项目的目录结构

success2.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>success2</title>
</head>
<body>
 <h1>外置Tomcat</h1>
</body>
</html>

web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
         version="3.1">

</web-app>

5.设置项目结构

设置项目结构的两种方式

1:适用于较低版本的idea

2.File ---> Project Structure 

进行设置

Apply -->OK

然后就可以进行项目部署了

需要注意这个位置

6.编写一个配置类,并调用configure方法

package com.qcby.springBootTomcat;

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

public class ServletInitializer extends SpringBootServletInitializer{
    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
        return builder.sources(SpringBootTomcatApplication.class);
    }
}

7.配置视图解析

8.启动服务器

执行结果

方式二:直接创建一个Spring项目,将打包方式改为war包

1.将项目改为war包的原因

因为现在将Tomcat换成外置的项目,因此SpringBoot无法进行自动配置,因此需要将项目打包成war包

2.将嵌入式的Tomcat指定为provided

3.配置项目的目录结构

配置项目的目录结构

 

 

 

 

4. 必须编写一个SpringBootServletInitializer的子类,并调用configure方法

5.配置yml文件,指定视图解析的相关配置

6.启动服务器

 


http://www.kler.cn/a/457214.html

相关文章:

  • WebSocket封装
  • 【SpringMVC】拦截器
  • 正则表达式 - 运算符优先级
  • PyAudio库基本知识详解——为自制PCM音频播放器做准备
  • linux自动化批量分发SSH密钥同时批量测试SSH连接教程(包含自动化脚本代码)
  • lua-debug for Sublime
  • CH340系列芯片驱动电路·CH340系列芯片驱动!!!
  • 鸿蒙next之如何实现防截屏功能
  • 在 CentOS 系统上安装 ClickHouse
  • Es搭建——单节点——Linux
  • 【FPGA】ISE13.4操作手册,新建工程示例
  • 嵌入式学习-硬件基础-Day02
  • 深入理解 Cookie 和 Session 在 Java Web 中的应用
  • Unity 实现Canvas显示3D物体
  • 18_HTML5 Web IndexedDB 数据库 --[HTML5 API 学习之旅]
  • 神经网络-Inception
  • vscode vue文件 点击ctrl没有跳转到有@路径的自定义组件
  • React Diffing 算法完整指南
  • 精读DeepSeek v3技术文档的心得感悟
  • ensp 关于ARRP 的讲解 配置
  • 【WSL】Ubuntu 24.04 安装配置docker
  • Lua语言的计算机基础
  • 基于aspose.words组件的word bytes转pdf bytes,去除水印和解决linux中文乱码问题
  • EsChatPro 接入国内 DeepSeek 大模型
  • vue3点击按钮出现右抽屉组件vue页面
  • Linux复习3——管理文件系统2