六月婷婷综合激情-六月婷婷综合-六月婷婷在线观看-六月婷婷在线-亚洲黄色在线网站-亚洲黄色在线观看网站

明輝手游網中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

Tomcat4.1.x以上中類的加載

[摘要]Tomcat4.1.x以上中類的加載快速開始1.某一個特殊的web應用用到的類或者資源,應該把它解壓縮放在這個web應用的web-inf/classes下,或者把jar文件放在這個web應用的web...
Tomcat4.1.x以上中類的加載
快速開始
1.某一個特殊的web應用用到的類或者資源,應該把它解壓縮放在這個web應用的web-inf/classes下,或者把jar文件放在這個web應用的web-inf/lib下
2.很多web應用公用的類或者資源,應該把它解壓縮放在%CATALINA_HOME%/shared/classes下(如果是4.0.x則是%CATALINA_HOME%/classes),或者把jar文件放在%CATALINA_HOME%/shared/lib下(如果是4.0.x則是%CATALINA_HOME%/lib)
預覽
象很多應用程序服務器一樣,tomcat4.x安裝了一種特殊的class loader(這個類繼承了抽象類java.lang.ClassLoader),所以它允許容器的不同部分和應用程序訪問相應的不同的資源。
在java2(jdk1.2以上)環境中,class loader被抽象成一個樹型。當一個class loader被請求裝載一個特殊的類或資源時,它把這個請求委派給自己的上一層,當上一層沒有找到這個類或資源時,它才在自己的范圍內查找并加載。Web 應用程序類的裝載有細微的不同,但是主要的原理都是一樣的。
當tomcat4啟動時,它建立如下所示的樹型關系。
Bootstrap

System

Common
/ \
Catalina Shared
/ \
Webapp1 Webapp2 ...
詳細解釋
當tomcat初始化時,它建立了如上圖所示的class loader結構。
Bootstrap
這個class loader 包含了基本的運行時的類,和一些擴展類(在%JAVA_HOME%/jre/lib/ext 目錄下),這些類都由jvm自動加載。
System
這個class loader 通常用來初始化classpath環境變量的內容,所有的這些類對tomcat內在的類和所有的web應用程序是可見的。但是標準的tomcat4.x啟動腳本(%CATALINA_HOME%/bin/catalina.sh 或者 %CATALINA_HOME%/bin/catalina.bat)忽略classpath,而叢下面的地方裝載
1.%CATALINA_HOME%/bin/bootstrap.jar-包含了main()方法初始化tomcat4.x Server,而且class loader依靠它實現。
2.%JAVA_HOME%/lib/tools.jar-包含了javac 編譯程序,它可以把jsp頁面轉換為servlet。
Common
這個class loader加載的類對tomcat內在的類和所有的web應用程序是可見的,通常web應用程序的類不應該放在這里。
解壓后的類或資源放在%CATALINA_HOME%/common/classes 目錄下,沒有解壓的類或資源的jar文件放在
%CATALINA_HOME%/commons/endorsed 和%CATALINA_HOME%/common/lib directories 目錄下。這里默認的包含了如下資源和類:
1.jndi.jar - The Java Naming and Directory Interface API classes (這個包僅僅在jdk1.2才會被加載,jdk1.3或更高版本由jvm自動加載)。
2.naming-common.jar – tomcat實現的jndi 描述內存中的命名上下文。
3.naming-resources.jar – tomcat實現的特殊的jndi用來表現web應用程序的靜態資源。
4.Servlet.jar – Servlet 和 jsp 用到的類。
5.Xserces.jar - xml解析器默認情況下對tomcat內在的類和所有的web應用程序是可見的,如果要對一個特殊的web應用程序用特殊的xml解析器,可以把這個解析器放在/web-inf/lib中。
Catalina
這個class loader 為tomcat自己初始化所有的類和資源,這些類和資源對web應用程序來說都是不可見的,所有的解壓縮的類和資源都在%CATALINA_HOME%/server/classes目錄下,所有的壓縮的類和資源的jar文件都在%CATALINA_HOME%/server/lib目錄下。
Shared
這個類裝載器載入的類和資源能對所有的web應用程序可見(如果tomcat的內置類也要用到這些,則應該把這些放入到common裝載器中)。
沒有壓縮的類和資源放在%CATALINA_HOME%/shared/classes目錄中,壓縮的類和資源的jar文件放在%CATALINA_HOME%/lib(為了和前面的版本兼容)或者%CATALINA_HOME%/shared/lib目錄中。通常包含了以下幾個默認包:
1.jasper-compiler.jar - 編譯把jsp轉換成servlet并編譯他們所用到的類。
2.jasper-runtime.jar - 運行由jsp編譯成servlet后的class要用到的環境。
3.naming-factory.jar - 為web應用程序提供默認的jndi服務所要用到的類。
WebappX
Tomcat實例為每一個web應用程序實現一個webapp class loader,所有的解壓縮類和資源都放在這個web應用程序的/web-inf/classes目錄下,所有的類和資源的壓縮文件jar都放在這個web應用程序的/web-inf/lib目錄下,這些類和資源只對這個web應用程序是可見的,對其它的web應用程序都是不可見的。
和前面不同的是,當一個web應用程序請求加載一個類時,它首先在這個web class loader范圍內加載,而不是和通用的規則一樣先從父class loader開始加載。
因此web應用程序類的加載是按一下的順序的
1.這個應用程序的/WEB-INF/classes
2.這個應用程序的/WEB-INF/lib/*.jar
3.JVM 的Bootstrap classes r
4.System class loader classses (見上面的描述)
5.%CATALINA_HOME%/common/classes
6.%CATALINA_HOME%/common/endorsed/*.jar
7.%CATALINA_HOME%/common/lib/*.jar
8.%CATALINA_HOME%/shared/classes
9.%CATALINA_HOME%/shared/lib/*.jar




主站蜘蛛池模板: 色综合区 | 色综合天天综合给合国产 | 亚洲啊v | 日韩专区中文字幕 | 婷婷久操| 特级黄色视频毛片 | 日韩精品久久久毛片一区二区 | 亚洲国产一区二区a毛片 | 图片区小说区欧洲区 | 色噜噜狠狠色综合网图区 | 色婷婷六月 | 日韩中文字幕在线有码视频网 | 速度与激情9免费观看 | 亚洲网站在线免费观看 | 日本视频一区在线观看免费 | 手机看片亚洲 | 亚洲国产成人影院播放 | 日皮毛片 | 天天干天天操天天爱 | 视频一区视频二区在线观看 | 亚洲精品福利视频 | 欧美在线中文字幕高清的 | 日本免费观看日本高清视频 | 亚洲午夜一区 | 四虎永久免费观看 | 午夜影院a| 午夜视频成人 | 天天干天天在线 | 亚洲国产最新在线一区二区 | 欧美一级α片 | 中文字幕在线精品视频入口一区 | 亚洲精品伊人 | 亚洲碰碰| 亚洲清色 | 日比免费视频 | 午夜在线不卡 | 亚洲视频男人的天堂 | 日韩一区二区不卡 | 青娱乐国产盛宴 | 伊人任线任你躁 | 尤物在线一区 |