嵌入式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{@Overrideprotected 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.启动服务器