中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Tomcat應用各個組件的默認值是什么

發布時間:2021-12-08 18:05:57 來源:億速云 閱讀:135 作者:柒染 欄目:大數據

本篇文章給大家分享的是有關Tomcat應用各個組件的默認值是什么,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

今天我們就一起把各個組件的默認值給一起找出來

組件的默認值

Server->StandardServer
Service->StandardService
Executor->StandardThreadExecutor(tomcat里面的線程池實現,為所有的Service所共用)
Connector->new Connector(attributes.getValue(“protocol”));
在EngineRuleSet中,我們可以看到和Engine相關的一系列的初始化

Tomcat應用各個組件的默認值是什么

Engine->StandardEngine
engineConfigClass->org.apache.catalina.startup.EngineConfig
會被轉化成 LifecycleListener
Host->StandardHost
hostConfigClass->org.apache.catalina.startup.HostConfig
Context->StandardContext
configClass->org.apache.catalina.startup.ContextConfig
從源碼中我們可以看到,Context下面都是和我們的web應用息息相關的.如session , cookie,Parameter

最重要的一點是:
Context中設置的loader 是一個WebappLoader. 對每個Context都會去新建一個WebappLoader , 所以說,tomcat中的web應用都是單獨的類加載器.

digester.addObjectCreate(prefix + "Context/Loader",                            "org.apache.catalina.loader.WebappLoader",                            "className");        digester.addSetProperties(prefix + "Context/Loader");        digester.addSetNext(prefix + "Context/Loader",                            "setLoader",                            "org.apache.catalina.Loader");

在加載完Context 之后,會設置Engine的類加載器

digester.addRule("Server/Service/Engine",                         new SetParentClassLoaderRule(parentClassLoader));        addClusterRuleSet(digester, "Server/Service/Engine/Cluster/");

SetParentClassLoaderRule:
會取出digester當前棧頂的元素,并為棧頂的元素設置類加載器

Container top = (Container) digester.peek();        top.setParentClassLoader(parentClassLoader);

其中的parentClassLoader 如下代碼所示,是SharedClassLoader

 /**     * The shared extensions class loader for this server.     */    protected ClassLoader parentClassLoader =        Catalina.class.getClassLoader();

tomcat中的類加載器

在上述分析中,我們看到了類加載器的初始化,實際上,在tomcat中,有四種類加載器,分別是Common Class Loader, Catalina Class Loader , Shared Class Loader , Web App Class Loader.
他們可以加載不同位置的類,做到隔離的效果,也可以做到通用的效果
細致的說明我們下一篇文章再細細介紹

最后說兩句

Tomcat 中大多數的組件都可以看成Container , 如下圖所示

Tomcat應用各個組件的默認值是什么

同時也都有著完整的生命周期:

Tomcat應用各個組件的默認值是什么

所以他們有著相似的行為,因為在閱讀源碼時,會有一種感覺,他們都在做同樣的事情,其實也確實如此, 他們只是對同一行為有著不同的重寫.

以上就是Tomcat應用各個組件的默認值是什么,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

禄劝| 通江县| 廉江市| 吕梁市| 罗源县| 闽侯县| 牡丹江市| 嘉定区| 灵璧县| 靖宇县| 南皮县| 通州区| 福泉市| 祁门县| 平罗县| 嘉祥县| 当雄县| 平潭县| 新和县| 建昌县| 岳池县| 东乌| 宁河县| 武义县| 河源市| 丰台区| 新绛县| 呼玛县| 莲花县| 金溪县| 南昌县| 连云港市| 仙居县| 苏尼特左旗| 乾安县| 历史| 江华| 察雅县| 余干县| 泾川县| 柘荣县|