tomcat如何支持web應用引發的思考

此文屬於基於現有工作經驗的一個思考 ,純屬YY設想,無實際源碼實現參考依據

思考命題
tomcat是如何支持一個web系統啓動並且正常提供服務的

現狀
我們開發一個web系統,然後部署到tomcat容器中,就可以正常提供服務了,比如Hellow Word
我們訪問http://localhost:80/ 就可以看到了,這就是一個最簡單的web服務

思考
1、不管是從系統日誌還是從訪問地址上看,我們都能看到一個端口號的概念,那我們首先應該可以知道,web容器提供服務,必須需要先使用IO服務佔用一個系統進程監聽一個活躍端口,佔用了端口就可以基於此端口做交互了
2、從端口接受到客戶數據,那必然要有的就是協議轉換了,解析協議數據轉成對象
3、tomcat 都有server.xml這個文件,我們看內容可以很直觀的清楚 這是容器的一些內置配置信息,可以根據用戶需求調整。
4、tomcat部署的應用都是一個war包 內部都有WEB-INF\web.xml 我們很明顯可以看到的就是servlet的標籤配置 ,根據配置的一個servlet對呀的路徑不同來處理不同的請求分發到那個服務上。這就是請求的分發策略控制。
5、分發之後,理論上就是我們的處理邏輯了,處理完之後就直接返回出去就行了。

抽象
1、啓動進程佔用端口開始監聽信息
2、協議轉換 將網絡傳輸數據轉換成系統認的數據
3、請求路由,根據路由策略,適配對應的處理引擎
4、執行完成後返回數據
5、各種配置和插件擴展支撐
如上四步大致可以完成服務支持。具體事項我們可以基於不同的點展開即可

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章