tomcat6源码学习---1

tomcat通过Bootstrap启动,同时将各种配置组合成Catalina;
读取server.xml,将参数读到Catalina及下属的对象里,启动start()时,也会调用下属对象的start().
Top Level Elements:
Server
Service
Connector
HTTP
AJP
Container
Engine
Host
Context
....具体树形再补充

Tomcat6.x使用Coyote模块来实现Connector框架
server.xml文件中指定协议和协议处理器的类名。如下:
<Connector port="8089" protocol="AJP/1.3" redirectPort="8443" />

<Connector port="8089" protocol="HTTP/1.1" connectionTimeout="20000"
redirectPort="8443" />

在构造连接器时,连接器根据是否支持Apache Portable Runtime (APR),选择不同的类支持HTTP协议和AJP协议,其对应关系如下:

支持APR
HTTP/1.1协议对应org.apache.coyote.http11.Http11AprProtocol类
AJP/1.3协议对应org.apache.coyote.ajp.AjpAprProtocol类

不支持APR
HTTP/1.1协议对应org.apache.coyote.http11.Http11Protocol类
AJP/1.3协议对应org.apache.jk.server.JkCoyoteHandler类


如果按
<Connector port="8089" protocol="HTTP/1.1" connectionTimeout="20000"
redirectPort="8443" />写法,
在tomcat启动时将会org.apache.tomcat.util.net.JIoEndpoint中Acceptor (socket acceptor线程)的run,随时相应url.

然后调用org.apache.catalina.connector.CoyoteAdapter的service处理(到Context那一层),待续...
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值