tomcat 如何实现request请求绑定

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了tomcat 如何实现request请求绑定相关的知识,希望对你有一定的参考价值。

示意图

tomcat

简述

1.  请求进入NioEndpoint,找到协议Handler,

2.  创建Http11Processor,填充request对象

3.  触发CoyoteAdapter 将request、response送入下一环节处理。engine->host-context-servlet

关键代码入口

1.  初始化 connector的协议handler、CoyoteAdapter选择com.tongweb.container.connector.Connector#initInternal

2.  请求进入 -nioEndpoint处理 processor环节

com.tongweb.web.util.net.NioEndpoint.SocketProcessor#doRun

3.  请求进入-协议抽象类AbstractProtocol

com.tongweb.connector.AbstractProtocol.ConnectionHandler#process

3.1 创建Processor

初始化,com.tongweb.connector.http11.AbstractHttp11Protocol#createProcessor 创建Http11Processor 间接创建了Request、Response

4.  Http11Processor

#process 初始化

处理 com.tongweb.connector.http11.Http11Processor#service,填充request 信息

#service

CoyoteAdater触发service方法

this.connector.getService().getContainer().getPipeline().getFirst().invoke(request, response)

以上是关于tomcat 如何实现request请求绑定的主要内容,如果未能解决你的问题,请参考以下文章

如何绑定动态变量?

HTTP请求是如何被转换成request对象的?

Tomcat学习笔记

apache分别基于三种方案实现tomcat的代理负载均衡及会话绑定

Tomcat运行机制

解析关于Tomcat Servlet-request的获取请求参数及几种常用方法