tomcat工作原理
Tomcat 整体架构
Tomcat 是一个免费的、开源的、轻量级的 Web 应用服务器。适合在并发量不是很高的中小企业项目中使用。
一个客户端请求到达Tomcat之后的处理流程如上图所示:
当Tomcat启动后,假设来自客户的请求为:
http://localhost:8080/index.jsp
- 请求被发送到本机端口8080,被监听的Connector的接收器Acceptor获得。
- 一旦监听到客户端连接,Connector则将该请求交给它所在的Service的Engine来处理,并等待来自Engine的回应。
- Http11Processor负责从客户端连接中读取Http报文并进行解析,解析后的报文封装成Request对象。
- Maper根据Http协议请求的URL值和Host属性匹配由哪个Host、哪个Context和哪个Wrapper容器来处理请求。
- CoyoteAdaptor负责将Connector组件和Engine容器连接起来,将Request对象和Response对象传递到Engine容器中。
- Engine容器的请求处理管道开始工作,管道里包括若干Valve,每个Valve都负责一些处理逻辑。
- Engine容器的请求处理管道工作完成后,再依次交给Host容器的处理管道、Context容器的处理管道和Wrapper容器的处理管道。最后将结果输出到客户端。
上一篇:JNA 调用动态链接库