Tomcat原始碼解析(16)

2021-08-07 22:29:01 字數 772 閱讀 3774

部署器

使用乙個web應用程式,必須表示該應用程式的context例項,部署到乙個host例項。

在tomcat中,可以用war檔案的形式來部署。

對於部署的每個應用程式,可以包含乙個描述檔案。包含context例項的配置資訊

deployer介面

部署器與乙個host例項相關聯,用來安裝context例項。

之前,我們通過

context context = new context();

host host = new host();

context.addchild(host);

部署應用程式。

tomcat是不會使用這種方式的。

在standardhost例項使用org.apache.catalina.startup.hostconfig類的生命週期***。

在server.xml中,遇到「server/service/engine/host」,就將hostconfig例項加入host中。

standardhost類的isdeployxml()指明,host例項是否要部署乙個context例項的描述檔案。

livedeploy指明host例項是否要週期性檢測乙個新的部署。

unpackwars指明將war檔案形式的web應用程式解壓。

部署乙個war

hostconfig類,提供deploywars()方法。

standardhostdeployer類,有兩個install方法()用於安裝描述符

tomcat原始碼閱讀16

org.apache.catalina.session包 該包包括標準manager和session的實現,用於表示活動的session和獨立的session,他們都與相應的上下文相關聯。constants 該包的常量 filestore store介面的實現,將session儲存到配置目錄的檔案中...

Tomcat原始碼解析(6)

用來記錄訊息的元件。在catalina中,日誌記錄器需要與某個servlet容器相關聯。在org.apache.catalina.logger包下,tomcat提供幾種不同型別的日誌記錄器。與上一節的程式相比,只是 context和bootstrap類有變化。logger介面 提供了一些log 方法...

TOMCAT原始碼分析 http訊息解析

之前提到tomcat的http訊息由socketprocessor處理,通過init時註冊的handler傳給http11connectionhandler process.之後呼叫http11processor process,在這個函式中完成請求的整個過程。使用chrome中請求 1.在inpu...