Tomcat的整體架構

 

  Tomcat通過連接器和容器這兩個核心組件完成整體工作,連接器負責處理socket連接和網絡字節流與Request和Response對象的轉化;容器負責加載和管理Servlet,以及具體處理Request請求。

在學習Tomcat整體架構前需要知道,Tomcat 支持的多種 I/O 模型和應用層協議。

Tomcat 支持的多種 I/O 模型和應用層協議

 Tomcat 支持的 I/O 模型有:

  • NIO:非阻塞 I/O,採用 Java NIO 類庫實現。
  • NIO.2:異步 I/O,採用 JDK 7 最新的 NIO.2 類庫實現。
  • APR:採用 Apache 可移植運行庫實現,是 C/C++ 編寫的本地庫。

  Tomcat 支持的應用層協議有:

  • HTTP/1.1:這是大部分 Web 應用採用的訪問協議。
  • AJP:用於和 Web 服務器集成(如 Apache)。
  • HTTP/2:HTTP 2.0 大幅度的提升了 Web 性能。

  Tomcat 爲了實現支持多種 I/O 模型和應用層協議,一個容器可能對接多個連接器。

  在一個Tomcat中由多個Service,每個Service裏面包含多個連接器和一個容器。通過在 Tomcat 中配置多個 Service,可以實現通過不同的端口號來訪問同一臺機器上部署的不同應用。連接器與容器之間通過標準的 ServletRequest 和 ServletResponse 通信。

 

 

Tomcat整體工作流程 

  • 瀏覽器對服務器發起請求;
  • 連接器接收到請求並處理,將其轉化成Request;
  • 將Request轉換成ServletRequesta發給容器進行處理;
  • 容器通過這個ServeletRequest來定位Servlet,如果Servlet沒有被加載,就需要加載這個Servelet;
  • 執行Servlet中的方法
  • 響應給連接器一個ServletResponse對象
  • 連接器解析Response對象
  • 將解析後的對象響應給前端。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章