zoukankan      html  css  js  c++  java
  • tomcat架构 大风起

    Server元素在最顶层,代表整个Tomcat容器,因此它是server.xml中唯一一个最外层的元素。Server的作用是提供接口让客户端能够访问到这个Service集合,同时维护它所包含的所有的Service的声明周期,包括如何初始化、如何结束服务、如何找到客户端要访问的Service。

    一个Server元素中可以包含多个Service。

    Service的作用是组装Connector和Engine对外提供服务。一个Service可以包含多个Connector,但是只能包含一个Engine。

    Connector的作用是接收连接请求,创建Request和Response对象用于和请求端交换数据;然后分配线程携带该request和response交给绑定的Engine来处理,最后把处理后的Request和Response返回给客户端。

    executor是线程池,tomcat提供了默认线程池,线程池配置可以在源码中查找Executor

    在实际中我们可以根据实际项目情况添加自己的线程池。

    Engine是Service组件中的请求处理组件。engine从Connector中接收请求并处理,并将处理后的response返回Connector。
    engine可以包含多个host。

    一个Host代表Engine中的一个虚拟主机。Host的作用是运行多个Web应用(一个Context代表一个Web应用),并负责安装、展开、启动和结束每个Web应用。Host组件至少有一个,且其中一个的name必须与Engine组件的defaultHost属性相匹配。
    客户端通过主机名来访问服务器。Tomcat从HTTP头中提取出主机名,寻找名称匹配的host。如果没有匹配,请求将发送至默认主机。

    一个host可以包含多个context。

    context元素代表在指定host上运行的一个web应用。这个web应用对应一个war文件,或者war文件解压后对应的目录。

    刚下载的tomcat,server.xml文件中没有context元素,因为默认tomcat的host开启了自动部署。

    假设是一种超能力
  • 相关阅读:
    【Educational Codeforces Round 101 (Rated for Div. 2) C】Building a Fence
    【Codeforces Round #698 (Div. 2) C】Nezzar and Symmetric Array
    【Codeforces Round #696 (Div. 2) D】Cleaning
    【Codeforces Round #696 (Div. 2) C】Array Destruction
    【Educational Codeforces Round 102 D】Program
    【Educational Codeforces Round 102 C】No More Inversions
    【Good Bye 2020 G】Song of the Sirens
    【Good Bye 2020 F】Euclid's nightmare
    使用mobx入门
    requestAnimationFrame 控制速度模拟setinterval
  • 原文地址:https://www.cnblogs.com/Haihong72H/p/11004811.html
Copyright © 2011-2022 走看看