测试扩展(四)——Tomcat和http请求

一、前言

这边博客主要做一个总结,记录Tomcat和http请求,通过阅读大佬们的博客,得出以下结论:

  1. servlet是java为了支持动态的交互网页所定制的标准
  2. Tomcat为servlet的运行环境,可以称之为容器
  3. server是Tomcat的运行环境(sever.xml)
  4. 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

猜你喜欢

转载自www.cnblogs.com/dinglijun/p/10360870.html
今日推荐