Tomcat之Connector组件。

Connector组件是Tomcat中的两个核心组件之一,他的主要任务是负责接收浏览器发过来的TCP连接请求,创建一个Request和Response对象分别用于和请求端交换数据。然后会产生一个线程来处理这个请求并把产生的Request和Response对象传给处理这个请求的线程,处理这个请求的线程就是Container组件要做的事了。

由于过程比较复杂,大体的流程可以用如下图所示的顺序图来解释。

在Tomcat 5 中默认的Connector是Coyote,这个Connector是可以选择替换的。Connector最重要的功能就是接收连接请求,然后分配线程让Container来处理这个请求,所以这必然是多线程的,多线程的处理是Connector设计的核心。Tomcat 5 将这个过程更加细化,他将Connector划分成Connector、Processor、Protocol,另外Coyote也定义自己的Request和Response对象。

当执行到threadStart()方法时,就会进入等待请求的状态,直到一个新的请求到来才会激活他继续执行,这个激活是在HttpProcessor的assign方法中的。

创建HttpProcess对象时会把available设为false,所以当请求到来时不会进入while循环,将请求的Socket赋给当前处理的Socket,并把available设为true,当available设置为true时,HttpProcessor的run方法将被激活,接下来将会处理这次请求。

解析Socket的过程在process方法中。

当Connector将Socket连接封装成Request和Response对象后,接下来的事情就交给Container来处理了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值