Tomcat的响应及整体架构

Tomcat简介

 web服务器软件:接收用户的请求,处理请求做出响应。可以部署web项目,让用户通过浏览器来访问这些项目。

Tomcat是一个轻量级的免费的开放源代码的web应用服务器,普遍适用于中小型系统和并发访问用户不是很多的场合,是开发和调试jsp的首选。

Tomcat整体架构

HTTP协议

主要规定了客户端和服务器之间的通信格式。

Tomcat响应过程

即:HTTP服务器请求处理与Servlet容器工作流程
为了解耦,HTTP服务器接收到请求后不会直接调用业务类(java代码),会将该请求直接发给Servlet容器,Servlet容器再决定调用哪个业务类。HTTP服务器会将客户的请求信息封装在一个ServletRequest对象中,发送给Servlet容器,Servlet容器拿到请求后找到相应的Servlet,如果Servlet还没有被加载,就创建这个Servlet,并调用init方法初始化,然后调用service方法来处理请求,最后将ServletResponse对象返回给HTTP服务器,HTTP服务器会把响应发送给客户端。
Tomcat响应过程

Tomcat两个核心功能的实现

两个核心功能

  1. 处理Socket(端口号)连接,负责网络字节流与 Request和 Response对象的转化。
  2. 加载和管理Servlet,以及具体处理 Request请求。
    在这里插入图片描述

两个核心组件

 1.连接器(Connector):负责对外交流         

在这里插入图片描述

  2.容器(Container):负责内部处理

在这里插入图片描述

Coyote和Catelina

  1. Coyote是Tomcat的连接器框架的名称,负责具体协议的解析以及IO的相关操作。
  2. Catalina是Servlet容器实现,负责具体的逻辑执行,是Tomcat的核心。

注:

  1. 一个容器可以对接多个连接器
  2. 只有将Coyote和Catalina组合起来才可对外提供服务,在Tomcat架构中一个Service就可单独对外提供服务,一个Service其中至少含有一个Coyote和Catalina,Server下面有多个Service。

Catalina组件:
Catalina组件

Tomcat的模块分层

源码中体现的分层

在这里插入图片描述

抽象分层

在这里插入图片描述

参考b站java进阶教程Tomcat核心原理解析(https://www.bilibili.com/video/BV1dJ411N7Um?p=10)

猜你喜欢

转载自blog.csdn.net/weixin_46064382/article/details/106170942
今日推荐