Tomcat(二):Tomcat处理一个Http请求

结合tomcat的架构图,展示tomcat如何处理一个http请求:

Tomcat的service内部如何处理一个http请求:

步骤讲解:

1、用户点击网页内容,请求被发送到本机端口8080,被在那里监听的Coyote HTTP/1.1 Connector获得。

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

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

4、Engine匹配到名为localhost的Host(即使匹配不到也把请求交给该Host处理,因为该Host被定义为该Engine的默认主机),名为localhost的Host获得请求/test/index.jsp,匹配它所拥有的所有的Context。Host匹配到路径为/test的Context(如果匹配不到就把该请求交给路径名为“ ”的Context去处理)。

5、path=“/test”的Context获得请求/index.jsp,在它的mapping table中寻找出对应的Servlet。Context匹配到URL PATTERN为*.jsp的Servlet,对应于JspServlet类。

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

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

8、Host把HttpServletResponse对象返回给Engine。

9、Engine把HttpServletResponse对象返回Connector。

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

原文地址:https://www.cnblogs.com/yy3b2007com/p/12274817.html

时间: 2024-10-26 13:23:40

Tomcat(二):Tomcat处理一个Http请求的相关文章

接口测试工具-Jmeter使用笔记(一:运行一个HTTP请求)

博主自从毕业从事软件测试行业距今一年半时间,大多数时间都在跟各种API打交道,使用过的接口测试工具也有许多,本文记录下各工具的使用心得,以及重点介绍我在工作中是如何使用Jmeter做测试的,都是在windows操作系统下进行. 最开始使用postman,该工具的优点是可以保存测试过程中使用的请求数据,可以把被测系统中所有的接口请求都保存在该工具中,对于排查定位问题,该工具还是很好用的,缺点就是效率太低,碰到一个业务流程涉及执行多个接口时,手动填参数实在慢. 一.安装Jmeter 1.JAVA环境

对tomcat来说,每一个进来的请求(request)都需要一个线程,直到该请求结束。

这段时间折腾了哈java web应用的压力测试,部署容器是tomcat 7.期间学到了蛮多散碎的知识点,及时梳理总结,构建良好且易理解的知识架构把它们组织起来,以备忘.对web应用开发者来说,我们很关心应用可同时处理的请求数,以及响应时间.应用本身和它运行在其中的web容器是两个很重要的影响因素.对tomcat来说,每一个进来的请求(request)都需要一个线程,直到该请求结束.如果同时进来的请求多于当前可用的请求处理线程数,额外的线程就会被创建,直到到达配置的最大线程数(maxThreads

Tomcat学习(一) - Tomcat结构以及处理一个请求的过程

1. Tomcat结构 Tomcat是一个基于组件的服务器,它的构成组件都是可配置的,其中最外层的 组件是Catalina Servlet容器,其他的组件按照一定的格式要求配置在这个顶层容器中.Tomcat的各个组件是在<TOMCAT_HOME>\conf \server.xml文件中配置的,Tomcat服务器默认情况下对各种组件都有默认的实现,下面通过分析server.xml文件来理解Tomcat 的各个组件是如何组织的.server.xml文件的基本组成结构如下. XML配置文件结构 &l

[转]Tomcat处理一个HTTP请求的过程

1.Tomcat Server的组成部分 1.1 - Server A Server element represents the entire Catalina servlet container. (Singleton) 1.2 - Service A Service element represents the combination of one or more Connector components that share a single Engine.Service是这样一个集合:

Tomcat Server处理一个HTTP请求的过程(转)

Tomcat Server处理一个HTTP请求的过程 1.用户点击网页内容,请求被发送到本机端口8080,被在那里监听的Coyote HTTP/1.1 Connector获得. 2.Connector把该请求交给它所在的Service的Engine来处理,并等待Engine的回应. 3.Engine获得请求localhost/test/index.jsp,匹配所有的虚拟主机Host. 4.Engine匹配到名为localhost的Host(即使匹配不到也把请求交给该Host处理,因为该Host被

Tomcat系列(6)——Tomcat处理一个HTTP请求的过程

Tomcat的架构图   图三:Tomcat Server处理一个HTTP请求的过程 处理HTTP请求过程 1.用户点击网页内容,请求被发送到本机端口8080,被在那里监听的Coyote HTTP/1.1 Connector获得. 2.Connector把该请求交给它所在的Service的Engine来处理,并等待Engine的回应. 3.Engine获得请求localhost/test/index.jsp,匹配所有的虚拟主机Host. 4.Engine匹配到名为localhost的Host(即

JBossWeb/Tomcat 初始化连接器和处理 Http 请求过程

概述 JBossWeb 是JBoss 中的 Web 容器,他是对 Tomcat 的封装,本文以 Http 连接器为例,简单说明 JBossWeb/Tomcat 初始化连接器和处理 Http 请求过程 .本文内容提要: Connector 初始化开始过程 如何理解 max-connections JIoEndpoint 处理 Socket 请求 Connector 初始化开始过程 如下图所示: WebConnectorService 指的是 `org.jboss.as.web.WebConnect

Tomcat专题(二)-----Tomcat源码、嵌入式Tomcat

Tomcat顶层结构 Server:服务器的意思,代表整个tomcat服务 器,一个tomcat只有一个Server: Service:Server中的一个逻辑功能层, 一个 Server可以包含多个Service: Connector:称作连接器,是Service的核心组 件之一,一个Service可以有多个Connector, 主要是连接客户端请求: Container:Service的另一个核心组件,按照 层级有Engine,Host,Context,Wrapper四种, 一个Servic

Tomcat系列之Apache负载均衡请求至Tomcat及DeltaManager的使用

Tomcat系列之Apache负载均衡请求至Tomcat及DeltaManager的使用