一 tomcat 源碼學(xué)習(xí)系列

? ? ? Tomcat 服務(wù)器是一個(gè)開源的輕量級(jí)Web應(yīng)用服務(wù)器,在中小型系統(tǒng)和并發(fā)量小的場(chǎng)合下被普遍使用,是開發(fā)和調(diào)試Servlet、JSP 程序的首選,相信任何一個(gè)java開發(fā)基本都有使用過。所以,作為一名java程序猿,學(xué)習(xí)tomcat源碼,是一件我們義不容辭的事。
今天我們這系列學(xué)習(xí)筆記,重點(diǎn)研究源碼對(duì)象事tomcat7的,源碼下載地址
http://archive.apache.org/dist/tomcat/tomcat-7/v7.0.10/src/apache-tomcat-7.0.10-src.zip
大家可以下載一下,一起研究下tomcat的源碼,相信一定還是會(huì)讓你收獲頗豐的。
先大概說一下分析過程,源碼分析,我一般會(huì)先大體了解整個(gè)架構(gòu),然后從配置文件入手,項(xiàng)目如何啟動(dòng),項(xiàng)目如何運(yùn)行....等等,先看下大體結(jié)構(gòu)圖

簡(jiǎn)化的總體結(jié)構(gòu)圖

tomcat的設(shè)計(jì)對(duì)領(lǐng)域模型概念控制的特別好,Server是最高的一層,下面可以包含了很多services,Connector用了處理用戶連接,然后封裝request和resposne調(diào)用container,這個(gè)模塊被分成endpoint(用于接收tcp/ip請(qǐng)求)、processor(用于將請(qǐng)求封裝成request)、adapator(用于適配找到對(duì)應(yīng)的container)。container作為容器,主要有三個(gè)孩子:engine、host、context(還有個(gè)Wrapper,封裝的是servlet層,相當(dāng)于每個(gè)servlet一個(gè)包裝),三個(gè)孩子都是container的子實(shí)現(xiàn)類。

如此,一個(gè)請(qǐng)求來了,先到了connnector,connnector將其封裝信息找到對(duì)應(yīng)engine,在進(jìn)一步找到host,最后進(jìn)入上下文context,找到對(duì)應(yīng)的處理類,看下簡(jiǎn)化的內(nèi)部結(jié)構(gòu)圖


tomcat內(nèi)部結(jié)構(gòu)

簡(jiǎn)單

按照習(xí)慣,我們將從如下幾個(gè)維度分析

  1. tomcat 源碼分析技巧
  2. tomcat 啟動(dòng)腳本分析部分
  3. tomcat啟動(dòng)源碼分析(一)--入口代碼Bootstrap初始化
  4. tomcat啟動(dòng)源碼分析(二)--入口代碼calatina啟動(dòng)介紹
  5. tomcat啟動(dòng)源碼分析(三)--http請(qǐng)求nio處理
  6. tomcat啟動(dòng)源碼分析(四)--tomcat和jetty區(qū)別總結(jié)

下面,我們進(jìn)入第一個(gè)部分tomcat的啟動(dòng)腳本分析。。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 轉(zhuǎn)自陳明乾的博客,可能有一定更新。 轉(zhuǎn)原文聲明: 原創(chuàng)作品,允許轉(zhuǎn)載,轉(zhuǎn)載時(shí)請(qǐng)務(wù)必以超鏈接形式標(biāo)明文章 原始出處 ...
    LUNJINGJIE閱讀 4,106評(píng)論 1 33
  • 轉(zhuǎn)自陳明乾的博客,可能有一定更新。 轉(zhuǎn)原文聲明:原創(chuàng)作品,允許轉(zhuǎn)載,轉(zhuǎn)載時(shí)請(qǐng)務(wù)必以超鏈接形式標(biāo)明文章 原始出處 、...
    C86guli閱讀 4,884評(píng)論 6 72
  • 建水紫陶的工藝流程大致有十五個(gè)步驟:泥料的制備——揉泥——拉坯——晾坯——修坯——裝飾——陰刻——填泥——攤泥——...
    月光寒處空幃冷閱讀 1,267評(píng)論 0 0
  • 從你的全世界路過,只是路過,卻是全世界。 路過,會(huì)想到不經(jīng)意,會(huì)想到短暫,會(huì)想到順便的經(jīng)過,當(dāng)他與你的全世界聯(lián)系...
    一偶閱讀 227評(píng)論 0 1
  • 這是一首反映征人懷念故鄉(xiāng)、思念妻室的詩。主人公拋棄妻子久戍在外,他思念家人,歸心似箭。 揚(yáng)之水, 不流束薪。 彼其...
    易道yidao閱讀 184評(píng)論 0 0

友情鏈接更多精彩內(nèi)容