tomcat如何接收http请求:我记得是这样的: Tomcat要实现2个核心功能: 因此Tomcat设计了两个核心组件连接器(Connector)和容器(Container)来分别做这两件事情。 连接器负责对外交流,容器负责内部处理。 处理Socket连接,负责网络字节流与Request和Response对象的转化。 加载和管理Servlet,以及具体处理Request请求。Tomcat与外部世界的连接器,监听固定端口接收外部请求,传递给Container,并将Container 处理的结果返回给外部。连接器对Servlet容器屏蔽了不同的应用层协议及I/O模型,无论是HTTP 还是AJP,在容器中获取到的都是一个标准的ServletRequest对象。 容器,顾名思义就是用来装载东西的器具,在Tomcat里,容器就是用来装载Servlet的。 Tomcat通过一种分层的架构,使得Servlet容器具有很好的灵活性。Tomcat设计了4种容器,分别 是Engine、Host、Context和Wrapper。这4种容器不是平行关系,而是父子关系。 连接器Connector组件 容器Container组件 Engine:引擎,Servlet的顶层容器,用来管理多个虚拟站点,一个Service最多只能有一个Engine; Host:虚拟主机,负责web应用的部署和Context的创建。可以给Tomcat配置多个虚拟主机地址, 而一个虚拟主机下可以部署多个Web应用程序; Context:Web应用上下文,包含多个Wrapper,负责web配置的解析、管理所有的Web资源。一 个Context对应一个Web应用程序。 Wrapper:表示一个Servlet,最底层的容器,是对Servlet的封装,负责Servlet实例的创建、执行 和销毁。