《开启微服务之旅: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容器;

相关推荐
Hello--_--World21 小时前
vite:什么是热更新?vite 和 webpack 有什么区别?vite常见配置和优化手段?
前端·webpack·node.js
渡我白衣21 小时前
定时器与时间轮思想
linux·开发语言·前端·c++·人工智能·深度学习·神经网络
鹏程十八少21 小时前
13. Android 面了50位Kotlin候选人,这36个语法坑90%的人答不全
前端·后端·面试
Hello--_--World21 小时前
Vite:什么是bundleless?哪些要打包,哪些不要打包?依赖预构建是什么?依赖预构建如何减少网络请求的?esbuild 又是什么?
前端·javascript·webpack·vite
Rooting++21 小时前
vue2+webpack打包优化的相关问题
前端·webpack·node.js
alxraves21 小时前
超声图像前端信号处理的关键技术
前端·fpga开发·信号处理
问心无愧051321 小时前
ctf show web入门47
前端·笔记
web守墓人21 小时前
【神经网络】js版本的Pytorch,estorch重磅发布
前端·javascript·人工智能·pytorch·深度学习·神经网络
贫民窟的勇敢爷们21 小时前
Vue的渐进式特性,让前端开发更具灵活性
前端·javascript·vue.js
问心无愧051321 小时前
ctf show web入门81
前端·笔记