天天看點

Tomcat筆記-Catalina 架構

Catalina 是一個非常複雜的,并優雅的設計開發出來的軟體,同時它也是子產品化的。基于“Servlet 容器是如何工作的” 這一節中提到的任務,你可以把 Catalina 看成是由兩個主要子產品所組成的:連接配接器(connector)和容器(container)。在 Figure I.1 中的架構圖。

Tomcat筆記-Catalina 架構

連接配接器是用來“連接配接” 容器裡邊的請求的。它的工作是為接收到每一個 HTTP 請求構造一個 request 和 response 對象。然後它把流程傳遞給容器。容器從連接配接器接收到 request 和 response 對象之後調用 servlet 的 service 方法用于響應。謹記,這個描述僅僅是冰山一角而已。例如,在它調用 servlet 的 service 方法之前,它必須加載這個 servlet,驗證使用者(假如需要的話),更新使用者會話等等。容器為了處理這個程序使用了很多不同的子產品。這也并不奇怪。例如,管理子產品是用來處理使用者會話,而加載器是用來加載servlet類等等。