由浅入深了解Tomcat架构

前言

本文章通过b站up主鲁班大叔_007的教学视频学习,再根据自己的理解总结得出。若有错误的地方,还请各位大佬指出。

一、Tomcat核心组件

在这里插入图片描述
我们可以从一个地址中来了解tomcat的核心组件:

  • ①连接器(Connector):由协议和端口构成。
  • ②站点(Host):由域名构成。
  • ③应用上下文(Context):由应用名构成
  • ④资源:由资源名称构成(静态资源或动态资源)

二、核心组件协作过程

在这里插入图片描述

  • ①浏览器首先根据端口号找到连接器,和连接器建立连接。
  • ②连接器会根据域名找到对应站点。一个连接器可以访问多个站点,站点也可以被多个连接器访问。连接器和站点是多对多的关系。
  • ③站点再根据应用上下文名称找到对应Context。一个站点可以访问多个应用,而一个应用不能被多个站点访问。站点和应用是一对多的关系。
  • ④应用在访问对应的资源。应用和资源是一对多的关系。

三、server.xml对应核心组件配置

在这里插入图片描述

  • Server:顶级组件,代表一个Tomcat实例。可以包含一个或多个Service。
  • Service:服务分组,可以连接一个或多个连接器到引擎。name:名称(自定义) Catalina(远程轰炸机)。
  • Engine:引擎,没有特殊作用,只是作为容器将Host包装起来 defaultHost:默认指定站点。
  • Host:站点,name:域名 appBase:站点根目录 unpackWARs:是否自动解压war包 autoDeploy:是否自动部署。可以有多个站点。
  • Context:应用上下文 path:访问的应用上下文名称 docBase:应用上下文包路径。

四、Tomcat请求流程

在这里插入图片描述

  • 每一个组件都会有一个Pipeline结构,里面包含了n个Valve,若配置了一个Valve1,则加在最前面,若没有配置,则走默认的Pipeline流程。默认Pipeline流程如下图所示。

在这里插入图片描述
Valve在server.xml的配置
在这里插入图片描述

  • Valve:阀门,相当于springboot中的切面,可做拦截、日志、限流等操作,可放在任意组件下。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值