美文网首页
一 tomcat 源码学习系列

一 tomcat 源码学习系列

作者: 爱编程的凯哥 | 来源:发表于2018-12-23 22:18 被阅读51次

          Tomcat 服务器是一个开源的轻量级Web应用服务器,在中小型系统和并发量小的场合下被普遍使用,是开发和调试Servlet、JSP 程序的首选,相信任何一个java开发基本都有使用过。所以,作为一名java程序猿,学习tomcat源码,是一件我们义不容辞的事。
    今天我们这系列学习笔记,重点研究源码对象事tomcat7的,源码下载地址
    http://archive.apache.org/dist/tomcat/tomcat-7/v7.0.10/src/apache-tomcat-7.0.10-src.zip
    大家可以下载一下,一起研究下tomcat的源码,相信一定还是会让你收获颇丰的。
    先大概说一下分析过程,源码分析,我一般会先大体了解整个架构,然后从配置文件入手,项目如何启动,项目如何运行....等等,先看下大体结构图

    简化的总体结构图

    tomcat的设计对领域模型概念控制的特别好,Server是最高的一层,下面可以包含了很多services,Connector用了处理用户连接,然后封装request和resposne调用container,这个模块被分成endpoint(用于接收tcp/ip请求)、processor(用于将请求封装成request)、adapator(用于适配找到对应的container)。container作为容器,主要有三个孩子:engine、host、context(还有个Wrapper,封装的是servlet层,相当于每个servlet一个包装),三个孩子都是container的子实现类。

    如此,一个请求来了,先到了connnector,connnector将其封装信息找到对应engine,在进一步找到host,最后进入上下文context,找到对应的处理类,看下简化的内部结构图


    tomcat内部结构

    简单

    按照习惯,我们将从如下几个维度分析

    1. tomcat 源码分析技巧
    2. tomcat 启动脚本分析部分
    3. tomcat启动源码分析(一)--入口代码Bootstrap初始化
    4. tomcat启动源码分析(二)--入口代码calatina启动介绍
    5. tomcat启动源码分析(三)--http请求nio处理
    6. tomcat启动源码分析(四)--tomcat和jetty区别总结

    下面,我们进入第一个部分tomcat的启动脚本分析。。

    相关文章

      网友评论

          本文标题:一 tomcat 源码学习系列

          本文链接:https://www.haomeiwen.com/subject/fdsokqtx.html