Tomcat源码分析

Tomcat源码分析

一、Tomcat模块分析

  • Server

    ​ 代表tomcat服务(一个)

  • Service

    ​ 逻辑层(在一个server中可以允许有多个service)

  • Connector

    处理连接(接收请求)

  • Container

    connector接收的请求在Container完成业务处理

    ​ Engin 表示整个Servlet引擎

    ​ Host 虚拟主机 对包进行自动解压、开启自动部署等功能

    ​ Context 带表每一web应用程序、

    ​ Wrapper 代表Http请求

二、Tomcat源码分析

2.1 Tomcat主流程分析

当客户端浏览器发送请求给服务器,服务器接受并处理请求然后返回给客服端。

Tomcat是初始化是怎么完成的呢?

BootStarp #init() --Catalina #init() --Server#init() --> Service#init()—>Executor#init()–》 Engine#init()–>> Host()#init()- >Context#init()–>Connector#init()–>> ProtocalHandler#init()

  • BootStarp# init() Tomcat启动的主入口

  • Catalina#init()

  • Server#init()

  • Executor#init()

  • Host#init()

  • Context#init()

  • Connector#init()

  • ProtocalHandler#init

    Tomcat启动分析

    ​ BootStarp #start() --Catalina #start() --Server#start() --> Service#start()—>Executor#start()–>> Host()#start()- >Context#start()–>Connector#start()–>> ProtocalHandler#start()


    2.2 Tomcat源码深度分析

    • ProtocalHandler 采用了组件模式设计主要作用,将处理网络连接,字节流封装成Request对象,再将Request适配成Servlet处理ServletRequest对象、

      Endpoint:封装底层的socket网络请求。

      Processor 他socket字节流封装成Request对象

      Adapter 将Request对象适配成容器能够识别的Request对象

三、Tomcat内核分析

四、Tomcat远程调试

五、Tomcat内存优化

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值