《开启微服务之旅:Spring Boot Web开发》(三)

    1. 使用外置的 Servlet 容器

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

优点:简单、便携;

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

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

步骤

1)、必须创建一个war项目;(利用idea创建好目录结构)

2)、将嵌入式的Tomcat指定为provided;

|--------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring‐boot‐starter‐tomcat</artifactId> <scope>provided</scope> </dependency> |

3)配置项目的目录结构

4)部署Tomcat

3)、必须编写一个SpringBootServletInitializer的子类,并调用configure方法

|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| public class ServletInitializer extends SpringBootServletInitializer { @Override protected SpringApplicationBuilder configure(SpringApplicationBuilder application) { //传入SpringBoot应用的主程序 return application.sources(SpringBoot04WebJspApplication.class); } } |

4)、启动服务器就可以使用;

原理

jar包:执行SpringBoot主类的main方法,启动ioc容器,创建嵌入式的Servlet容器;

war包:启动服务器,服务器启动SpringBoot应用【SpringBootServletInitializer】,启动ioc容器;

相关推荐
Demon1_Coder1 分钟前
智能体的自定义工具
java·linux·前端
老王以为4 分钟前
单仓库下的四十模块 —— React Monorepo 工程架构拆解
前端·react native·react.js
lichenyang4538 分钟前
鸿蒙路由研读:为什么公司项目用 HMRouterMgr 而不用原生 Navigation
前端
闪电悠米9 分钟前
黑马点评-分布式锁-02_simple_redis_lock_setnx
java·数据库·spring boot·redis·分布式·缓存·wpf
gf132111110 分钟前
【精确查找python脚本是否在运行】
linux·前端·python
mCell19 分钟前
别急着骂运营商,你家路由器里可能藏着一台 PCDN 盒子
前端·http·cdn
PILIPALAPENG19 分钟前
Skills篇-findskills:告别手动迁移Skill!跨AI工具通用能力,才是真高效
前端·人工智能·后端
假如让我当三天老蒯21 分钟前
Composables和Utils的区别(自学用)
前端
kungggyoyoyo24 分钟前
从0开发一套geo优化软件:系统定位与整体架构
前端
用户7138742290025 分钟前
PKCE 的 S256 算法深度剖析:从协议设计到密码学原理
前端