当我们想将 SpringBoot 项目部署到 tomcat 容器中时,需要按照以下步骤进行:
1. 添加依赖
在 pom.xml 文件中添加如下依赖:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<scope>provided</scope>
</dependency>
这里重点解释一下 scope 为 provided 的作用,即表示该依赖由容器提供,不需要打包进生成的 war 包中。
2. 添加 ServletInitializer 类
在项目中创建一个类并继承 SpringBootServletInitializer 类,并重写 configure 方法。代码如下:
@SpringBootApplication
public class Application extends SpringBootServletInitializer {
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
return builder.sources(Application.class);
}
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
3. 打包 war 包
在 maven 中运行 mvn clean package ,将生成的 war 包放置到 tomcat 或其他容器的 webapps 目录下即可。
下面给出两个示例。
示例一
- 创建一个 SpringBoot 项目
- 在 pom.xml 文件中添加上述依赖,并将构建方式设置为 war
<packaging>war</packaging>
- 在项目中创建一个类并继承 SpringBootServletInitializer 类,并重写 configure 方法。
- 执行 mvn clean package 命令,在 target 目录下找到生成的 war 包
- 将 war 包放到 tomcat 容器的 webapps 目录下并启动 tomcat
- 在浏览器中访问 http://localhost:8080/{war包名}/ 即可看到页面显示
示例代码即以上述三个步骤中的代码为准。
示例二
此示例是对示例一的巩固练习。
- 进入示例一的项目目录
- 修改 application.properties 文件,添加以下内容:
spring.mvc.view.prefix=/WEB-INF/jsp/
spring.mvc.view.suffix=.jsp
- 创建一个 index.jsp 文件,并放入 WEB-INF/jsp 目录下
- 在 index.jsp 文件中编写以下内容:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Spring Boot项目在Tomcat中运行示例</title>
</head>
<body>
Hello, Spring Boot!
</body>
</html>
- 执行 mvn clean package 命令
- 将生成的 war 包放到 tomcat 容器的 webapps 目录下并启动 tomcat
- 在浏览器中访问 http://localhost:8080/{war包名}/ 即可看到页面显示 "Hello, Spring Boot!"。
示例代码中的 application.properties 和 index.jsp 文件即为步骤3和4中的内容。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:SpringBoot 项目如何在tomcat容器中运行的实现方法 - Python技术站