亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

Tomcat 5.5.23 文檔閱讀Tips 9 - Class Loading

系統(tǒng) 1809 0
本文講述了Tomcat的classloading的邏輯。?

1. 之所以要講Classloading的事情,關(guān)鍵還是解決在開發(fā)過(guò)程中碰到的class找不到,一些資源文件找不到的問(wèn)題。要解決這樣的問(wèn)題,就必須理解Tomcat的classloader會(huì)到什么地方去找class,找資源。?

2. 首先是一個(gè)總結(jié),告訴我們應(yīng)該怎樣防止自己的class和資源:?

(1) For classes and resources specific to a particular web application, place unpacked classes and resources under /WEB-INF/classes of your web application archive, or place JAR files containing those classes and resources under /WEB-INF/lib of your web application archive.?
(2) For classes and resources that must be shared across all web applications, place unpacked classes and resources under $CATALINA_BASE/shared/classes, or place JAR files containing those classes and resources under $CATALINA_BASE/shared/lib.?

大體的意思就是,如果資源和class文件只是for一個(gè)web app的,那么請(qǐng)把class文件,資源文件放到/WEB-INF/classes目錄下,如果已經(jīng)將class或資源文件打成了jar包,或是一些第三方的jar包,請(qǐng)放到/WEB-INF/lib目錄下;如果這些class和資源文件要共享給其他的web app,請(qǐng)把他們放到$CATALINA_BASE/shared/classes, $CATALINA_BASE/shared/lib目錄下。這里,$CATALINA_BASE一般就是$CATALINA_HOME,只不過(guò)的當(dāng)我們啟動(dòng)了多個(gè)Tomcat的時(shí)候,需要用到$CATALINA_BASE,因?yàn)槎鄠€(gè)Tomcat他們的$CATALINA_HOME不一定一樣。?

3. 然后文章就詳細(xì)描述了Tomcat的一些classloader,和他們的邏輯,從而也就解釋了上面的總結(jié),可以看到最后的webappx這種classesloader就會(huì)負(fù)責(zé)load某個(gè)webapp中的資源,而有一個(gè)叫做Shared的classloader就會(huì)load放在$CATALINA_BASE/shared目錄下的資源。這就是為什么我們把東西放在這些地方就能被發(fā)現(xiàn)和load的原因。具體可以看本文檔,講的很詳細(xì),包括Tomcat下面common目錄下的東西是由哪個(gè)classloader load的(就是一個(gè)名為Common的classloader),等等。比如那個(gè)名為Catalina的classloader就負(fù)責(zé)load tomcat自己的classes,所以這個(gè)classloader對(duì)于webapp來(lái)說(shuō)是不可見(jiàn)的。這里就是Tomcat中的classloader的關(guān)系圖:?

?

Bootstrap
?????????????|
???????System
?????????????|
???????Common
?????????/??????\
Catalina????Shared
??????????????????/????\
????????Webapp1??Webapp2?...

?

? 4. 最后文檔給出了一個(gè)非常有用的東西,也就是對(duì)于一個(gè)web app來(lái)說(shuō),tomcat是按照如下順序來(lái)尋找class和資源的:?


    Bootstrap classes of your JVM?
    System class loader classses (described above)?
    /WEB-INF/classes of your web application?
    /WEB-INF/lib/*.jar of your web application?
    $CATALINA_HOME/common/classes?
    $CATALINA_HOME/common/endorsed/*.jar?
    $CATALINA_HOME/common/i18n/*.jar?
    $CATALINA_HOME/common/lib/*.jar?
    $CATALINA_BASE/shared/classes?
    $CATALINA_BASE/shared/lib/*.jar

Tomcat 5.5.23 文檔閱讀Tips 9 - Class Loading


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長(zhǎng)會(huì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 综合亚洲欧美日韩一区二区 | 9984四虎永久免费网站 | 国产精品色婷婷在线观看 | 久久在线中文字幕 | 日韩中文字幕精品免费一区 | 久久中文字幕久久久久91 | 麻豆成人久久精品二区三 | 久久天天躁狠狠躁夜夜2020一 | 久久.com| 射狠狠| 99久久99热久久精品免费 | 最新男同志freevideos | 一级毛片日韩 | 黄色四虎影院 | 亚洲国产高清人在线 | 久热九九| 香蕉网站男人网站 | 国产毛片久久久久久国产毛片 | 欧美日韩免费在线视频 | 久久不卡一区二区三区 | 成人午夜在线观看国产 | 色老头福影院韩国激情影院 | 美女黄频免费观看 | 国产福利视频奶水在线 | 一级不卡毛片 | 亚洲综合色色图 | 五月婷婷视频在线观看 | 在线播放 亚洲 | 久久思re热9一区二区三区 | 久久久国产99久久国产首页 | 亚洲视频精品在线观看 | 一级午夜a毛片免费视频 | 久久久久久尹人网香蕉 | 日韩精品一区二区三区视频 | 香蕉亚洲 | 久久天天躁狠狠躁夜夜躁综合 | 欧美综合激情 | 中文精品北条麻妃中文 | 中文字幕亚洲综合久久 | 日日碰狠狠添天天爽爽爽 | 一级特黄aa毛片免费观看 |