tomcat學習筆記之鏈接器

一、Catalina有兩個主要模塊:cookie

(1)鏈接器(connector):jsp

  • 解析http
  • 使servlet可以獲取到請求頭、cookie、參數/值等信息
  • 本章中鏈接器和容器將分開

(2)容器(container)servlet

二、三個模塊test

(1)啓動模塊:BootStrap類,負責啓動應用程序效率

(2)鏈接模塊:容器

  • 鏈接器及其支持類(HttpConnector::等待Http請求的工做,HttpProcessor)
  • Http請求的類(HttpRequest)及其支持的類
  • Http響應的類(HttpResponse)及其支持的類
  • 外觀類(HttpRequestFacade、HttpResponseFacade)
  • 常量類

(3)核心模塊sso

  • ServletProcessor類
  • StaticResourceProcessor類

三、鏈接器須要解析http請求的全部信息請求

  • 爲了提升效率,參數被真正調用前是不會被解析的

四、使用SocketInputStream類(InputStream的包裝類)程序

  • 從套接字裏面的InputStream讀取字節流

五、SocketInputStream類倆重要方法方法

  • readRequestLine():返回請求第一行內容:POST  /example/test.jsp  HTTP/1.1
  • 字節流從前向後調取,readRequestLine 必須在  readHeader 前調用
  • readHeader():每次調用返回一個  key/value  直到全部請求頭讀完
  • readRequestLine()  返回值是 HttpRequestLine
  • readHeader () 返回值是 HttpHeader
相關文章
相關標籤/搜索