鐞嗚В“鍛藉悕鍜岀洰褰曟湇鍔?#8221;
鍦ㄦ帉鎻NDI涔嬪墠錛屽紑鍙戣呭繀欏葷悊瑙e懡鍚嶅拰鐩綍鏈嶅姟銆?br /> 鍚嶅瓧綾諱技浜庡紩鐢紝鍗寵兘鏍囪瘑鏌愬疄浣撳瀵硅薄錛屼漢絳夈傚湪浼佷笟搴旂敤涓紝緇忓父闇瑕佸熷姪浜庡悕瀛楀疄鐜板鍚勭瀵硅薄鐨勫紩鐢紝濡傚熷姪浜庡悕瀛楀紩鐢ㄧ數璇濆彿鐮侊紝IP鍦板潃錛岃繙紼嬪璞$瓑銆?br /> 鍛藉悕鏈嶅姟綾諱技浜庤瘽鍔″憳錛屽鏋滈渶瑕佹墦鐢佃瘽緇欐煇浜猴紝浣嗗張涓嶇煡閬撲粬鐨勭數璇濆彿鐮侊紝浜庢槸灝嗙數璇濇墦鍒版煡璇㈠彴錛屼互渚胯兘澶熻闂埌鐢ㄦ埛鐨勭數璇濆彿鐮侊紝鎵撶數璇濊呴渶瑕佹彁渚涗漢鍚嶇粰浠栥傞殢鍚庯紝璇濆姟鍛樺氨鑳芥煡鍒伴偅浜虹殑鐢佃瘽鍙風爜銆?br />
鍛藉悕鏈嶅姟鐨勫姛鑳?/strong>
灝嗗悕瀛椾笌瀵硅薄緇戝畾鍦ㄤ竴璧鳳紝榪欑被浼間簬鐢佃瘽鍏徃鎻愪緵鐨勬湇鍔★紝姣斿灝嗕漢鍚嶇粦瀹氬埌琚彨绔殑鐢佃瘽銆?br /> 鎻愪緵鏍規嵁鍚嶅瓧鏌ユ壘瀵硅薄鐨勬満鍒躲傝繖縐頒負鏌ユ壘瀵硅薄鎴栬呰В鏋愬悕瀛椼傝繖鍚岀數璇濆叕鍙告彁渚涚殑鏈嶅姟綾諱技錛屾瘮濡傛牴鎹漢鍚嶆煡鎵懼埌鐢佃瘽鍙風爜銆?/p>
鍦ㄧ幇瀹炵殑璁$畻鏈虹幆澧冧腑錛屽懡鍚嶆湇鍔″緢甯歌錛屽闇瑕佸畾浣嶇綉緇滀腑鐨勬煇鍙版満鍣紝鍒欏熷姪浜庡煙鍚嶇郴緇燂紙Domain Name System,DNS錛夎兘澶熷皢鏈哄櫒鍚嶈漿鍖栨垚IP鍦板潃銆?/p>
鐩綍瀵硅薄鍜岀洰褰曟湇鍔?/strong>
鍦ㄥ懡鍚嶆湇鍔′腑錛屽熷姪鍚嶅瓧鑳藉鎵懼埌浠諱綍瀵硅薄錛屽叾涓湁涓綾誨璞℃瘮杈冪壒孌婏紝瀹冭兘鍦ㄥ璞′腑瀛樺偍灞炴э紝瀹冧滑琚О涔嬩負鐩綍瀵硅薄鎴栫О涔嬩負鐩綍鍏ュ彛欏癸紙Directory Entry錛夈傚皢鐩綍瀵硅薄榪炴帴鍦ㄤ竴璧蜂究鏋勬垚浜嗙洰褰曪紙Directory錛夛紝瀹冩槸涓涓爲鐘剁粨鏋勭殑鏋勬垚錛岀敤鎴峰彲浠ラ氳繃鑺傜偣鍜屽垎鏀煡鎵懼埌姣忎釜鐩綍瀵硅薄銆?br /> 鐩綍鏈嶅姟鏄鍛藉悕鏈嶅姟鐨勬墿灞曪紝瀹冭兘澶熶緷鎹洰褰曞璞$殑灞炴ц屾彁渚涚洰褰曞璞℃搷浣溿?/p>
JNDI鐨勬蹇靛拰涓昏鐢ㄩ?/strong>
涓哄疄鐜板懡鍚嶅拰鐩綍鏈嶅姟錛屽熀浜巎ava鐨勫鎴風闇瑕佸熷姪浜嶫NDI緋葷粺錛屽畠涓哄懡鍚嶅拰鐩綍鏈嶅姟鏋惰搗浜嗛氫俊鐨勬ˉ姊併侸NDI鐨勪富瑕佺敤閫旀湁錛?br /> 寮鍙戣呬嬌鐢↗NDI錛岃兘澶熷疄鐜扮洰褰曞拰Java瀵硅薄涔嬮棿鐨勪氦浜掋?br /> 浣跨敤JNDI錛屽紑鍙戣呰兘鑾峰緱瀵笿AVA浜嬪姟API涓璘serTransaction鎺ュ彛鐨勫紩鐢ㄣ?br /> 鍊熷姪浜嶫NDI錛屽紑鍙戣呰兘榪炴帴鍒板悇縐嶈祫婧愬伐鍘傦紝濡侸DBC鏁版嵁婧愶紝Java娑堟伅鏈嶅姟絳夈?br /> 瀹㈡埛鍜孍JB緇勪歡鑳藉鍊熷姪浜嶫NDI鏌ユ壘鍒板叾浠朎JB緇勪歡銆?/p>
鍚嶅瓧錛岀粦瀹氬拰涓婁笅鏂囩殑姒傚康
JNDI涓瓨鍦ㄥ縐嶅悕瀛楋紝涓縐嶆槸鍘熷瓙鍚嶏紝濡俿rc/com/sitinspring涓殑src錛宑om鍜宻itinspring錛涗竴縐嶆槸澶嶅悎鍚嶏紝瀹冪敱0涓垨澶氫釜鍘熷瓙鍚嶆瀯鎴愶紝濡俿rc/com/sitinspring銆?br /> 緇戝畾灝辨槸灝嗗悕瀛楀拰瀵硅薄鍏寵仈璧鋒潵鐨勬搷浣溿傚system.ini緇戝畾鍒扮‖鐩樹腑鐨勬枃浠訛紝 src/com/sitinspring/.classpath鍒嗗埆緇戝畾鍒頒笁涓洰褰曞拰涓涓枃浠躲?br /> 涓婁笅鏂囷紙Context錛夌敱0涓垨澶氫釜緇戝畾鏋勬垚錛屾瘡涓粦瀹氬瓨鍦ㄤ笉鍚岀殑鍘熷瓙鍚嶃傚WEB-INF鏂囦歡澶逛笅鍒嗗埆鍚湁.cvsignore鍜寃eb.xml鐨勬枃浠跺悕銆傚湪JNDI涓紝 WEB-INF鏄笂涓嬫枃錛屽畠鍚湁鍘熷瓙鍚?cvsignore鍜寃eb.xml鐨勭粦瀹氾紝瀹冧滑鍒嗗埆緇戝畾鍒扮‖鐩樹腑鐨勬枃浠躲?br /> 涓婁笅鏂囦腑涔熷厑璁稿瓨鍦ㄤ笂涓嬫枃錛屽畠浠鎴愪負瀛愪笂涓嬫枃錛坰ubcontext錛?瀛愪笂涓嬫枃鍜屼笂涓嬫枃綾諱技錛屽畠涔熻兘鍚湁澶氫釜鍚嶅瓧鍒板璞$殑緇戝畾銆傝繖綾諱技浜庢枃浠跺す涓嬪惈鏈夊瓙鏂囦歡澶廣?/p>
鍛藉悕緋葷粺鍜屽垵濮嬩笂涓嬫枃
鍛藉悕緋葷粺鐢變竴濂楄繛鍦ㄤ竴璧風殑涓婁笅鏂囨瀯鎴愶紝鑰屼笖榪欎簺涓婁笅鏂囦嬌鐢ㄤ簡鐩稿悓鐨勫懡鍚嶈娉曘傚彲浠ョ敤鐩綍鏍戞潵綾繪瘮榪欎釜姒傚康銆?br /> 嫻忚鍛藉悕絀洪棿鐨勮搗鐐圭О涔嬩負鍒濆涓婁笅鏂囷紙Initial Context錛夛紝鍒濆涓婁笅鏂囩被浼間簬鐩綍鏍戜腑鐨勬牴鑺傜偣姒傚康銆?/p>
鍊熷姪浜庡垵濮嬩笂涓嬫枃錛岃兘澶熷紑濮嬪懡鍚嶅拰鐩綍鏈嶅姟銆?/p>
JNDI鏌ユ壘璧勬簮紺轟緥
try {
Context initCtx = new InitialContext();
// java:comp/env鏄懡鍚嶇┖闂達紝鐩稿綋浜庢槸鏈満JNDI璧勬簮寮曠敤鏍圭洰褰?br />
Context envCtx = (Context) initCtx.lookup("java:comp/env");
Member bean = (Member) envCtx.lookup("Member");
System.out.print("member name=" + bean.getMemberName() + " age="
+ bean.getAge());
} catch (NamingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
JNDI鏈夊叧API
list錛堬級錛氱敤浜庤幏寰楀綋鍓嶄笂涓嬫枃鐨勭粦瀹氬垪琛?br />
lookup錛堬級錛氱敤浜庤В鏋愪笂涓嬫枃涓悕瀛楃粦瀹氾紝璇ユ搷浣滃皢榪斿洖緇戝畾鍒扮粰瀹氬悕瀛楃殑瀵硅薄銆?br />
rename錛堬級錛氶噸鏂板懡鍚?br />
createSubContext錛堬級錛氫粠褰撳墠涓婁笅鏂囧垱寤哄瓙涓婁笅鏂囥?br />
destroySubContext錛堬級錛氫粠褰撳墠涓婁笅鏂囬攢姣佸瓙涓婁笅鏂囥?br />
bind錛堬級銆備粠褰撳墠涓婁笅鏂囦腑鍒涘緩鍚嶅瓧鍒板璞$殑緇戝畾銆?br />
rebind錛堬級錛氬啀嬈$粦瀹氾紝濡傛灉宸茬粡瀛樺湪鍚屽悕緇戝畾鍒欒鐩栦箣銆?/p>