Tomcat 初学

1、server.xml解析

      在该xml中,每一个节点元素都代表一种Tomcat组件

  1. 顶层类:包括Server元素和Service元素,位于整个配置类顶层
  2. 连接器类:Connector元素,代表介于客户端和服务器之间的通信接口,负责将客户端的请求发送给服务器

,并肩服务器的响应返回给客户端

     3.容器类:代表处理客户请求并生成响应的组件:由4中容器组件,分别为Engine、Host、Context和Cluster

  • Engine组件为特定的Service组件处理所有客户请求
  • Host组件为特定的虚拟主机处理所有客户请求
  • Context组件为特定的web应用处理所有客户请求
  • Cluster组件负责为Tomcat集群系统进行会话复制、Context组件的属性复制,以及集群范围内WAR文件的发布

     4.嵌套类:代表可以嵌入到容器中的组件,如Value元素和Realm元素

  1. >Server元素:代表整个Servlet容器组件,是Tomcat的顶层元素,在中可以包含一个或者多个元素

  2. >Service元素:包含一个,以及一个或者多个元素,这些元素共同享有一个元素

  3. >Connector元素:代表客户程序实际交互的组件,负责接收客户请求,以及向客户返回相应结果

  4. >Engine元素:每一个元素只能包含一个元素。元素处理在同一个中所有的元素接收到的客户请求

  5. >Host元素:在一个元素中可以包含多个元素。每个元素定义了一个虚拟主机,他可以包含一个或者多个web应用

  6. >Context元素:使用最频繁的元素。每个元素代表了运行在虚拟主机上的单个web应用。在一个元素中可以包含多个

Tomcat自带了一个名为Catalina的Engine组件

2、Tomcat的工作模式有三种:

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

       在这种模式下,Tomcat作为一个独立运行的java程序。需要启动一个JVM虚拟机进程

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

Tomcat 初学_第1张图片

优点是:进程内的Servlet容器对于单进程多线程的Web服务器非常合适,可以提供较高的运行速度,但是缺乏伸缩性

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

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

 

你可能感兴趣的:(Tomcat学习)