學習tomcat源碼知識

下面是我自己學習的筆記,其他人看不懂就不要看了

特別註明 :我之前的公司的人不能看,包括:劉天龍、冉大亮、劉珅、從立。

1.miniBrown是模擬瀏覽器,會發送http
2.BootStrap是創建了一個SocketServer
3.request類,裏面包括socket、url、輸入流
4.response類,裏面包括返回流、類型比如text/html
5.const類,裏面有各種常量
6.文本文件,這是一個功能。找到文件,並輸出String給response
7.日誌,這是一個功能。沒什麼意思,不用看
8.耗時任務,這是一個功能。沒什麼意思,不用看
9.線程池,這是一個功能。沒什麼意思,不用看
10.多應用,Context 類,每一個context對象就表示是一個應用
裏面有path和docBase;除了root文件夾,其他的path和docBase是一樣的
並保存在contextMap緩存裏
改造request類,request類裏面有一個context,因爲每個請求都會對應一個應用中的什麼資源
11. 配置型多應用,一般來說不需要這個。
12.tomcat的內置對象有哪些
Server, Service, Engine, Host, Connector
1個host表示主機,對應一個ContextMap,ContextMap就是應用的緩存。 即1個主機,可以部署多個應用
1個request對應一個context應用,對應一個host主機
engine不需要學習。1個engine對應多個host
service不需要學習。1個service對應多個engine
server不需要學習。1個server對應多個service
13.404頁面的含義。當找不到對應的文件
14.500頁面的含義。出錯了
15.mimetype。就是一個文件後綴格式的映射,輸出到resonse的contextType字段上
16.二進制文件。這是一個功能。不需要學習
17.connector。就是說對外開放多個端口的意思
18.httpprocessor
19.HelloServlet。就是一個普通的servlet類。輸入是request和response
20.配置servlet。讀取每一個context中的web.xml,將裏面的類解析出來加載到context的list緩存中
21.invokeServlet。用於處理servlet。根據url獲得servlet類,反射獲得類並執行service方法
22.defaultServlet。用於處理文本請求。如果根據url可以找到類,那麼就用invokeServlet;如果根據url不能找到類,那麼就用defaultServlet

 

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