锘??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲av日韩av永久无码电影,亚洲国产精品无码av,国产午夜亚洲精品国产成人小说 http://m.tkk7.com/shiliqiang/category/40577.htmlI'm on my way! zh-cn Thu, 30 Jul 2009 01:07:54 GMT Thu, 30 Jul 2009 01:07:54 GMT 60 tomcat 鐮旂┒ http://m.tkk7.com/shiliqiang/articles/288965.html鐭沖ご@ 鐭沖ご@ Wed, 29 Jul 2009 14:02:00 GMT http://m.tkk7.com/shiliqiang/articles/288965.html http://m.tkk7.com/shiliqiang/comments/288965.html http://m.tkk7.com/shiliqiang/articles/288965.html#Feedback 0 http://m.tkk7.com/shiliqiang/comments/commentRss/288965.html http://m.tkk7.com/shiliqiang/services/trackbacks/288965.html ]]>鍚姩鏈熼棿鐨勫姞杞界被鐨勯『搴忓拰榪囩▼ http://m.tkk7.com/shiliqiang/articles/284998.html鐭沖ご@ 鐭沖ご@ Wed, 01 Jul 2009 10:44:00 GMT http://m.tkk7.com/shiliqiang/articles/284998.html http://m.tkk7.com/shiliqiang/comments/284998.html http://m.tkk7.com/shiliqiang/articles/284998.html#Feedback 1 http://m.tkk7.com/shiliqiang/comments/commentRss/284998.html http://m.tkk7.com/shiliqiang/services/trackbacks/284998.html Tomcat鍚姩鏃禼lassloader鍔犺澆欏哄簭
Tomcat鐨刢lass鍔犺澆鐨勪紭鍏堥『搴忎竴瑙?nbsp;
1.鏈鍏堟槸$JAVA_HOME/jre/lib/ext/涓嬬殑jar鏂囦歡銆?nbsp;
2.鐜鍙橀噺CLASSPATH涓殑jar鍜宑lass鏂囦歡銆?nbsp;
3.$CATALINA_HOME/common/classes涓嬬殑class鏂囦歡銆?nbsp;
4.$CATALINA_HOME/commons/endorsed涓嬬殑jar鏂囦歡銆?nbsp;
5.$CATALINA_HOME/commons/i18n涓嬬殑jar鏂囦歡銆?nbsp;
6.$CATALINA_HOME/common/lib 涓嬬殑jar鏂囦歡銆?nbsp;
錛圝DBC椹卞姩涔嬬被鐨刯ar鏂囦歡鍙互鏀懼湪榪欓噷錛岃繖鏍峰氨鍙互閬垮厤鍦╯erver.xml閰嶇疆濂芥暟鎹簮鍗村嚭鐜版壘涓嶅埌JDBC Driver鐨勬儏鍐點傦級
7.$CATALINA_HOME/server/classes涓嬬殑class鏂囦歡銆?nbsp;
8.$CATALINA_HOME/server/lib/涓嬬殑jar鏂囦歡銆?nbsp;
9.$CATALINA_BASE/shared/classes 涓嬬殑class鏂囦歡銆?nbsp;
10.$CATALINA_BASE/shared/lib涓嬬殑jar鏂囦歡銆?nbsp;
11.鍚勮嚜鍏蜂綋鐨剋ebapp /WEB-INF/classes涓嬬殑class鏂囦歡銆?nbsp;
12.鍚勮嚜鍏蜂綋鐨剋ebapp /WEB-INF/lib涓嬬殑jar鏂囦歡銆?nbsp;
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
--------------
鍥犳鏀懼湪涓嶅悓webapp閲岀殑class鏂囦歡錛屼細琚玞lassloader鍔犺澆鎴愪笉鍚岀殑瀹炰緥銆?nbsp;
渚嬪鍋囪涓嬮潰涓や釜涓嶅悓鍐呭鐨刢lass銆傚垎鍒斁鍦ㄤ笉鍚岀殑webapp鐨刢lass鐩綍涓嬨?nbsp;
package com.lizongbo;
public class TestClass {
private String NAME="lizongbo";
}
package com.lizongbo;
public class TestClass {
private String NAME="li_zongbo";
}
鍦ㄤ笉鍚岀殑webapp寰楀埌鐨刢om.lizongbo.NAME緇撴灉鏄笉鍚岀殑錛屼笖浜掍笉褰卞搷銆?nbsp;
浣嗘槸娉ㄦ剰錛屼互涓嬪寘鍚嶅紑澶寸殑class渚嬪錛?nbsp;
javax.*
org.xml.sax.*
org.w3c.dom.*
org.apache.xerces.*
org.apache.xalan.*
ps,娉ㄦ剰.鍦ㄥ悇涓猨ar涓殑\META-INF\MAINFEST.MF鏂囦歡閲孋lass-Path閿煎錛屼篃浼氭彁渚沯ar鐨勫姞杞戒紭鍏堥『搴忋?nbsp;
渚嬪鏌恓ar鐨凪AINFEST.MF鍐呭濡備笅錛?nbsp;
Manifest-Version: 1.0
Created-By: lizongbo
Class-Path: commons-beanutils.jar
Class-Path: commons-collections.jar
Class-Path: commons-dbcp.jar
Class-Path: commons-digester.jar
Class-Path: commons-logging.jar
Class-Path: commons-pool.jar
Class-Path: commons-services.jar
Class-Path: commons-validator.jar
Class-Path: jakarta-oro.jar
Main-Class: com.lizongbo.MyTestClass
閭d箞鍦ㄥ姞杞借繖涓猨ar鐨勬椂鍊欙紝浼氬厛鍦ㄦjar鎵鍦ㄧ洰褰曚笅渚濇鍏堝姞杞絚ommons-beanutils.jar錛宑ommons-collections.jar銆傘傘傜瓑jar鏂囦歡銆?nbsp;
鍦ㄤ笉鍚岀殑鍦版柟鏀劇疆jar鍜宑lass鍙兘浼氫駭鐢熸剰鎯充笉鍒扮殑鍚庢灉,錛屽挨鍏舵槸涓嶅悓鐗堟湰鐨刯ar鏂囦歡錛屽洜姝ゅ湪瀹為檯搴旂敤閮ㄧ講web搴旂敤鏃跺欒鐗瑰埆鐣欏績.
渚嬪 浣跨敤javamail甯歌鐨勪竴涓嚭閿欎俊鎭?
javax.mail.NoSuchProviderException: No provider for smtp
鍏剁湡瀹炲師鍥犲氨寰堝彲鑳藉涓?
鍦ㄤ笉鍚岀殑鍔犺澆jar鐨勭洰褰曚笅鏀劇疆浜嗕笉鍚岀増鏈殑mail.jar,姣斿涓涓槸javamail1.3.1鐨刴ail.jar
鍦―:\jakarta-tomcat-5.5.8\common\lib涓?鑰屽彟澶栦竴涓槸javamail1.3.2鐨刴ail.jar鍦?nbsp;
D:\jakarta-tomcat-5.5.8\webapps\lizongbo\WEB-INF/lib涓?
閭d箞lizongbo榪欎釜webapp涓嬌鐢ㄥ埌javamail榪涜閭歡鍙戦佺殑鏃跺欙紝渚夸細鍑虹幇No provider for smtp鐨勯敊璇?nbsp;
*******************************************************************
ClassLoader in Tomcat
************************************
1 - Tomcat 鐨勭被杞藉叆鍣ㄧ殑緇撴瀯
Tomcat Server 鍦ㄥ惎鍔ㄧ殑鏃跺欏皢鏋勯犱竴涓狢lassLoader鏍戯紝浠ヤ繚璇佹ā鍧楃殑綾誨簱鏄鏈夌殑
Tomcat Server鐨凜lassLoader緇撴瀯濡備笅錛?
+-----------------------------+
| Bootstrap |
| | |
| System |
| | |
| Common |
| / \ |
| Catalina Shared |
| / \ |
| WebApp1 WebApp2 |
+-----------------------------+
鍏朵腑錛?
- Bootstrap - 杞藉叆JVM鑷甫鐨勭被鍜?JAVA_HOME/jre/lib/ext/*.jar
- System - 杞藉叆$CLASSPATH/*.class
- Common - 杞藉叆$CATALINA_HOME/common/...錛屽畠浠TOMCAT鍜屾墍鏈夌殑WEB APP閮藉彲瑙?
- Catalina - 杞藉叆$CATALINA_HOME/server/...錛屽畠浠粎瀵筎OMCAT鍙錛屽鎵鏈夌殑WEB APP閮戒笉鍙
- Shared - 杞藉叆$CATALINA_HOME/shared/...錛屽畠浠粎瀵規墍鏈塛EB APP鍙錛屽TOMCAT涓嶅彲瑙侊紙涔熶笉蹇呰錛?
- WebApp - 杞藉叆ContextBase?/WEB-INF/...錛屽畠浠粎瀵硅WEB APP鍙
2 - ClassLoader 鐨勫伐浣滃師鐞?
姣忎釜榪愯涓殑綰跨▼閮芥湁涓涓垚鍛榗ontextClassLoader錛岀敤鏉ュ湪榪愯鏃跺姩鎬佸湴杞藉叆鍏跺畠綾?
緋葷粺榛樿鐨刢ontextClassLoader鏄痵ystemClassLoader錛屾墍浠ヤ竴鑸岃█java紼嬪簭鍦ㄦ墽琛屾椂鍙互浣跨敤JVM鑷甫鐨勭被銆?JAVA_HOME/jre/lib/ext/涓殑綾誨拰$CLASSPATH/涓殑綾?
鍙互浣跨敤 Thread.currentThread().setContextClassLoader(...); 鏇存敼褰撳墠綰跨▼鐨刢ontextClassLoader錛屾潵鏀瑰彉鍏惰澆鍏ョ被鐨勮涓?
ClassLoader 琚粍緇囨垚鏍戝艦錛屼竴鑸殑宸ヤ綔鍘熺悊鏄細
1) 綰跨▼闇瑕佺敤鍒版煇涓被錛屼簬鏄痗ontextClassLoader琚姹傛潵杞藉叆璇ョ被
2) contextClassLoader璇鋒眰瀹冪殑鐖禖lassLoader鏉ュ畬鎴愯杞藉叆璇鋒眰
3) 濡傛灉鐖禖lassLoader鏃犳硶杞藉叆綾伙紝鍒檆ontextClassLoader璇曞浘鑷繁鏉ヨ澆鍏?
娉ㄦ剰 錛歐ebApp?ClassLoader鐨勫伐浣滃師鐞嗗拰涓婅堪鏈夊皯璁鎬笉鍚岋細
瀹冨厛璇曞浘鑷繁杞藉叆綾伙紙鍦–ontextBase?/WEB-INF/...涓澆鍏ョ被錛夛紝濡傛灉鏃犳硶杞藉叆錛屽啀璇鋒眰鐖禖lassLoader瀹屾垚
鐢辨鍙緱錛?
- 瀵逛簬WEB APP綰跨▼錛屽畠鐨刢ontextClassLoader鏄疻ebApp?ClassLoader
- 瀵逛簬Tomcat Server綰跨▼錛屽畠鐨刢ontextClassLoader鏄疌atalinaClassLoader
3 綾葷殑鏌ユ壘
ClassLoader綾諱腑loadClass鏂規硶涓虹己鐪佸疄鐜幫紝鐢ㄤ笅闈㈢殑欏哄簭鏌ユ壘綾伙細
1銆佽皟鐢╢indLoadedClass鏂規硶鏉ユ鏌ユ槸鍚﹀凡緇忚鍔犺澆銆傚鏋滄病鏈夊垯緇х畫涓嬮潰鐨勬楠ゃ?
2銆佸鏋滃綋鍓嶇被瑁呰澆鍣ㄦ湁涓涓寚瀹氱殑濮旀墭鐖惰杞藉櫒錛屽垯鐢ㄥ鎵樼埗瑁呰澆鍣ㄧ殑loadClass鏂規硶鍔犺澆綾伙紝涔熷氨鏄鎵樼粰鐖惰杞藉櫒鍔犺澆鐩稿簲鐨勭被銆?
3銆佸鏋滆繖涓被瑁呰澆鍣ㄧ殑濮旀墭灞傜駭浣撶郴娌℃湁涓涓被瑁呰澆鍣ㄥ姞杞借綾伙紝鍒欎嬌鐢ㄧ被瑁呰澆鍣ㄥ畾浣嶇被鐨勭壒瀹氬疄鐜版満鍒訛紝璋冪敤findClass鏂規硶鏉ユ煡鎵劇被銆?
4 - 閮ㄥ垎鍘熶唬鐮佸垎鏋?
4.1 - org/apache/catalina/startup/Bootstrap.java
Bootstrap涓畾涔変簡涓変釜classloader:commonLoader,catalinaLoader,sharedLoader.涓夎呭叧緋誨涓嬶細
// 娉ㄦ剰涓変釜鑷繁瀹氱疆鐨凜lassLoader鐨勫眰嬈″叧緋伙細
// systemClassLoader (root)
// +--- commonLoader
// +--- catalinaLoader
// +--- sharedLoader
Tomcat Server 綰跨▼鐨勮搗鐐?
鏋勯燙lassLoader鏍戯紝閫氳繃Thread.currentThread().setContextClassLoader(catalinaLoader)璁劇疆褰撳墠鐨刢lassloader涓篶atalinaLoader銆?
杞藉叆鑻ュ共綾伙紝鐒跺悗杞叆org.apache.catalina.startup.Catalina綾諱腑
4.2 org.apache.catalina.loader.StandardClassLoader.java
閫氳繃鐪媗oadClass榪欎釜鏂規硶鏉ョ湅tomcat鏄浣曞姞杞界被鐨勶紝欏哄簭濡備笅錛?
(0) Check our previously loaded class cache鏌ユ壘宸茬粡瑁呰澆鐨刢lass
clazz = findLoadedClass(name);
(1) If a system class, use system class loader閫氳繃緋葷粺classloader鏉ヨ杞絚lass
ClassLoader loader = system;
clazz = loader.loadClass(name);
(2) Delegate to our parent if requested濡傛灉鏈変唬鐞嗗垯浣跨敤鐖剁被classloader
ClassLoader loader = parent;
if (loader == null)
loader = system;
clazz = loader.loadClass(name);
(3) Search local repositories 鏌ユ壘鏈湴綾繪睜錛屾瘮濡?CATALINA_HOME/server
clazz = findClass(name);
(4) Delegate to parent unconditionally 榛樿浣跨敤浠g悊瑁呰澆鍣?
[ 鏌ョ湅浠g爜]
4.3 - org/apache/catalina/startup/ClassLoaderFactory.java
鏍規嵁璁劇疆鍒涘緩騫惰繑鍥濻tandardClassLoader鐨勫疄渚?
[ 鏌ョ湅浠g爜]
4.4 - org/apache/catalina/loader/StandardClassLoader.java
綾昏澆鍏ュ櫒
4.5 - org/apache/catalina/startup/SecurityClassLoad.java
璇ョ被浠呭寘鍚竴涓潤鎬佹柟娉曪紝鐢ㄦ潵涓篶atalinaLoader杞藉叆涓浜涚被
[ 鏌ョ湅浠g爜]
Appendix - 鍙傝?
[1] http://jakarta.apache.org/tomcat/ 涓殑Tomcat 4.1.x鏂囨。Class Loader HOW-TO
鍦ㄤ竴涓?JVM 涓彲鑳藉瓨鍦ㄥ涓?ClassLoader 錛屾瘡涓?ClassLoader 鎷ユ湁鑷繁鐨?NameSpace 銆備竴涓?
ClassLoader 鍙兘鎷ユ湁涓涓?class 瀵硅薄綾誨瀷鐨勫疄渚嬶紝浣嗘槸涓嶅悓鐨?ClassLoader 鍙兘鎷ユ湁鐩稿悓鐨?class
瀵硅薄瀹炰緥錛岃繖鏃跺彲鑳戒駭鐢熻嚧鍛界殑闂銆傚 ClassLoaderA 錛岃杞戒簡綾?A 鐨勭被鍨嬪疄渚?A1 錛岃?ClassLoaderB 錛屼篃瑁呰澆浜嗙被
A 鐨勫璞″疄渚?A2 銆傞昏緫涓婅 A1=A2 錛屼絾鏄敱浜?A1 鍜?A2 鏉ヨ嚜浜庝笉鍚岀殑 ClassLoader 錛屽畠浠疄闄呬笂鏄畬鍏ㄤ笉鍚岀殑錛屽鏋?
A 涓畾涔変簡涓涓潤鎬佸彉閲?c 錛屽垯 c 鍦ㄤ笉鍚岀殑 ClassLoader 涓殑鍊兼槸涓嶅悓鐨勩?/font>
]]>
主站蜘蛛池模板:
亚洲毛片网址在线观看中文字幕 |
在线看片人成视频免费无遮挡 |
亚洲国产精品碰碰 |
精品一区二区三区无码免费直播 |
免费看片A级毛片免费看 |
亚洲色成人网站WWW永久四虎 |
1000部拍拍拍18免费网站 |
亚洲欧洲在线播放 |
青娱乐免费视频在线观看 |
91亚洲性爱在线视频 |
最近高清国语中文在线观看免费 |
亚洲日韩久久综合中文字幕 |
日本媚薬痉挛在线观看免费 |
猫咪免费人成网站在线观看入口 |
亚洲熟伦熟女新五十路熟妇 |
女同免费毛片在线播放 |
亚洲高清不卡视频 |
成人免费视频软件网站 |
日韩大片免费观看视频播放 |
亚洲精品无码久久一线 |
最近免费中文字幕大全免费 |
亚洲人成黄网在线观看
|
国产成人精品免费视频网页大全 |
亚洲国产成人手机在线电影bd |
四虎免费大片aⅴ入口 |
男性gay黄免费网站 |
久久香蕉国产线看观看亚洲片 |
亚洲黄色免费电影 |
亚洲AV成人精品日韩一区 |
久久亚洲高清综合 |
久久免费看黄a级毛片 |
特级aa**毛片免费观看 |
亚洲av永久无码精品漫画
|
亚洲Av无码乱码在线观看性色
|
亚洲午夜福利精品久久 |
无码一区二区三区免费 |
亚洲AV无码一区二区三区网址 |
久久精品亚洲福利 |
免费人成在线视频 |
GOGOGO高清免费看韩国 |
久久精品国产亚洲av麻豆图片 |