91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

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

安吉县| 长治县| 亳州市| 旅游| 冕宁县| 许昌市| 延川县| 洛南县| 吉安市| 敦煌市| 韶山市| 云林县| 邹平县| 天全县| 民勤县| 图们市| 灵寿县| 交城县| 招远市| 英吉沙县| 沙河市| 澎湖县| 汽车| 平利县| 深圳市| 扬中市| 屯留县| 康定县| 松滋市| 赤峰市| 湟源县| 定南县| 军事| 宾川县| 建德市| 罗城| 新蔡县| 苏尼特右旗| 札达县| 长兴县| 五指山市|