一、前言
这边博客主要做一个总结,记录Tomcat和http请求,通过阅读大佬们的博客,得出以下结论:
- servlet是java为了支持动态的交互网页所定制的标准
- Tomcat为servlet的运行环境,可以称之为容器
- server是Tomcat的运行环境(sever.xml)
- Tomcat支持两种协议:HTTP和AJP(apache 私有协议,用于tomcat和apache静态服务器通信)
基于以上几点,本篇博客将介绍:Tomcat源码结构、servlet结构、Tomcat核心类图、Tomcat功能结构以及具体功能的作用、http请求
若有错误,敬请斧正
参考博客连接在文章末尾粘贴
二、Tomcat源码结构
Tomcat的主体是Catalina,其他包可以看成工具类,支持Catalina
2.1Tomcat框架层次(或者说Catalina框架层次)
2.2Tomcat抽象结构图
2.3Tomcat核心类图
主要由一堆组件组成,如Server、Service、Connector等,并基于JMX管理这些组件
2.4Server
Server是整个Tomcat组件的容器,包含一个或多个Service
2.5Service
2.6Connector
2.7Container
四种容器:Engine(引擎), Host(主机), Context(上下文), 和 Wrapper(包装器)
这是一个责任链模式,对象层层传递,最后交由Servlet进行处理:
一个container中会存在一个Engine,有且只有一个;
Engine下会有多个host,表示站点或者虚拟主机;
一个host下会有多个Context,表示多个应用;
一个Context下会有多个Wrapper,
Wrapper:表示一个独立的servlet。
2.8 Pipeline和valve
2.9Loader
2.10Manager
2.11Realm
参考连接:
https://www.jianshu.com/p/d74eef07487f
https://www.jianshu.com/p/e438d2f1e4c2
https://blog.csdn.net/qq_34985719/article/details/78386183
原文地址:https://www.cnblogs.com/dinglijun/p/10360870.html
时间: 2024-10-12 17:39:15