tomcat+spring mvc 原理(三):tomcat网络请求的监控与处理1

本文详细介绍了Tomcat网络请求的监控与处理逻辑,包括Connector的职责、ProtocolHandler、Endpoint、Processor和Adapter的角色。通过分析Connector如何初始化和启动,以及HTTP请求的接收、解包和转发到Container的整个过程,揭示了Tomcat处理网络请求的关键步骤。
摘要由CSDN通过智能技术生成

tomcat+spring mvc 原理(三):tomcat网络请求的监控与处理1

前言:

    tomcat + spring mvc 原理(一):tomcat原理综述总结了tomcat的整体运作原理、静态容器架构和容器配置,tomcat + spring mvc 原理(二):tomcat容器的初始加载与启动详细介绍了tomcat动态容器初始化和启动过程。本文主要介绍tomcat网络请求的监控与处理逻辑。
    利用tomcat + spring mvc架构体系构建服务器,很重要的一个部分就是网络请求的监控、接收、解包、封包、请求传递等功能的实现,这样在建服务器时就只需要关注业务参数的传入和处理,而不用关心网络协议等和业务无关的细节。 一般服务的问题都出现在请求和应答处理的过程,一旦是因为框架内部导致的问题,这时候充分了解tomcat+spring mvc的请求处理逻辑就很重要了。

请求处理的准备

    网络请求相关的处理集中在Connector容器中。由原理一中介绍的总体容器架构可知,Connector是被包含在Service容器中,而且Connector容器的配置也是包含在Service的配置中:

<Service name="Catalina">
  <Executor name="tomcatThreadPool" namePrefix="catalina-exec-"
      maxThreads="150" minSpareThreads="4"/>

  <Connector port="8080" protocol="HTTP/1.1"
             connectionTimeout="20000"
             redirectPort="8443" />

  <Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"
             maxThreads="150" SSLEnabled="true">
      <SSLHostConfig>
          <Certificate certificateKeystoreFile="conf/localhost-rsa.jks"
                       type="RSA" />
      </SSLHostConfig>
  </Connector>

  <Connector port="8443" protocol="org.apache.coyote.http11.Http11AprProtocol"
             maxThreads="150" SSLEnabled="true" >
      <UpgradeProtocol className="org.apache.coyote.http2.Http2Protocol" />
      <SSLHostConfig>
          <Certificate certificateKeyFile="conf/localhost-rsa-key.pem"
                       certificateFile="conf/localhost-rsa-cert.pem"
                       certificateChainFile="conf/localhost-rsa-chain.pem"
                       type="RSA" />
      </SSLHostConfig>
  </Connector>
  ......
</Service>

以上是我从原理(一)介绍的tomcat的默认配置文件server.xml中捞出来的配置。可以看到,<Connector>标签是包含在标签中的<Service>中的,一个Service可以有多个Connector,可以配置线程池来处理请求。tomcat在启动过程中依据这个配置创建Service和Connector,然后根据

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值