码迷,mamicode.com
首页 > 其他好文 > 详细

tomcat的核心结构

时间:2021-04-22 16:31:03      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:space   字节流   解析   hand   服务   协议   info   并且   pip   

什么是tomcat

 tomcatsun公司开发的一种轻量级的web服务器,适用于低并发的企业。也可用来开发web应用的调试。

 一个请求是如何被tomcat服务器处理的,并且如何返回响应?

 

 技术图片

 

如图:

1—一个server实例就相当与一个JVM,一个server可以包括多个service

  —server提供了service的运行环境,即server控制着service的生命周期。

2—一个service提供一个服务,管理不同的web应用。一个service包括多个多个connector和一个container,以及一些辅助的组件。

3—一个connector负责处理一种协议的请求。

4—container负责具体的处理Request

 

 

connector的结构

 技术图片

ProtocolHandler负责具体处理request

—acceptor负责监听请求。

—Handler负责将获得的socket,内部调用processor处理。

—processor负责将获得socket字节流转为request,交给Adapter处理。

—Adapter负责将requestresponse传给container

 

Connector 的功能主要是以下一个。

监听网络端口。

接收网络请求。

读取请求中的网络字节流。

根据http/Ajp协议解析网络的字节流,生成统一的tomcat request对象。

tomcat request对象转为标准的ServletRequest对象。

调用Servlet容器获取ServletResponse对象。

ServletResponse对象转为tomcat response对象。

tomcat response对象转成网络字节流。

将响应字节流回写给浏览器。

 

 

container结构 

container处理请求采用的是pipeline-valve管道来处理的。(valve即阀门的意思)

pipeline-valve是责任链模式(指在处理一个请求的过程中有很多处理者依次对其处理),pipeline-valve使用的责任链模式和普通的责任链模式有些不同(1.每个pipeline都有自己的valve在管道的最后执行,称为basevalve,且basevalve不可以删除。2.在上层管道的basevalve会调用下层的管道。

 技术图片

 

tomcat的核心结构

标签:space   字节流   解析   hand   服务   协议   info   并且   pip   

原文地址:https://www.cnblogs.com/laoyu-love-life/p/14687834.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!