Tomcat7源码解读(二) —— Connector处理器静态结构概述

Tomcat是一个WEB容器,也是一个Servlet容器。他需要处理来自客户端的HTTP请求,也需要处理来自WEB服务器(Apache)的AJP请求。对于不同的请求,Tomcat将接受到的Socket,封装成为相应的Request以及与Response对象,然后再转交给容器进行具体的处理。

 

Tomcat的设计非常的模块化,为了提高服务本身的可扩展性,Tomcat做了组建化的设计。也实现了多个不同版本的处理方式。下列UML图中简单的描述了TomcatConnector容器的内部结构。

 

UML符号说明





 

Tomcat的Connector类结构图



接口ProtocolHandler负责处理各种不同协议的请求,负责将Socket流数据转换成相应的Request对象,并且构建出相应的Response对象,将数据返回这一过程。在具体处理时候,为了提高服务器的并发性将整个过程处理成两个过程,分别由AbstractEndpointAcceptorSocketProcessor分别处理。Acceptor线程只是负责接收Socket请求,接收到请求之后直接转交给SocketProcessor来进行解析处理。SocketProcessorSocket对象传递给相应的ProtocolHandlerConnectionHandler进行Socket流的解析处理。

Processor通过适配器CoyoteAdapter调用容器的管道,每个容器都有一个某人的阀门,例如Engine容器有StandardEngineValue。每个容器处理完成本容器的事情后则将请求转交给下一个容器的阀门处理。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值