博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Tomcat Server处理一个http请求的过程
阅读量:6811 次
发布时间:2019-06-26

本文共 858 字,大约阅读时间需要 2 分钟。

 

假设来自客户的请求为:

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

 

转载于:https://www.cnblogs.com/heiming/p/5837342.html

你可能感兴趣的文章
在github上搭建个人博客
查看>>
19.QT-事件发送函数sendEvent()、postEvent()
查看>>
.gitkeep
查看>>
JavaScript 中的12种循环遍历方法
查看>>
springcloud~演化的微服务架构
查看>>
原生JS实现new方法、new一个对象发生的四部、new里面常用的优先级
查看>>
Android GreenDao清空数据库的方法
查看>>
新建git并将本地代码上传到分支
查看>>
CentOS7 安装 mysql8
查看>>
区块链钱包的工作原理
查看>>
高效方便的IO库: System.IO.Pipelines
查看>>
分析轮子(三)- 十进制整数怎么变成无符号二进制的整数的
查看>>
vue - 使用axios
查看>>
查看、修改linux系统的最大链接数限制、文件描述符限制、端口范围限制、虚拟内存等...
查看>>
算法讲课---1、贪心
查看>>
NUMA的关闭方法【转】
查看>>
Silverlight & Blend动画设计系列五:故事板(StoryBoards)和动画(Animations)
查看>>
支付(异步通知notify_url 与 同步通知return_url的区别)
查看>>
如何使用Nginx对抗DDoS攻击?
查看>>
PHP错误:SQLSTATE[HY000] [2054] The server requested authentication method unknown to the client
查看>>