How Tomcat works 13:Host容器和Engine容器

xiaoxiao2025-04-17  14

一、 Host     容器Host比较简单,主要配置hostname,别名,添加默认和包含的context,以及是否允许自动部署等功能。     (1)Host总体设计架构

   

(2)Request的处理流程    A. 一个Request进入host后首先会使用pipleline责任链依次调用配置好的valves    B. 在StandardValve内部standardHostMapper中获取匹配URI获取相应的context对象    C. 获取context的classloader作为当前的加载类,获取context的mananger获取对应session    C.调用context.invoke(),处理request和response

(3)Host的必要性    后续context的配置使用contextConfig,而后去读取contants.applicationWebXml(/WEB-INF/web.xml)生成fullPath = context.getName()+path; String hostName = context.getParent().getName()

二、Engine容器 (1)总体设计架构    Engine是Host的父容器,可以配置多个hostName,同时可以设置获取service、context

(2)Request请求流程:    A. request进入Engine后调用pipeline中的standardEngineValve    B. 会校验request是否是http请求,校验request协议是否1.1且有servername    C. 调用engine.map()匹配uri获取对应的host    D. 调用host.invoke(req, resp)  

转载请注明原文地址: https://www.6miu.com/read-5028500.html

最新回复(0)