示意图
简述
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)标签:service,tomcat,tongweb,绑定,request,connector,Http11Processor,com From: https://blog.51cto.com/u_15913327/5989480