首页 > 其他分享 >5_Tomcat主要组件

5_Tomcat主要组件

时间:2023-03-12 23:14:42浏览次数:45  
标签:Engine Tomcat 虚拟主机 Host 主要 连接器 组件 请求

Tomcat体系结构图

Tomcat组件

Server组件

启动一个server实例(即一个JVM),它监听在8005端口以接收shutdown命令。Server的定义不能使用同一个端口,这意味着如果在同一个物理机上启动了多个Server实例,必须配置它们使用不同的端口。

<Server   port="8005" shutdown="SHUTDOWN">

 

port:接收shutdown指令的端口,默认为8005;

shutdown:发往此Server用于实现关闭tomcat实例的命令字符串,默认为SHUTDOWN;

Service组件

Service主要用于关联一个引擎和与此引擎相关的连接器,每个连接器通过一个特定的端口和协议接收请求并将其转发至关联的引擎进行处理。困此,Service要包含一个引擎、一个或多个连接器。

<Service   name="Catalina">

 

name:此服务的名称,默认为Catalina;

Connector组件

支持处理不同请求的组件,一个引擎可以有一个或多个连接器,以适应多种请求方式。默认只开启了处理Http协议的连接器。如果需要使用其他协议,需要在Tomcat中配置该协议的连接器。

在Tomcat中连接器类型通常有4种:

1)HTTP连接器

2)SSL连接器

3)AJP 1.3连接器

4)proxy连接器


 
<Connector   port="8888" protocol="HTTP/1.1"

 
                 connectionTimeout="20000"

 
               redirectPort="8443"   />

 

port:监听的端口

protocol:连接器使用的协议,默认为HTTP/1.1;

connectionTimeout:等待客户端发送请求的超时时间,单位为毫秒;
redirectPort:如果某连接器支持的协议是HTTP,当接收客户端发来的HTTPS请求时,则转发至此属性定义的端口;

maxThreads:支持的最大并发连接数,默认为200个;

Engine组件

Engine是Servlet处理器的一个实例,即servlet引擎,定义在server.xml中的Service标记中。Engine需要defaultHost属性来为其定义一个接收所有发往非明确定义虚拟主机的请求的host组件。


 
<Engine   name="Catalina" defaultHost="localhost">

 

name:Engine组件的名称;

defaultHost:Tomcat支持基于FQDN(Fully Qualified Domain Name 全限定域名)的虚拟主机,这些虚拟主机可以通过在Engine容器中定义多个不同的Host组件来实现;但如果此引擎的连接器收到一个发往非非明确定义虚拟主机的请求时则需要将此请求发往一个默认的虚拟主机进行处理,因此,在Engine中定义的多个虚拟主机的主机名称中至少要有一个跟defaultHost定义的主机名称同名;

Host组件

位于Engine容器中用于接收请求并进行相应处理的虚拟主机。通过该容器可以运行Servlet或者JSP来处理请求。


 
<Host   name="localhost"    appBase="webapps" unpackWARs="true"   autoDeploy="true">

name:虚拟主机的名称,Tomcat通过在请求URL中的域名与name中的值匹配,用于查找能够处理该请求的虚拟主机。如果未找到则交给在Engine中defaultHost指定的主机处理;

appBase:此Host的webapps目录,即指定存放web应用程序的目录的路径;

autoDeploy:在Tomcat处于运行状态时放置于appBase目录中的应用程序文件是否自动进行deploy;默认为true;

unpackWARs:在启用此webapps时是否对WAR格式的归档文件先进行展开;默认为true;

Context组件

Context是Host的子标签,代表指定一个Web应用,它运行在某个指定的虚拟主机(Host)上;每个Web应用都是一个WAR文件,或文件的目录;


 
<Context   path="/test" docBase="D:\mashibing.war" />

 

path:context path既浏览器访问项目的访问路径。

docBase:相应的Web应用程序的存放位置;也可以使用相对路径,起始路径为此Context所属Host中appBase定义的路径;


