java学习---Tomcat 请求流程

Posted 易小顺

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java学习---Tomcat 请求流程相关的知识,希望对你有一定的参考价值。

Tomcat处理一个HTTP请求的过程



  • 用户在浏览器中输入网址(默认添加端口号:8080)。请求被发送到 8080 端口后,由监听 HTTP/1.1Connector 获得请求。
  • Connector 把请求交给 serviceEngine(servlet引擎) 处理。并等待引擎的响应。
  • Engine(servlet引擎) 获取请求的路径,匹配所有的虚拟主机 Host
  • Engine 匹配名为 localhost 对应的 Host (如果没有的,被 Host 定义为 servlet 引擎的默认主机)。localhost 对应的虚拟主机获取请求的资源,匹配他所拥有的 Context 环境。
  • 通过 path(请求的路径)在 Context 中获取请求的资源,在他的 Mapping table 中找到处理此路径请求的 servlet,并匹配对应的 jspServlet 类。
  • 构造 HttpServletRequestHttpServletResponse,作为参数调用 Servlet 中的doGetdoPost 执行业务。
  • Context 把执行完之后的 Response 这个响应对象返回给虚拟主机 Host
  • HostResponse 对象返回给 Engine
  • EngineResponse 返回给 Connector
  • ConnectorResponse 对返回给客户端 Browser
  • Browser 显示所返回的内容

以上是关于java学习---Tomcat 请求流程的主要内容,如果未能解决你的问题,请参考以下文章

tomcat学习笔记Tomcat源码剖析

jsp页面被tomcat引擎运行的时候组装成java片段,但是这些java片段怎么没有main方法作为程序的入口啊?

tomcat学习笔记系统架构和原理

tomcat学习笔记系统架构和原理

Java web学习课程之Request和Response

面试官:谈谈 Tomcat 请求处理流程,我一脸懵逼。。