tomcat有两个核心组件,即connector与container,一个container可以选择对应多个connector,container与connector共同组成了service,tomcat就是由service对外提供服务的,service的生存环境也就是server了,如下图:
下面简单介绍一下这几个东东。。。
1) connector主要负责对外交流,接收浏览器发过来的TCP连接请求,创建一个Request和Response对象分别用于和请求端交换数据,然后会产生一个线程来处理这个请求并把产生的Request和Response对象传给处理这个请求的线程,处理这个请求的线程就是Container组件的任务了。这是一个多线程的处理方式,是Connector设计的核心。
2) container主要处理connector接受的请求,主要处理内部事务。Container是所有容器的父接口,所有子容器都必须实现这个接口,Container容器的设计用的是典型的责任链的设计模式。它由四个子容器组件构成,分别是Engine、Host、Context、Wrapper,这四个组件不是平行关系,而是父子关系,Engine包含Host,Host包含Context,Context包含Wrapper。Engine容器定义了一些基本的关联关系,Host负责运行多个应用,安装和展开应用,并标识这个应用以便能够区别它们,Context容器处理关联子容器外,还保存一个主机应有的信息,具备了Servlet运行的基本环境,Wrapper代表一个Servlet,负责管理一个servlet
3) service在connector和container外面多包一层,把它们组装在一起,并初始化它下面的其他组件(如上图中的Jasper、naming等),然后向外提供服务。service可以设置多个connector,但是只能有一个container。
4) server的任务就是提供一个接口让其他程序能够访问到这个service集合,同时维护它所包含的所有service的生命周期,包括如何初始化、如何结束服务、如何找到别人要访问的service。
5) tomcat中组件的生命周期都在一个Lifecycle的接口中控制,组件只要继承这个接口并实现其中的方法就可以统一被拥有它的组件控制了。这样一层一层的直到一个最高级的组件就可以控制tomcat中所有组件的生命周期了,这个最高级的组件也就是server了,而控制server的就是Startup,也就是启动和关闭tomcat
相关推荐
Tomcat 系统架构与设计模式,第 1 部分 工作原理
Apache Tomcat 是一款非常著名的开源 Servlet/JSP 容器。 Apache Tomcat 是一款非常著名的开源 Servlet/...让我们先来浏览一下 Tomcat 体系结构中的六个主要概念: Server Service Engine Host Connector Context
Tomcat的体系结构,基本配置,server.xml
Tomcat系统架构分析 深入学习tomcat 了解tomcat架构
介绍tomcat系统架构与设计模式的书籍,希望对大家有帮助
Tomcat 系统架构与设计模式,第 1 部分: 工作原理1
Tomcat系统架构与设计模式[整理].pdf
tomcat系统架构
全方位的介绍了tomcat概述和体系架构,全网最全的tomcat体系架构的详细过程
NULL 博文链接:https://gaojingsong.iteye.com/blog/2389970
Tomcat_系统架构与模式设计分析.doc 构建高扩展性程序的参考!
本书只是从架构设计上,对Tomcat的各组件进行了概念性讲解,如果你想阅读Tomcat的源码,本书的内容会让你更容易了解Tomcat的组件结构、设计方案,更容易去由概要到具体的熟悉Tomcat各组件的实现。 其次,本书不局限...
本文以 Tomcat 5 为基础,也...Tomcat 的基本设计思路和架构是具有一定连续性的。 Tomcat 总体结构 Tomcat 的结构很复杂,但是 Tomcat 也非常的模块化,找到了 Tomcat 最核心的模块,您就抓住了 Tomcat 的“七寸”。
Tomcat_系统架构与设计模式,Tomcat_系统架构与设计模式
Java详解Tomcat 系统架构分析.doc
Tomcat系统架构与设计模式.pdf
简介:这个分为两个部分的系列文章将研究ApacheTomcat的系统架构以及其运用的很多经典设计模式。本文是第1部分,将主要从Tomcat如何分发请求、如何处理多用户同时请求,还有它的多级容器是如何协调工作的角度来分析...
Tomcat 系统架构与设计模式,第 2 部分: 设计模式分析1