T

       Tomcat处理请求过程

 

 

1、用户访问localhost:8080/test/index.jsp,请求被发送到Tomcat,被监听8080端口并处理HTTP/1.1 协议的Connector获得。

2、Connector把该请求交给它所在的Service的Engine来处理,并等待Engine的回应。

3、Engine获得请求localhost/test/index.jsp,匹配所有的虚拟主机Host。

4、Engine匹配到名为localhost的Host虚拟主机来处理/test/index.jsp请求(即使匹配不到会请求交给默认Host处理),Host会根据/test匹配它所拥有的所有的Context。

5、匹配到的Context获得请求/index.jsp。

6、构造HttpServletRequest对象和HttpServletResponse对象,作为参数调用JspServlet的doGet()或doPost().执行业务逻辑、数据存储等程序。

7、Context把执行完之后的结果通过HttpServletResponse对象返回给Host。

8、Host把HttpServletResponse返回给Engine。

9、Engine把HttpServletResponse对象返回Connector。

10、Connector把HttpServletResponse对象返回给客户Browser。

 

标签:Engine,Tomcat,虚拟主机,Host,主要,连接器,组件,请求
From: https://www.cnblogs.com/2324hh/p/17209521.html

相关文章

  • 5_Tomcat主要组件
    Tomcat体系结构图Tomcat组件Server组件启动一个server实例(即一个JVM),它监听在8005端口以接收shutdown命令。Server的定义不能使用同一个端口,这意味着如果在同一个物理机......
  • 2_Tomcat结构介绍
    Tomcat目录结构与介绍 binbin目录主要是用来存放tomcat的命令文件,主要有两大类,一类是以.sh结尾的(linux命令),另一类是以.bat结尾的(windows命令)。 conf   con......
  • Tomcat源码浅析
    1.Tomcat的功能和架构1.1.Tomcat有两大功能Http服务器功能:Socket通信(Tcp/IP),解析Http报文。Servlet容器功能:Servlet处理具体的业务请求。1.2.Tomcat架构Tomcat是套......
  • provide和使用computed跨组件传值
    provide和injectprovide用于跨组件的传值。在祖先组件的data中提供一个对象,该对象可被注入到子孙组件中,不论组件的层级有多深。但是必须要是嵌套关系,才能实现注入provide......
  • DRF-认证源码分析,自定义认证组件
    1.认证的写法:认证的实现:1.写一个类,继承BaseAuthentication,重写authenticate,认证的逻辑写在里面,认证通过,返回两个值,一个值最终给了Request对象的user,认证失败,抛异常......
  • vue vant rate评分组件无法点击取消归零功能处理
    //通过监听点击事件去判断是否触发change事件,如果没有则说明数据没变化<van-ratev-model="modelValue":disabled="!conf.isEditText"disabled-color="rgba(0,86,255,0.......
  • Zabbix监控Tomcat开启JMX时修改catalina.sh文件后tomcat服务起不来/配置catalian.sh不
    zabbix监控tomcat,开启JMX修改catalina.sh文件,tomcat服务起不来问题现象(配置Catalina.sh脚本,开启JMX不起效)问题一:配置完脚本,重启tomcattomcat服务启动失败查看tomcat的ca......
  • Zabbix监控Tomcat中间件方案
    第1章、 方案设计1.1、 简介zabbix2.0添加了支持用于监控JMx应用程序的服务进程,称为"Zabbix-Java-gateway”:它是用 java写的一个程序。 1.2、 工作原理:zabbix......
  • Day06-Tomcat服务器&Servlet入门
    今日目标1.web知识概述2.tomcat【重点】3.创建servlet xml anno(注解) 4.servlet执行原理5.servlet生命周期6.servlet体系结构1.web相关知识概述【了解】1......
  • vue 自定义组件 实现v-model双向绑定
    父组件:<childCompv-model="aaa"/><script>...data(){return{aaa:123}}...</script>自定义组件:childComp.vue<script>...props:......