5 - Tomcat Server处理一个http请求的过程
假设来自客户的请求为:
http://localhost:8080/wsota/wsota_index.jsp
1) 请求被发送到本机端口8080,被在那里侦听的Coyote HTTP/1.1 Connector获得
2) Connector把该请求交给它所在的Service的Engine来处理,并等待来自Engine的回应
3) Engine获得请求localhost/wsota/wsota_index.jsp,匹配它所拥有的所有虚拟主机Host
4) Engine匹配到名为localhost的Host(即使匹配不到也把请求交给该Host处理,因为该Host被定义为该Engine的默认主机)
5) localhost Host获得请求/wsota/wsota_index.jsp,匹配它所拥有的所有Context
6) Host匹配到路径为/wsota的Context(如果匹配不到就把该请求交给路径名为""的Context去处理)
7) path="/wsota"的Context获得请求/wsota_index.jsp,在它的mapping table中寻找对应的servlet
8) Context匹配到URL PATTERN为*.jsp的servlet,对应于JspServlet类
9) 构造HttpServletRequest对象和HttpServletResponse对象,作为参数调用JspServlet的doGet或doPost方法
10)Context把执行完了之后的HttpServletResponse对象返回给Host
11)Host把HttpServletResponse对象返回给Engine
12)Engine把HttpServletResponse对象返回给Connector
13)Connector把HttpServletResponse对象返回给客户browser
分享到:
相关推荐
tomcat中server配置文件的结构,以及处理一个http请求的全过程
其次,“工具”的标签提示我们,Tomcat不仅是一个服务器,还是一个强大的开发工具。在实际开发中,我们可以通过配置Tomcat的server.xml文件来调整服务器设置,如端口、线程池大小、上下文路径等。此外,Tomcat还提供...
Apache Tomcat是一个开源的Servlet容器,主要用来运行Java Servlet和JavaServer Pages(JSP)。`server.xml`是Tomcat的核心配置文件,控制着Tomcat的启动、运行和停止,对性能优化、安全性提升等方面具有至关重要的...
`Connector`是Tomcat的Catalina核心模块的一部分,它通过一个特定的协议(如HTTP/1.1或AJP)监听客户端的请求,并将这些请求转化为内部可处理的格式,然后传递给`Container`(通常是`Engine`、`Host`和`Context`)...
- 通常存在一个默认的Service,例如"Catalina"或"Apache",其中会包含一个Engine和一个或多个Connector。 3. <Connector> 标签:用于配置Tomcat接收客户端请求的接口信息,比如端口号、协议等。 - tomcatPort:...
Apache HTTP Server(通常简称为Apache)是世界上最流行的Web服务器,而Tomcat则是一个开源的Java Servlet容器,主要用于运行Java Web应用程序。将这两者结合使用,可以实现强大的动态内容处理和静态资源服务。本文...
### TOMCAT原理详解及请求过程 #### 一、TOMCAT概述 TOMCAT是一个开源的免费的轻量级Web应用服务器,它主要作为一个JSP/Servlet容器而被广泛使用。Tomcat支持Java Servlet和JavaServer Pages (JSP)技术,并且提供...
`<Server>`内部包含一个或多个`<Service>`元素,每个`Service`代表一个独立的服务单元,通常包含至少一个`Connector`和一个`Engine`。`<Service>`的`name`属性用于唯一标识该服务。 `<Connector>`元素是客户端与...
在Tomcat6中,通常只有一个Server实例。 2. **Service**: Service元素代表一个服务,它包含一个或多个Connector和一个Engine。Connector负责接收HTTP请求并将它们传递给Engine处理,Engine则负责处理请求并返回...
`URIEncoding`参数是Tomcat连接器(Connector)配置中的一个重要元素,用于指定请求URI的字符编码。默认情况下,Tomcat不处理请求URI的编码,这可能导致非ASCII字符在URL中传输时出现乱码。将`URIEncoding`设置为`...
在Apache Tomcat服务器中,`server.xml`是一个至关重要的配置文件,它定义了服务器的基本结构和行为。这个文件位于Tomcat安装目录下的`conf`子目录中,是整个Tomcat配置的核心。本文将深入探讨`server.xml`的各个...
4. **修改workers.properties文件**:此文件用于定义不同的worker,每个worker代表一个Tomcat实例,包括其主机名和端口号。通过修改此文件可以轻松地添加或删除Tomcat服务器,实现负载均衡。 5. **修改Tomcat配置...
`<Valve>`是处理请求链中的一个环节,`className`定义Valve实现类。例如,`AccessLogValve`可记录应用程序的访问信息,`directory`、`pattern`等属性控制日志的输出和格式。 总结,`server.xml`配置文件是Tomcat的...
Tomcat 是一个流行的 Web 服务器软件,用于部署基于 Java 的 Web 应用程序。为了确保数据传输的安全性,需要使用 HTTPS 协议来加密数据。在本文中,我们将介绍如何配置 Tomcat 来发送 HTTPS 请求,包括生成 JKS 文件...
4. 配置Tomcat:在Tomcat的conf/server.xml文件中,添加一个名为AJP/1.3的Connector,用于接收来自Apache的请求。AJP(Apache JServ Protocol)是一种协议,允许Web服务器与Servlet容器之间高效地交换数据。 5. ...
mod_jk 模块是Apache HttpServer中的一个加载项,它实现了AJP协议,允许Apache与Tomcat之间通过高速协议交换请求和响应。安装并配置mod_jk后,Web服务器可以将动态请求转发给Tomcat,而Tomcat处理完后返回结果给...
Server的主要职责是管理Service的生命周期,并提供一个接口供客户端访问Service集合。 2. Service组件: Service是连接Connector和Engine的桥梁,它允许一个或多个Connector共享同一个Engine。Service的配置可以...
Engine 元素处理在同一个 Service 中所有 Connector 元素接收到的客户请求。Engine 元素的配置项包括: * className:指定实现 Engine 接口的类,默认值为 StandardEngine。 * defaultHost:指定处理客户的默认主机...
作为Java Servlet和JavaServer Pages(JSP)的容器,Tomcat能够接收来自浏览器的HTTP请求,并将这些请求转发到相应的Java Web应用程序中进行处理。同时,它也负责将应用程序的响应结果回传给发出请求的浏览器,确保...
默认情况下,Tomcat提供了一个org.apache.catalina.Server接口的实现,通常用户不需要对其进行自定义。Server管理Service、Listener以及其他系统级别的配置。 2. **Service** - Service组件存在于Server内,负责将...