Tomcat原理

2.Tomcat 架构

2.1 Http 工作原理

HTTP工作原理

Tomcat作为一个HTTP服务器干了什么?

  接受链接,解析数据,处理请求和发送响应

2.2 Tomcat整体架构

2.2.1 Http服务器请求 处理

Tomcat原理
图一即第一种请求处理方式 直接让服务器调用各业务类(用多个if else 去判断哪项业务),这种方式具有高耦合性。

图二即第二种请求处理方式 不直接调用业务类, 而是把请求交给Servlet容器,容器通过Servlet接口调用业务类,因此Servlet接口和Servlet容器的出现,达到了Http服务器与业务类解耦的目的。

Servlet接口和Servlet容器这一套规范叫做Servlet规范。

Tomcat按照Servlet规范的要求实现了Servlet容器,同时他们也具有了HTTP服务器的功能。

我们学习Java,如果我们要实现新的功能,只需要实现一个Servlet,并把它注册到Tomcat(Servlet容器)中,剩下的事情就由Tomcat帮我们处理了。


2.2.2 Servlet容器工作流程

在这里插入图片描述

2.2.3 Tomcat整体架构

1)处理Socket连接,负责网络字节流与Request 和 Response对象的转化。

2) 加载和管理Servlet,以及具体处理Request请求。

在这里插入图片描述
因此Tomcat设计了两个核心组件:连接器(Connector)和 容器(Container)来分别做这两件事,连接器负责对外交流,,容器负责内部处理。

连接器作用:这个请求被连接器接受,接受Socket请求,并将它转化为ServletRequest对象,将这个对象交给容器。

容器: 先定位,利用URL和Request的映射关系找到对应的Servlet,如果Servlet还没有被加载,就用反射机制创建这个Servlet,并调用Servlet的 init方法来完成初始化,接着调用Servlet的service方法(逻辑)来处理请求,把ServletResponse对象返回给连接器,连接器拿到这个对象后解析这个对象,并给Socket一个响应。

2.3 连接器

在这里插入图片描述

2.4 容器- Catalina

Tomcat 是一个由一系列可配置的组件构成的 Web 容器,而 Catalina 是 Tomcat 的Servlet容器。

Catalina是Servlet 容器实现,包含了之前讲到的所有的容器组件。

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值