测试扩展——Tomcat和http请求

Posted dinglijun

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了测试扩展——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

 

以上是关于测试扩展——Tomcat和http请求的主要内容,如果未能解决你的问题,请参考以下文章

面试官:tomcat是如何处理http请求的?

Http协议和Tomcat服务器Tomcat的下载与安装

Tomcat第三篇——一个请求的处理过程

Tomcat第三篇——一个请求的处理过程

Http协议Tomcat服务器

http协议和tomcat