tomcat6.0.x框架结构图-tomcat 6.x 源码阅读

2013-09-05
昨天搞域名,没有写blog,愧疚蛮久,还好域名搞定了...嘻嘻
继续行程,记录点滴... : tomcat6.0.x已经经过svn导入eclipse运行,接下来就是阅码之旅。,每一个人阅读源码方式可能不尽相同,我第一次,没啥经验,凭空想象本身的方式:了解程序结构,运行程序,跟踪源码,设置断点,打印输出,验证假设,弄清楚启动过程,了解数量流向。 咱们都知道tomcat调度Servlet来处理来自HTTP的请求,我猜测原理是这样的:Tomcat启动ServerSocket监听网络端口,tomcat分配线程处理来自HTTP的请求,线程负责解析请求,在请求上调用过滤器,使用反射调用Servlet的service方法来处理请求完成响应,tomcat如何实现调度功能?如何实现处理HTTP协议的请求?结构框架如何。
先看看tomcat6.0.x的框架结构图,在网上看到过多种框架图,有记忆的有两种。html

图片来自网络
来自Tomcat 系统架构与设计模式java

图片来自网络
来自[忘记来自哪一个blog了]设计模式

第一张图给以的信息不多,只标出了Server,Server下面的多个Service,以及Service中的组件,结构层次很清晰,可是不够细,例如Engine,Host,Context等组件没有画出来,以及他们之间的层次关系也没有,我喜欢第二张图,由于第二张展现了tomcat的结构层次图,从Server到servlet全都画出来,一看就明白他们的层次关系,同时第二张图中还有数据流图,从起点到servlet,再从servlet回来,线路明了,能减小精力在数据流的分析,固然第二张图也有的组件没有画出来,好比Logging,Naming等。
咱们都知道tomcat的基本就是容器,经过容器来管理资源,调度信息,控制数据流向,tomcat的框架是由容器构成的,往框架往里面替补容器,容器连起来构成一个处理请求的生产线。图中传递不少信息,容器之间的关系,数据流向,组件结构,tomcat的框架结构直接展示出来。tomcat

还有一张必须看的图 图片来自网络
来自Tomcat启动过程原理详解网络

这张结构图也是描述tomcat框架结构的,他从另外一个维度来描述,经过网络端口来源,逐级分解结构,从图上咱们能够看出,一个Server能够有多个Service,但一个Service下面只能有一个Engine,一个Engine下面能够有多个Host,一个Host下面能够有多个Context,数据流向也能够从图中获知,请求从Connector中开始,一直经过容器传递到Context中,再有Context传递给Servlet,还有一个就是Server会启动一个ServerSocket来监听8005端口,负责监听是否要关闭Server。
今天就到这里了,欢迎吐槽...架构

是否每一天都是新,咱们要如何改变框架

相关文章
相关标签/搜索