Tomcat学习积累笔记---Tomcat的Servlet容器组件 Catalina

Tomcat学习积累笔记—Tomcat的Servlet容器组件 Catalina

1. Tomcat 模块分层结构图及Catalina位置

  1. Tomcat是⼀个由⼀系列可配置(conf/server.xml,在这里面进行配置)的组件构成的Web容器,⽽Catalina是Tomcat的servlet容器。
  2. 从另⼀个⻆度来说,Tomcat 本质上就是⼀款 Servlet 容器, 因为 Catalina 才是 Tomcat 的核⼼, 其他模块都是为Catalina 提供⽀撑的。 ⽐如 : 通过 Coyote 模块提供链接通信,Jasper 模块提供 JSP 引擎,Naming 提供JNDI 服务,Juli 提供⽇志服务。
    在这里插入图片描述

2. Servlet 容器 Catalina 的结构

  1. Tomcat(我们往往有⼀个认识,Tomcat就是⼀个Catalina的实例,因为Catalina是Tomcat的核⼼)
Tomcat/Catalina实例

在这里插入图片描述

  1. 在一个tomcat容器中多个连接器对应一个容器
  2. 其实,可以认为整个Tomcat就是⼀个Catalina实例Tomcat启动的时候会初始化这个实例,Catalina实例通过加载server.xml完成其他实例的创建,创建并管理⼀个ServerServer创建并管理多个服务(多个Service),每个服务⼜可以有多个Connector⼀个Container
  3. ⼀个Catalina实例(容器)可以有⼀个 Server实例(容器),⼀个Server实例(容器)下面有多个Service实例(容器),每⼀个Service实例下可以有多个Connector实例⼀个Container实例
  4. Catalina:负责解析Tomcat的配置⽂件(server.xml) , 以此来创建服务器Server组件并进⾏管理
  5. Server:服务器表示整个Catalina Servlet容器以及其它组件,负责组装并启动Servlaet引擎,Tomcat连接器。Server通过实现Lifecycle接⼝,提供了⼀种优雅的启动和关闭整个系统的⽅式
  6. Service:服务是Server内部的组件,⼀个Server包含多个Service。它将若⼲个Connector组件绑定到⼀个Container
  7. Container:容器,负责处理⽤户的servlet请求,并返回对象给web⽤户的模块

3. Tomcat 的 Container组件的具体结构

  1. Container组件下有⼏种具体的组件,分别是Engine、Host、Context和Wrapper。这4种组件(容器)是⽗⼦关系。Tomcat通过⼀种分层的架构,使得Servlet容器具有很好的灵活性。
    在这里插入图片描述
  2. Engine:表示整个Catalina的Servlet引擎,⽤来管理多个虚拟站点,⼀个Service最多只能有⼀个Engine,但是⼀个引擎可包含多个Host
  3. Host:代表⼀个虚拟主机,或者说⼀个站点,可以给Tomcat配置多个虚拟主机地址,⽽⼀个虚拟主机下可包含多个Context
  4. Context:表示⼀个Web应⽤程序, ⼀个Web应⽤可包含多个Wrapper
  5. Wrapper:表示⼀个Servlet,Wrapper 作为容器中的最底层,不能包含⼦容器
  6. 上述组件的配置其实就体现在conf/server.xml中。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值