tomcat7中server.xml处理一个http请求过程

本文详细介绍了Tomcat处理HTTP请求的过程,从客户端发起请求开始,依次经过Connector、Service、Engine、Host及Context等组件,最终由特定的Servlet处理请求并生成响应。
对于一次访问过程,主要有以下几个步骤,假设来自客户的请求为:http://localhost:8080
/test/index.jsp

1)请求被发送到本机端口 8080,被在那里侦听的 HTTP Connector 获得;
2Connector 把该请求交给它所在的 Service Engine 来处理,并等待来自 Engine
的回应;
3Engine 获得请求 localhost/test/ index.jsp,匹配它所拥有的所有虚拟主机 Host
4Engine 匹配到名为 localhost Host(即使匹配不到也把请求交给该 Host 处理,
因为该
Host 被定义为当前 Engine 的默认主机);
5localhost Host 获得请求/test/index.jsp,匹配它所拥有的所有 Context
6Host 匹配到路径为/test Context(如果匹配不到就把该请求交给路径名为""
Context 去处理);
7path="/test"Context 获得请求/index.jsp,在它的 mapping table 中寻找对应的
Servlet
8Context 匹配到 URL PATTERN *.jsp Servlet,对应于 JspServlet 类;
9HttpServletRequest 对象和 HttpServletResponse 对象,作为参数调用 JspServlet
doGet doPost 方法;
10Context 把执行完了之后的 HttpServletResponse 对象返回给 Host
11Host HttpServletResponse 对象返回给 Engine
12Engine HttpServletResponse 对象返回给 Connector
13Connector HttpServletResponse 对象返回给客户浏览器。
这样,一次的请求响应过程结束。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值