Spring Boot 嵌入式Web容器
文章目录 前言 1、起源 2、容器启动流程解析 2.1、获取应用类型 2.2、容器启动流程 3、加载 Web 容器工厂 4、总结 前言 最近在学习Spring Boot相关的课程,过程中以笔记的形式记录下来,方便以后回忆,同时也在这里和大家探讨探讨,文章中有漏的或者有补充的、错误的都希望大家能够及时提出来,本人在此先谢谢了! 开始之前呢,希望大家带着几个问题去学习: 1、Spring Boot 嵌入式Web容器是什么? 2、整体流程或结构是怎样的? 3、核心部分是什么? 4、怎么实现的? 这是对自我的提问,我认为带着问题去学习,是一种更好的学习方式,有利于加深理解。好了,接下来进入主题。 1、起源 在当今的互联网场景中,与终端用户交互的应用大多数是 Web 应用,其中 Java Web 应用尤为突出,其对应的 Java Web 容器发展至今也分为 Servlet Web 容器和 Reactive Web 容器,前者的使用率大概占比是百分之九十左右,其具体的实现有 Tomcat 、 Jetty 和 Undertow ;而后者出现较晚,且技术栈体系并未完全成熟,还有待时间验证可行性,它的默认实现为 Netty Web Server 。其中的 Servlet 规范与三种 Servlet 容器的版本关系如下: Servlet 规范 Tomcat Jetty Undertow 4.0 9.X