Tomcat

作者: So_ProbuING | 来源:发表于2019-11-15 20:08 被阅读0次

Tomcat

组成结构

Tomcat的各个组件可以在<CATALINA_HOME>/conf/server.xml文件中进行配置。

每个Tomcat组件在server.xml文件中对应一种配置元素,每个元素都代表一种Tomcat组件

<Server>
    <Service>
    <Engine>
        <Host>
        <Context>
        </Context>
      </Host>
    </Engine>
  </Service>
</Server>
  • 顶层类元素

    包括<Server>、<Service>元素,位于整个配置文件的顶层

    • <Server>代表整个Servlet容器组件,是Tomcat的顶层元素。<Server>元素中可包含一个或多个<Service>元素
    • <Service>元素中包含一个<Engine>元素,以及一个或多个<Connector>元素,这些<Connector>元素共享同一个<Engine>元素
  • 连接器元素

    为<Connector>元素,代表介于客户与服务器之间的通信接口,负责将客户的请求发送给服务器,并将服务器的响应结果发送给客户

  • 容器类元素

    代表处理客户请求并生成响应结果的组件,有四种容器类元素,分别为<Engine>、<Host>、<Context>和<Cluster>元素

    • Engine组件为特定的Service组件处理所有客户请求,<Engine>元素处理在同一个<Service>中所有<Connector>元素接收到的客户请求
    • Host组件为特定的虚拟主机处理所有客户请求,每个<Host>元素定义了一个虚拟主机,它可以包含一个或多个Web应用
    • Context组件为特定的Web应用处理所有客户请求,每个<Context>元素代表了运行在虚拟主机上的单个Web应用。一个<Host>元素中可以包含多个<Context>元素
    • Cluster组件负责为Tomcat集群系统进行会话复制、Context组件的属性的复制,以及集群范围内WAR文件的发布
  • 嵌套类元素

    代表可以嵌入到容器中的组件,<Value><Realm>元素等

Tomcat的工作模式

1. 独立的Servlet容器

Tomcat作为独立的Web服务器来单独运行,Servlet容器组件作为Web服务器中的一部分而存在。Tomcat的默认工作模式

在这种模式下,Tomcat是一个独立运行的Java程序。运行需要启动Java虚拟机JVM来运行

其他Web服务器进程内的Servlet容器

在这种模式下,tomcat分为Web服务器插件和Servlet容器组件两部分,Web服务器插件在其他Web服务器进程的内部地址空间启动一个Java虚拟机,Servlet容器组件在此Java虚拟机中运行。如果有客户端发出调用Servlet的请求,Web服务器插件获得对此请求的控制并将它转发给Servlet,使用JNI通信

其他Web服务器进程外的Servlet容器

在这种模式下,Tomcat分为Web服务器插件和Servlet容器组件两部分。Web服务器插件在其他Web服务器的外部地址空间启动一个Java虚拟机进程,Servlet容器组件在此Java虚拟机中运行,如果有客户端发出调用Servlet的请求,Web服务器插件获得对此请求的控制并将它转发给Servlet容器,使用IPC通信机制

进程外Servlet容器对客户请求的响应速度不如进程内Servlet容器,但进程外容器具有更好的伸缩性和稳定性

相关文章

网友评论

    本文标题:Tomcat

    本文链接:https://www.haomeiwen.com/subject/jxzsictx.html