tomcat架构组成

tomcat架构组成

  1. tomcat有一个server,控制着整个tomcat的生命周期
  2. 一个server可以包含一个或者多个service,service对外提供服务
  3. 一个service由一个container和一个或者多个connector
  4. connector用于接收外部请求,并将请求封装成request,将响应封装成response。多个connector可以处理多种协议。
  5. container用于管理servlet,servlet用于处理request请求

tomcat结构图如下:
在这里插入图片描述
tomcat web.xml配置文件以及映射图
在这里插入图片描述
在这里插入图片描述

connector架构分析

  1. Connector如何接收请求
  2. Connector如何封装请求
  3. Connector如何将封装的reauest请求传给Container

connector结构图
在这里插入图片描述
根据Connector结构图:

  1. Connector通过Endpoint处理底层Socket网络连接
  2. 通过Processor将Socket请求封装成Request请求
  3. 通过Adaptor将Requset传递给Container处理

Container架构分析

Container如何处理Connector传过来的请求?

Container的4大组件:

  1. Engine:引擎,用来管理多个站点;一个service最多只能有一个Engine
  2. Host:代表一个站点,也叫虚拟机主机;通过配置Host可以增加站点
  3. Context:代表一个应用程序,或者WEB-INF目录以及其下的web.xml文件;一个host可以有多个context。
  4. Wrapper:每一Wrapper封装着一个Servlet,一个Context包含多个Servlet

Container架构图与目录的映射关系
在这里插入图片描述
在这里插入图片描述
访问webapp站点下的主目录可以使用host的域名,比如www.baidu.com。访问其他Context(目录),比如docs就需要域名加目录名,即www.baidu.com/docs。

Container通过责任链模式一次调用4大组件(或者叫容器)的处理链来处理Requset请求。
在这里插入图片描述
当执行到StandardWrapperValue的时候,会在StandardWrapperValue中创建FilterChain,并调用其doFilter方法来处理请求,这个FilterChain包含着我们配置的与请求相匹配的Filter和Servlet,其doFilter方法会依次调用所有的Filter的doFilter方法和Servlet的service方法,这样请求就得到了处理

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值