Tomcat的http请求处理
- 浏览器发送url给后端默认端口为80,被在端口处监听的Connector捕获。
- Connector把捕获的请求交给它所在的Service的Engine来处理,并等待来自Engine的回应。
- Engine获得请求的url,匹配他所拥有的所有虚拟机Host。
- Host匹配到路径前缀相同的Context(如果匹配不到,就该把请求缴费路径名为""的Context去处理)
- Context获得请求url,在它的mapping table中寻找对应的servlet
- Context匹配到URL PATTERN为*.jsp的servlet,对应于JspServlet类
- 构造HttpServletRequest对象和HttpServletResponse对象,作为参数调用Servlet的doGet或doPost方法
- Context把执行完了之后的HttpServletResponse对象返回给Host
- Host把HttpServletResponse对象返回给Engine
- Engine把HttpServletResponse对象返回给Connector
- Connector把HttpServletResponse对象返回给客户浏览器
图片按我自己理解来的,仅作参考,和上边的序号不对应

本文详细解析了Tomcat服务器处理HTTP请求的过程,从浏览器发起URL请求到Connector捕获,再到Engine、Host、Context、Servlet的层层传递,最后返回响应给客户端。深入理解这一流程对于优化Web应用性能和排查问题至关重要。
688

被折叠的 条评论
为什么被折叠?



