TomCat-01 系统架构

1. 浏览器访问服务器的流程

在这里插入图片描述

  1. 用户发起请求到浏览器
  2. 浏览器发送TCP连接请求到Tomcat服务器
  3. Tomcat服务器接收请求并且建立连接
  4. 浏览器生成HTTP格式的数据包
  5. 浏览器发送请求数据包
  6. Tomcat服务器接收请求数据包并进行解析
  7. Tomcat服务器执行对应的请求(这一步设计到具体的执行流程,比较重要)
  8. Tomcat生成HTTP格式的数据包
  9. 发送响应数据包给浏览器
  10. 浏览器解析HTTP的数据包
  11. 浏览器呈现静态数据给用户

浏览器访问服务器使用的是HTTP协议,Http是应用层协议
,用于定义数据通信的格式,具体的数据传输使用的是TCP/IP协议。

2. Tomcat系统总体架构

2.1 Tomcat请求处理的过程

在这里插入图片描述
HTTP服务器收到请求后把请求交给Servlet容器来处理,Servlet容器通过Servlet接口调用业务类。Servlet接口和Servlet容器这一整套内容叫做Servlet规范

Tomcat的两个重要身份:

  • http服务器
  • Tomcat是一个Servlet容器

2.2 Tomcat Servlet容器处理流程

当用户请求某个URL资源时

  1. HTTP服务器会把请求信息使用ServletRequest对象封装起来
  2. 进一步去调用Servlet容器中某个具体的Servlet
  3. 在2.中,Servlet容器拿到请求之后,根据URL和Servlet的映射关系,找到响应的Servlet
  4. 如果Servlet还没有被加载,就用反射机制创建这个Servlet,并调用Servlet的init方法来完成初始化。
  5. 接着调用这个具体Servlet的service方法来处理请求,请求处理结果使用ServletResponse对象封装
  6. 把ServletResponse对象返回给HTTP服务器,HTTP服务器会把响应发送给客户端
    流程图

2.3 Tomcat 系统总体结构

从上面看,我们发现tomcat有两个非常重要的功能需要完成

  1. 和客户端浏览器进行交互,进行socket通信,将字节流和Request/Response等对象进行转换。
  2. Servlet容器处理业务逻辑

在这里插入图片描述
Tomcat设计了两个核心组件连接器(Connector)容器(Container) 来完成Tomcat的两大核心功能。

连接器,负责对外交流:处理Socket连接,负责网络字节流与Request和Response对象的转化;
容器,负责内部处理:加载和管理Servlet,以及具体处理Request请求;

猜你喜欢

转载自blog.csdn.net/weixin_43743650/article/details/114013447
今日推荐