tomcat如何路由映射网址

简介: 对于web容器来说,根据请求客户端路径路由到对应的资源属于其核心功能,假设用户在自己电脑上使用浏览器输入网址,报文通过互联网网络到达该主机服务器,服务器应将其转到test应用的index.jsp页面中进行处理,然后再返回。

对于web容器来说,根据请求客户端路径路由到对应的资源属于其核心功能,假设用户在自己电脑上使用浏览器输入网址,报文通过互联网网络到达该主机服务器,服务器应将其转到test应用的index.jsp页面中进行处理,然后再返回。针对tomcat,为了更加详细说清楚这个过程,引入一张图,
访问示意图
客户端浏览器输入http://tomcat.apache.org/tomcat-7.0-doc/index.html时,浏览器产生的HTTP报文大致如下:

GET /tomcat-7.0-doc/index.html HTTP/1.1
Host: tomcat.apache.org
Connection: keep-alive
Cache-Control: max-age=0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36
Accept-Encoding: gzip, deflate, sdch
Accept-Language: zh-CN,zh;q=0.8

详细的HTTP报文格式可自行查资料,其中重点看加粗的报文,“Host: tomcat.apache.org”表明访问的主机是“tomcat.apache.org”,而“/tomcat-7.0-doc/index.html”则表示请求的资源是“tomcat-7.0-doc”web应用的“index.html”页面,tomcat通过解析这些报文就可以知道该请求对应的资源,由于tomcat根据请求路径对处理进行了容器级别的分层,所以“tomcat.apache.org”对应Host容器,“tomcat-7.0-doc”对应Context容器,“index.html”对应Wrapper容器。
映射
对应上面的请求,该web项目对应的配置文件主要如下:

<Host name="tomcat.apache.org" appBase="webapps" autoDeploy="true">
    <Context path="/tomcat-7.0-doc" docBase=" /usr/tomcat/tomcat-7.0-doc"/>
</Host>

当Tomcat启动好后,http://tomcat.apache.org/tomcat-7.0-doc/index.html请求就会被tomcat的路由器通过匹配算法路由到名为“tomcat.apache.org”的Host容器上,然后在该容器中继续匹配名为“tomcat-7.0-doc”的Context容器(web应用),最后在该Context容器中匹配index.html资源,然后返回给客户端。

点击订购作者《Tomcat内核设计剖析》

博主的书

目录
相关文章
|
11月前
|
前端开发 Java 应用服务中间件
Tomcat和Nginx的资源路径映射
Tomcat和Nginx的资源路径映射
301 1
|
XML 应用服务中间件 数据格式
Tomcat的虚拟目录映射常用的几种方式
Tomcat的虚拟目录映射常用的几种方式
211 0
|
应用服务中间件 Docker 容器
docker安装tomcat 映射配置文件、日志文件
本文是博主学习docker的记录,希望对大家有所帮助。
962 0
docker安装tomcat 映射配置文件、日志文件
|
应用服务中间件 Docker 容器
Docker方式启动tomcat,访问首页出现404错误(第二篇 -- 将修改过的容器映射成镜像)
Docker方式启动tomcat,访问首页出现404错误(第二篇 -- 将修改过的容器映射成镜像)
301 0
Docker方式启动tomcat,访问首页出现404错误(第二篇 -- 将修改过的容器映射成镜像)
|
弹性计算 网络协议 应用服务中间件
阿里云ECS官网域名映射及Tomcat配置调整,最终使用HTTPS和域名直接访问
该篇文章重点说明如何调整Tomcat配置,与域名映射一致,并采用HTTPS访问
4355 0
|
Java 应用服务中间件 Apache
Java Web之tomcat修改80端口和项目映射
知识简介 Java Web开发中使用最多的应该就是Apache旗下的免费服务器tomcat,下载解压后的目录如下: tomcat目录.PNG 启动和关闭它,只要在bin目录下找到如下的批处理文件即可: 开启和关闭.
1150 0
|
存储 应用服务中间件 容器
tomcat请求路由映射核心组件Mapper
Mapper组件的核心功能是提供请求路径的路由映射,根据某个请求路径通过计算得到相应的Servlet(Wrapper)。
1346 0
|
1月前
|
缓存 Java 应用服务中间件
Spring Boot配置优化:Tomcat+数据库+缓存+日志,全场景教程
本文详解Spring Boot十大核心配置优化技巧,涵盖Tomcat连接池、数据库连接池、Jackson时区、日志管理、缓存策略、异步线程池等关键配置,结合代码示例与通俗解释,助你轻松掌握高并发场景下的性能调优方法,适用于实际项目落地。
273 4
|
4月前
|
Java 应用服务中间件 Linux
在Java 12环境中配置和部署Apache Tomcat的步骤。
这段部署Tomcat的冒险旅程充满技术挑战,但同时也像游戏一样充满乐趣。它需要你提前准备,仔细执行,并随时准备解决意外情况。成功后,你就可以在这匹强壮的网络野马上,带着你的Java应用,冲向Web开发的璀璨星空。
146 56
|
7月前
|
网络协议 Java 应用服务中间件
框架源码私享笔记(01)Tomcat核心架构功能 | 配置详解
本文首先分享了《活出意义来》一书序言中的感悟,强调成功如同幸福,不是刻意追求就能得到,而是全心投入时的副产品。接着探讨了Tomcat的核心功能与架构解析,包括网络连接器(Connector)和Servlet容器(Container),并介绍了其处理HTTP请求的工作流程。文章还详细解释了Tomcat的server.xml配置文件,涵盖了从顶级容器Server到子组件Connector、Engine、Host、Context等的配置参数及作用,帮助读者理解Tomcat的内部机制和配置方法。