亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

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

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

赤峰市| 运城市| 永胜县| 松阳县| 黔东| 泸定县| 钟山县| 扶余县| 班玛县| 阜南县| 师宗县| 永靖县| 隆德县| 平陆县| 朝阳县| 甘肃省| 清苑县| 合作市| 图们市| 漯河市| 大埔县| 朝阳市| 和田市| 石门县| 永和县| 平安县| 中方县| 大同县| 息烽县| 密云县| 武冈市| 元江| 沭阳县| 萨迦县| 东山县| 靖边县| 长宁区| 孝感市| 黑水县| 汉沽区| 辽宁省|