自学内容网 自学内容网

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.启动服务器

 


原文地址:https://blog.csdn.net/2301_81453175/article/details/144793809

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!