tomcat8源码教程之架构分析_IT学习者—关注程序员的就业、工作和生活 

您现在的位置:主页 > 源码解读 > >

tomcat8源码教程之架构分析



时间: 2015-06-11 23:18     来源 : IT学习者      点击:

关键词: tomcat8    tomcat8源码    tomcat8教程   


目录页:《tomcat8源码分析


今天我们来看下tomcat8的架构设计及请求的流转过程,在讲述之前先介绍几个组件目录: 内容来自www.itxxz.com

Catalina:与开始/关闭shell脚本交互的主类,因此如果要研究启动和关闭的过程,就从这个类开始看起。

itxxz.com

Server:是整个Tomcat组件的容器,包含一个或多个Service。 内容来自www.itxxz.com

Service:Service是包含Connector和Container的集合,Service用适当的Connector接收用户的请求,再发给相应的Container来处理。

官网:http://www.itxxz.com

Connector:实现某一协议的连接器,如默认的有实现HTTP、HTTPS、AJP协议的。

copyright www.itxxz.com

Container:可以理解为处理某类型请求的容器,处理的方式一般为把处理请求的处理器包装为Valve对象,并按一定顺序放入类型为Pipeline的管道里。Container有多种子类型:Engine、Host、Context和Wrapper,这几种子类型Container依次包含,处理不同粒度的请求。另外Container里包含一些基础服务,如Loader、Manager和Realm。

内容来自www.itxxz.com

Engine:Engine包含Host和Context,接到请求后仍给相应的Host在相应的Context里处理。

内容来自www.itxxz.com

Host:就是我们所理解的虚拟主机。

本文来自www.itxxz.com

Context:就是我们所部属的具体Web应用的上下文,每个请求都在是相应的上下文里处理的。 IT学习者(www.itxxz.com)

Wrapper:Wrapper是针对每个Servlet的Container,每个Servlet都有相应的Wrapper来管理。

官网:http://www.itxxz.com

可以看出Server、Service、Connector、Container、Engine、Host、Context和Wrapper这些核心组件的作用范围是逐层递减,并逐层包含。

官网:http://www.itxxz.com

下面就是些被Container所用的基础组件:

copyright www.itxxz.com

Loader:是被Container用来载入各种所需的Class。

copyright www.itxxz.com

Manager:是被Container用来管理Session池。

IT学习者(www.itxxz.com)

Realm:是用来处理安全里授权与认证。 官网:http://www.itxxz.com

对于以上的介绍,走马观花的扫一眼即可,等下文中出现相应组建时再回来温习一下。

这里以http请求为例,当一个请求过来时我们可以简化为下图:




这里只是说了些概念些的东西,不便于理解,下一篇我们通过一个简单的http请求来看一下具体的流转过程,比如ip地址,端口号,容器创建,servlet访问,返回信息获取等一系列的完整流程,好了这一篇先到这里。
 

官网:http://www.itxxz.com






文章除注明转载外,均为IT学习者原创或编译
欢迎任何形式的转载,但务必请以超链接形式注明出处
本文出自:IT学习者
链接地址:http://www.itxxz.com/a/code/2015/0611/807.html



微信公众号:喝咖啡的螃蟹

喝咖啡的螃蟹
评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
  • 笨笨历险
    2015-11-19 10:46:04发表

    最近也在学习tomcat源码,求楼主加好友 Q786456738

-->