銆銆鍦ㄩ棬鎴烽」鐩腑錛岀粡甯鎬細閬囧埌濡備綍瀹炵幇鍗曠偣鐧誨綍鐨勯棶棰橈紝涓嬮潰灝辨湰浜虹殑緇忛獙鍋氫釜鎬葷粨銆傛榪庡ぇ瀹惰繘琛岃ˉ鍏呰璁恒?/p>
銆銆濡傛灉欏圭洰瀵筍SO鐨勮姹傛瘮杈冧綆錛屽張涓嶆兂瀵硅琚泦鎴愮殑緋葷粺鍋氫換浣曟敼鍔紝鍙噰鐢ㄤ笅闈粙緇嶇殑鏂瑰紡綆鍗曞疄鐜幫細涓嬮潰鎴戜滑閫氳繃涓涓緥瀛愭潵璇存槑銆傚亣濡備竴涓棬鎴烽」鐩瀵逛笅闈㈢殑鍑犱釜緋葷粺鍋歋SO銆?/p>
銆銆鐢ㄦ埛鍦ㄨ繖浜涚郴緇熶腑鐨勭敤鎴峰悕錛屽瘑鐮佸悇涓嶇浉鍚岋紝濡傦細鍛樺伐鍙蜂負001鐨勫憳宸ュ湪榪欎簺緋葷粺涓殑鐢ㄦ埛鍚嶏紝瀵嗙爜鍒嗗埆濡備笅錛?/p>
鐢ㄦ埛 | 緋葷粺 | 鐢ㄦ埛鍚?/th> | 瀵嗙爜 |
---|---|---|---|
001 | Portal緋葷粺 | A | 1234 |
001 | 閭歡緋葷粺 | B | 2345 |
001 | DOMINO緋葷粺 | C | AAAA |
001 | 鎶ラ攢緋葷粺 | D | CCCC |
001 | 宸ヨ祫緋葷粺 | E | BBBB |
銆銆棣栧厛錛岃寤虹珛鍛樺伐鍦≒ORTAL緋葷粺涓殑鐢ㄦ埛鍚嶅拰鍏朵粬緋葷粺涓殑鐢ㄦ埛鍚嶄箣闂寸殑瀵瑰簲鍏崇郴騫朵繚瀛樸傚彲淇濆瓨鍦ㄨ〃涓垨LDAP涓垨鏂囦歡緋葷粺涓傚綋鐒惰鑰冭檻榪欎簺緋葷粺涔嬮棿鐨勬暟鎹悓姝ラ棶棰樸傛瘮杈冨ソ鐨勬柟寮忔槸鎵懼埌鐢ㄦ埛鍦ㄨ繖浜涚郴緇熶腑鐨勯兘瀛樺湪鐨勫敮涓淇℃伅錛堝鍛樺伐鍙鳳紝MAIL鍦板潃錛屽鍚嶇瓑錛夈傞氳繃鍞竴淇℃伅瀹炴椂鍒板悇涓郴緇熶腑鍘誨彇璁よ瘉鎵闇瑕佺殑淇℃伅銆傚氨涓嶉渶瑕佽冭檻鏁版嵁鍚屾闂銆傛瘮杈冨疄鐢ㄣ傚彲浠ュ緩绔嬬被浼間笅闈㈢殑琛細瀵嗙爜鍙噰鐢ㄥ姞瀵嗕繚瀛樸傚鏋滄槸閲囩敤BEA鐨刉eblogic Portal,鍙噰鐢║UP鏉ヤ繚瀛樿繖浜涗俊鎭?/p>
( user varchar2(20), /*鐢ㄦ埛鍚?/ app_name varchar2(20), /*搴旂敤緋葷粺*/ architect varchar2(4), /*搴旂敤緋葷粺鐨勬灦鏋凚S鎴朇S*/ app_company varchar2(50), /*鐢ㄦ埛鎵灞炲垎鍏徃*/ app_department varchar2(50), /*鐢ㄦ埛鎵鍦ㄧ殑閮ㄩ棬*/ app_user varchar2(15), /*鍦ㄨ緋葷粺涓殑鐢ㄦ埛鍚?/ app_passwd varchar2(15), /*鍦ㄨ緋葷粺涓殑瀵嗙爜*/ app_cookie varchar2(30), /*COOKIE鍚嶇О*/ form_user varchar2(20), /*璁よ瘉欏甸潰涓璅ORM鐨勭敤鎴峰悕瀛楁*/ form_passwd varchar2(20), /*璁よ瘉欏甸潰涓璅ORM鐨勫瘑鐮佸瓧孌?/ app_special varchar2(20) /*鍏朵粬*/ );
銆銆閫氳繃IFRAME鎴栬秴榪炴帴鏂瑰紡闆嗘垚鐩爣緋葷粺,騫跺湪URL涓甫涓婄敤鎴峰悕鍜屽瘑鐮併傚闆嗘垚DOMINO鍙噰鐢ㄥ涓嬫柟寮忥細
銆銆<IFRAME src=http://host1/names.nsf?Login&Username=admin&Password=pass&RedirectTo=/names.nsf
width="100%" frameborder="0" align="middle" height="100%" hspace="0" marginheight="0" marginwidth="0" scrolling="yes" style="background-color:#f7f7ff;">
</IFRAME>
銆銆鎴栵細
Href src=鈥?a href="http://localhost/names.nsf?Login&Username=admin&Password=password&RedirectTo=/names.nsf" target="_parent">http:// host1/names.nsf?Login&Username=admin&Password=pass&RedirectTo=/names.nsf鈥?
浠ヤ笂閲囩敤鐨勬槸鍦℉TTP涓洿鎺ヤ紶閫掓槑鐮侊紝涓烘彁楂樺畨鍏ㄦэ紝鍙噰鐢℉TTPS鏉ヤ紶閫掔敤鎴峰悕鍜屽瘑鐮併傚彟澶栭噰鐢ㄨ繖縐嶆柟寮忚闆嗘垚鐨勭郴緇熷繀欏繪敮鎸丗ORM鏂瑰紡璁よ瘉銆侸2EE搴旂敤錛孌OMINO絳夐兘鏀寔FORM璁よ瘉銆?/p>
銆銆榪欎袱縐嶆柟寮忓鏋淪SO鎴愬姛錛屽氨鑷姩榪涘叆鐩爣緋葷粺鐨勭晫闈紝濡傛灉瀹炵幇浼氭樉紺虹洰鏍囩郴緇熺殑鐧誨綍鐣岄潰銆傚叾鏁堟灉鍥懼涓嬶細
銆銆榪欑鏂瑰紡錛屽繀欏葷淮鎶ゅ搴斿叧緋昏〃錛屽涓婇潰鐨剆so_info銆傛洿濂界殑鏂瑰紡鏄彁渚涚晫闈紝璁╂渶緇堢敤鎴瘋嚜宸辯淮鎶よ繖縐嶅搴斿叧緋伙紝鍙ā浠緾ompoze portlets for lotus鐨勫仛娉曪紝鍦ㄧ敤鎴風涓嬈¤繘鍏ヨ涓庝箣鍋歋SO鐨勭郴緇熸椂錛屽DOMINO緋葷粺錛屾樉紺轟竴涓晫闈紝璁╃敤鎴瘋嚜宸辮緭鍏ヤ粬鍦ㄨ緋葷粺涓殑鐢ㄦ埛鍚?瀵嗙爜絳変俊鎭傚茍淇濆瓨鍒拌〃涓垨LDAP絳夊叾浠栨暟鎹簮涓備互鍚庣敤鎴瘋榪涘叆榪欎簺緋葷粺鏃訛紝灝辯洿鎺ヤ粠琛ㄤ腑鎴栧叾浠栨暟鎹簮涓彇鐢ㄦ埛鐨勭敤鎴峰悕/瀵嗙爜絳変俊鎭紝甯姪鐢ㄦ埛鍋氳璇併傚緩璁噰鐢ㄨ繖縐嶆柟寮忋傚涓嬪浘鎵紺恒傚鏋滅敤鎴鋒敼鍙樹簡鑷繁鍦―OMINO緋葷粺涓殑鐢ㄦ埛鍚嶏紝瀵嗙爜銆備粠闂ㄦ埛緋葷粺榪涘叆DOMINO緋葷粺鏃訛紝璁よ瘉浼氬け璐ワ紝灝遍噸鏂版樉紺虹被浼間笅闈㈢殑鐣岄潰銆傝鐢ㄦ埛閲嶆柊杈撳叆浠栧湪DOMINO緋葷粺涓柊鐨勭敤鎴峰悕錛屽瘑鐮佸茍淇濆瓨銆?/p>
銆銆浠ヤ笂榪欑瀹炵幇鏂瑰紡錛屼竴鑸渶瑕佹祻瑙堝櫒鏀寔COOKIE錛屾墍浠ヨ娉ㄦ剰嫻忚鍣ㄧ殑閰嶇疆錛屽湪寮鍙戦樁孌碉紝涓烘柟渚胯皟璇曪紝鍙緗甀E錛岃瀹冩樉紺篊OOKIE鐨勫悕縐般傚涓嬫墍紺猴細
銆銆閲囩敤榪欑鏂瑰紡錛屽瑕侀泦鎴愮殑緋葷粺涓嶉渶瑕佸仛浠諱綍鐨勬敼鍔ㄣ傚鏋淧ORTAL緋葷粺涓殑鐢ㄦ埛鍦ㄨ闆嗘垚鐨勭郴緇熶腑鐨勬潈闄愰兘涓鏍鳳紝鍙噰鐢ㄥ緩绔嬩竴涓氱敤鐢ㄦ埛鐨勫仛娉曘備篃灝辨槸鎵鏈夊湪PORTAL緋葷粺涓殑鐢ㄦ埛閮介噰鐢ㄨ繖涓氱敤鐢ㄦ埛榪涘叆鐩爣緋葷粺銆傝繖縐嶆柟寮忕瓑浜庢槸閲囩敤欏甸潰闆嗘垚鏂瑰紡鍋氶泦鎴愩傛瘮杈冩柟渚夸嬌鐢ㄣ傚彟澶栵紝鏈夋椂鍊欓渶瑕侀噰鐢ㄨ皟鐢ˋPI錛屾垨閰嶇疆Adapter絳夊簲鐢ㄩ泦鎴愭柟寮忔潵闆嗘垚鍏朵粬緋葷粺錛屼竴鑸篃鏄氳繃瀹氫箟涓涓繛鎺ヤ笓鐢ㄧ殑鐢ㄦ埛銆傚湪API涓垨鍦ㄩ厤緗瓵dapter鐨勬椂鍊欏啓姝匯傚閲囩敤JAVA API鏂瑰紡闆嗘垚DOMINO錛?/p>
銆銆lotus.domino.Session dominoSession = NotesFactory.createSession(dominoServer, 鈥渁dmin鈥? 鈥減assword鈥?;
銆銆緇忓父鏈変漢闂瓹S緇撴瀯鐨勫簲鐢ㄥ浣曞疄鐜癝SO錛屾湰浜虹殑寤鴻鏄榪欑緋葷粺涓嶈鑷繁鍘誨疄鐜癝SO銆傚緢楹葷儲錛屽叾瀹炶緭涓敤鎴峰悕錛屽瘑鐮佹病浠涔堝ぇ涓嶄簡鐨勩傚鏋滆瀹炵幇錛屼竴鏄噰鐢ㄥ晢涓氳蔣浠躲傚彟澶栦篃鍙互閲囩敤浠ヤ笅鏂瑰紡錛氬湪PORTAL鐨凱ORTLET涓婂緩绔嬭秴榪炴帴銆傚茍閫氳繃APPLET鏂瑰紡鍚姩CS緇撴瀯鐨勫簲鐢ㄧ郴緇熺殑鐧誨綍鐣岄潰銆傜劧鍚庨氳繃濡備笅鐨勬柟寮忔妸鐢ㄦ埛鍚?瀵嗙爜浼犻掕繃鍘匯?/p>
銆銆-涓嶈兘鍋氫換浣曟敼鍔ㄧ殑瀹㈡埛绔?/b> - WIN娑堟伅錛堢粰鐧誨綍紿楀彛鍙戦佺敤鎴峰悕錛屽瘑鐮佺瓑鐧誨綍鎵闇瑕佺殑淇℃伅錛?妯℃嫙閿洏錛坖ava鏈夋ā鎷熼敭鐩樿緭鍏ョ殑API錛?/p>
銆銆-鍙互鍋氭敼鍔ㄧ殑瀹㈡埛绔?/b> - 鍙傛暟浼犻掞紝騫惰鐧誨綍鐨凟XE鏂囦歡璇誨彇鍙傛暟榪涜璁よ瘉銆?/p>
銆銆鍥犱負瑕佽APPLET鎵ц鏈湴鐨凟XE鏂囦歡錛屾墍浠ュ繀欏誨IE涓殑JRE鐨勫畨鍏ㄨ繘琛岃緗?/p>
銆銆鍦ㄩ噰鐢ㄤ互涓婃柟寮忓疄鐜頒簡SSO鍚庯紝瑕佹敞鎰廘OGOUT錛屽彲閲囩敤涓嶭OGIN鐩稿悓鐨勬柟寮忋備篃鍙互閫氳繃琚泦鎴愮郴緇熺殑瓚呮椂璁劇疆鏉ュ疄鐜般?/p>
鍒氬紑濮嬬帺java,瀵瑰叾String綾伙紝浣跨敤鏈変簺鎰熻Е;
1銆?abc"涓巒ew String("abc");
緇忓父浼氶棶鍒扮殑闈㈣瘯棰橈細String s = new String("abc");鍒涘緩浜嗗嚑涓猄tring Object?銆愬榪欓噷鍒涘緩浜嗗灝戝璞? 鍜屼竴閬撳皬灝忕殑闈㈣瘯棰?銆?BR>
榪欎釜闂姣旇緝綆鍗曪紝娑夊強鐨勭煡璇嗙偣鍖呮嫭錛?BR>
寮曠敤鍙橀噺涓庡璞$殑鍖哄埆錛?
瀛楃涓叉枃瀛?abc"鏄竴涓猄tring瀵硅薄錛?
鏂囧瓧姹燵pool of literal strings]鍜屽爢[heap]涓殑瀛楃涓插璞°?BR> 涓銆佸紩鐢ㄥ彉閲忎笌瀵硅薄錛氶櫎浜嗕竴浜涙棭鏈熺殑Java涔︾睄鍜岀幇鍦ㄧ殑鍨冨溇涔︾睄錛屼漢浠兘鍙互浠庝腑姣旇緝娓呮鍦板涔犲埌涓よ呯殑鍖哄埆銆侫 aa;璇彞澹版槑涓涓被A鐨勫紩鐢ㄥ彉閲廰a[鎴戝父甯哥О涔嬩負鍙ユ焺]錛岃屽璞′竴鑸氳繃new鍒涘緩銆傛墍浠ラ鐩腑s浠呬粎鏄竴涓紩鐢ㄥ彉閲忥紝瀹冧笉鏄璞°俒ref 鍙ユ焺銆佸紩鐢ㄤ笌瀵硅薄]
浜屻丣ava涓墍鏈夌殑瀛楃涓叉枃瀛梉瀛楃涓插父閲廬閮芥槸涓涓猄tring鐨勫璞°傛湁浜篬鐗瑰埆鏄疌紼嬪簭鍛榏鍦ㄤ竴浜涘満鍚堝枩嬈㈡妸瀛楃涓?褰撲綔/鐪嬫垚"瀛楃鏁扮粍錛岃繖涔熸病鏈夊姙娉曪紝鍥犱負瀛楃涓蹭笌瀛楃鏁扮粍瀛樺湪涓浜涘唴鍦ㄧ殑鑱旂郴銆備簨瀹炰笂錛屽畠涓庡瓧絎︽暟緇勬槸涓ょ瀹屽叏涓嶅悓鐨勫璞°?BR>
System.out.println("Hello".length());
char[] cc={'H','i'};
System.out.println(cc.length);
涓夈佸瓧絎︿覆瀵硅薄鐨勫垱寤?鐢變簬瀛楃涓插璞$殑澶ч噺浣跨敤[瀹冩槸涓涓璞★紝涓鑸岃█瀵硅薄鎬繪槸鍦╤eap鍒嗛厤鍐呭瓨]錛孞ava涓負浜嗚妭鐪佸唴瀛樼┖闂村拰榪愯鏃墮棿[濡傛瘮杈冨瓧絎︿覆鏃訛紝==姣攅quals()蹇玗錛屽湪緙栬瘧闃舵灝辨妸鎵鏈夌殑瀛楃涓叉枃瀛楁斁鍒頒竴涓枃瀛楁睜[pool of literal strings]涓紝鑰岃繍琛屾椂鏂囧瓧姹犳垚涓哄父閲忔睜鐨勪竴閮ㄥ垎銆傛枃瀛楁睜鐨勫ソ澶勶紝灝辨槸璇ユ睜涓墍鏈夌浉鍚岀殑瀛楃涓插父閲忚鍚堝茍錛屽彧鍗犵敤涓涓┖闂淬傛垜浠煡閬擄紝瀵逛袱涓紩鐢ㄥ彉閲忥紝浣跨敤==鍒ゆ柇瀹冧滑鐨勫糩寮曠敤]鏄惁鐩哥瓑錛屽嵆鎸囧悜鍚屼竴涓璞★細
String s1 = "abc" ;
String s2 = "abc" ;
if( s1 == s2 )
System.out.println("s1,s2 refer to the same object");
else System.out.println("trouble");
榪欓噷鐨勮緭鍑烘樉紺猴紝涓や釜瀛楃涓叉枃瀛椾繚瀛樹負涓涓璞°傚氨鏄錛屼笂闈㈢殑浠g爜鍙湪pool涓垱寤轟簡涓涓猄tring瀵硅薄銆?BR>
鐜板湪鐪婼tring s = new String("abc");璇彞錛岃繖閲?abc"鏈韓灝辨槸pool涓殑涓涓璞★紝鑰屽湪榪愯鏃舵墽琛宯ew String()鏃訛紝灝唒ool涓殑瀵硅薄澶嶅埗涓浠芥斁鍒癶eap涓紝騫朵笖鎶奾eap涓殑榪欎釜瀵硅薄鐨勫紩鐢ㄤ氦緇檚鎸佹湁銆俹k錛岃繖鏉¤鍙ュ氨鍒涘緩浜?涓猄tring瀵硅薄銆?BR>
String s1 = new String("abc") ;
String s2 = new String("abc") ;
if( s1 == s2 ){ //涓嶄細鎵ц鐨勮鍙
榪欐椂鐢?=鍒ゆ柇灝卞彲鐭ワ紝铏界劧涓や釜瀵硅薄鐨?鍐呭"鐩稿悓[equals()鍒ゆ柇]錛屼絾涓や釜寮曠敤鍙橀噺鎵鎸佹湁鐨勫紩鐢ㄤ笉鍚岋紝
BTW錛氫笂闈㈢殑浠g爜鍒涘緩浜嗗嚑涓猄tring Object? [涓変釜錛宲ool涓竴涓紝heap涓?涓俔
[Java2 璁よ瘉鑰冭瘯瀛︿範鎸囧崡 (絎?鐗?( 鑻辨枃鐗?p197-199鏈夊浘瑙c俔
2銆佸瓧絎︿覆鐨?榪愮畻鍜屽瓧絎︿覆杞崲
瀛楃涓茶漿鎹㈠拰涓叉帴鏄緢鍩虹鐨勫唴瀹癸紝鍥犳鎴戜互涓鴻繖涓棶棰樼畝鐩村氨鏄佸垎棰樸備簨瀹炰笂錛屾垜鑷繁灝辯瓟閿欎簡銆?BR>
String str = new String("jf"); // jf鏄帴鍒?BR>str = 1+2+str+3+4;
涓鍏卞垱寤轟簡澶氬皯String鐨勫璞★紵[鎴戝紑濮嬬殑絳旀錛?涓俲f銆乶ew銆?jf銆?jf3銆?jf34]
棣栧厛鐪婮LS鐨勬湁鍏寵榪幫細
涓銆佸瓧絎︿覆杞崲鐨勭幆澧僛JLS 5.4 String Conversion]
瀛楃涓茶漿鎹㈢幆澧冧粎浠呮寚浣跨敤鍙屽厓鐨?榪愮畻絎︾殑鎯呭喌錛屽叾涓竴涓搷浣滄暟鏄竴涓猄tring瀵硅薄銆傚湪榪欎竴鐗瑰畾鎯呭艦涓嬶紝鍙︿竴鎿嶄綔鏁拌漿鎹㈡垚String錛岃〃杈懼紡鐨勭粨鏋滄槸榪欎袱涓猄tring鐨勪覆鎺ャ?BR>
浜屻佷覆鎺ヨ繍綆楃[JLS 15.18.1 String Concatenation Operator + ]
濡傛灉涓涓搷浣滄暟/琛ㄨ揪寮忔槸String綾誨瀷錛屽垯鍙︿竴涓搷浣滄暟鍦ㄨ繍琛屾椂杞崲鎴愪竴涓猄tring瀵硅薄錛屽茍涓よ呬覆鎺ャ傛鏃訛紝浠諱綍綾誨瀷閮藉彲浠ヨ漿鎹㈡垚String銆俒榪欓噷錛屾垜婕忔帀浜?3"鍜?4"]
濡傛灉鏄熀鏈暟鎹被鍨嬶紝鍒欏鍚岄鍏堣漿鎹㈡垚鍏跺寘瑁呯被瀵硅薄錛屽int x瑙嗕負杞崲鎴怚nteger(x)銆?
鐜板湪灝卞叏閮ㄧ粺涓鍒板紩鐢ㄧ被鍨嬪悜String鐨勮漿鎹簡銆傝繖縐嶈漿鎹㈠鍚孾as if]璋冪敤璇ュ璞$殑鏃犲弬鏁皌oString鏂規硶銆俒濡傛灉鏄痭ull鍒欒漿鎹㈡垚"null"]銆傚洜涓簍oString鏂規硶鍦∣bject涓畾涔夛紝鏁呮墍鏈夌殑綾婚兘鏈夎鏂規硶錛岃屼笖Boolean, Character, Integer, Long, Float, Double, and String鏀瑰啓浜嗚鏂規硶銆?
鍏充簬+鏄覆鎺ヨ繕鏄姞娉曪紝鐢辨搷浣滄暟鍐沖畾銆?+2+str+3+4 灝卞緢瀹規槗鐭ラ亾鏄?3jf34"銆俒BTW :鍦↗LS鐨?5.18.1.3涓婦鐨勪竴涓猨ocular little example錛岀湡鐨勫緢鏃犺叮銆俔
涓嬮潰鐨勪緥瀛愭祴璇曚簡鏀瑰啓toString鏂規硶鐨勬儏鍐?銆?BR>
class A{
int i = 10;
public static void main(String []args){
String str = new String("jf");
str += new A();
System.out.print(str);
}
public String toString(){
return " a.i ="+i+"\n";
}
}
涓夈佸瓧絎︿覆杞崲鐨勪紭鍖?BR>
鎸夌収涓婅堪璇存硶錛宻tr = 1+2+str+3+4;璇彞浼間箮搴旇灝卞簲璇ョ敓鎴?涓猄tring瀵硅薄錛?BR>
1+2 錛?錛宼hen 3鈫捍nteger(3)鈫?3" in pool? [鍋囪濡傛]
"3"+str(in heap) = "3jf" (in heap)
"3jf" +3 ,first 3鈫捍nteger(3)鈫?3" in pool? [鍒欎笉鍒涘緩] then "3jf3"
"3jf3"+4 create "4" in pool
then "3jf34"
榪欓噷鎴戝茍涓嶆竻妤?銆?杞崲鎴愬瓧絎︿覆鍚庢槸鍚﹀湪姹犱腑錛屾墍浠ヤ笂榪扮粨鏋滀粛鐒舵槸鐚滄祴銆?BR>
涓轟簡鍑忓皯鍒涘緩涓棿榪囨浮鎬х殑瀛楃涓插璞★紝鎻愰珮鍙嶅榪涜涓叉帴榪愮畻鏃剁殑鎬ц兘錛宎 Java compiler鍙互浣跨敤StringBuffer鎴栬呯被浼肩殑鎶鏈紝鎴栬呮妸杞崲涓庝覆鎺ュ悎騫舵垚涓姝ャ備緥濡傦細瀵逛簬 a + b + c 錛孞ava緙栬瘧鍣ㄥ氨鍙互灝嗗畠瑙嗕負[as if]
new StringBuffer().append(a).append(b).append(c).toString();
娉ㄦ剰錛屽浜庡熀鏈被鍨嬪拰寮曠敤綾誨瀷錛屽湪append(a)榪囩▼涓粛鐒惰鍏堝皢鍙傛暟杞崲錛屼粠榪欎釜瑙傜偣鐪嬶紝str = 1+2+str+3+4;鍒涘緩鐨勫瓧絎︿覆鍙兘鏄?3"銆?4"鍜?3jf34"[浠ュ強涓涓猄tringBuffer瀵硅薄]銆?BR>
鐜板湪鎴戜粛鐒朵笉鐭ラ亾鎬庝箞鍥炵瓟str = 1+2+str+3+4;鍒涘緩浜嗗灝慡tring鐨勫璞★紝銆傛垨璁革紝榪欎釜闂涓嶉渶瑕佽繃浜庣爺絀訛紝鑷沖皯SCJP涓嶄細鑰冨畠銆?BR>
3銆佽繖鍙堜笉鍚岋細str = "3"+"jf"+"3"+"4";
濡傛灉鏄竴涓畬鍏ㄧ敱瀛楃涓叉枃瀛楃粍鎴愮殑琛ㄨ揪寮忥紝鍒欏湪緙栬瘧鏃訛紝宸茬粡琚紭鍖栬屼笉浼氬湪榪愯鏃跺垱寤轟腑闂村瓧絎︿覆銆傛祴璇曚唬鐮佸涓嬶細
String str1 ="3jf34";
String str2 ="3"+"jf"+"3"+"4";
if(str1 == str2) {
System.out.println("str1 == str2");
}else {
System.out.println("think again");
}
if(str2.equals(str1))
System.out.println("yet str2.equals(str1)");
鍙錛宻tr1涓巗tr2鎸囧悜鍚屼竴涓璞★紝榪欎釜瀵硅薄鍦╬ool涓傛墍鏈夐伒寰狫ava Language Spec鐨勭紪璇戝櫒閮藉繀欏誨湪緙栬瘧鏃跺constant expressions 榪涜綆鍖栥侸LS瑙勫畾錛歋trings computed by constant expressions (ý15.28) are computed at compile time and then treated as if they were literals.
瀵逛簬String str2 ="3"+"jf"+"3"+"4";鎴戜滑璇翠粎浠呭垱寤轟竴涓璞°傛敞鎰忥紝鈥滃垱寤哄灝戝璞♀濈殑璁ㄨ鏄榪愯鏃跺垱寤哄灝戝璞°?BR>
BTW錛氱紪璇戞椂浼樺寲
String x = "aaa " + "bbb ";
if (false) {
x = x + "ccc ";
}
x += "ddd ";
絳変環浜庯細
String x = "aaa bbb ";
x = x + "ddd ";
4銆佷笉鍙樼被
String瀵硅薄鏄笉鍙敼鍙樼殑(immutable)銆傛湁浜哄str = 1+2+str+3+4;璇彞鎻愬嚭鐤戦棶,鎬庝箞str鐨勫唴瀹瑰彲浠ユ敼鍙橈紵鍏跺疄浠嶇劧鏄洜涓轟笉娓呮錛氬紩鐢ㄥ彉閲忎笌瀵硅薄鐨勫尯鍒俿tr浠呬粎鏄紩鐢ㄥ彉閲忥紝瀹冪殑鍊尖斺斿畠鎸佹湁鐨勫紩鐢ㄥ彲浠ユ敼鍙樸備綘涓嶅仠鍦板垱寤烘柊瀵硅薄錛屾垜灝變笉鏂湴鏀瑰彉鎸囧悜銆俒鍙傝僒IJ鐨凴ead-only classes銆俔
涓嶅彉綾葷殑鍏抽敭鏄紝瀵逛簬瀵硅薄鐨勬墍鏈夋搷浣滈兘涓嶅彲鑳芥敼鍙樺師鏉ョ殑瀵硅薄[鍙闇瑕侊紝灝辮繑鍥炰竴涓敼鍙樹簡鐨勬柊瀵硅薄]銆傝繖灝變繚璇佷簡瀵硅薄涓嶅彲鏀瑰彉銆備負浠涔堣灝嗕竴涓被璁捐鎴愪笉鍙樼被錛熸湁涓涓狾OD璁捐鐨勫師鍒欙細Law of Demeter銆傚叾騫夸箟瑙h鏄細
浣跨敤涓嶅彉綾匯傚彧瑕佹湁鍙兘錛岀被搴斿綋璁捐涓轟笉鍙樼被銆?BR>
1銆乼omcat涓嬮厤緗櫄鎷熺洰褰?BR>
鎵撳紑TOMCAT鏂囦歡涓嬬殑conf\server.xml鏂囦歡 錛屾煡鎵懼埌<ContextManager>鏍囩錛屽茍鍦ㄨ鏍囩鐨勭粨鏉熸爣絳?lt;/ContextManager>鍓嶉潰鍔犱笂錛?BR>
<Context path="铏氭嫙鐩綍" docBase="紜洏鐩綍" debug="0" reloadable="true" crossContext="true"/>
鍏朵腑path鐨勫兼槸铏氭嫙鐩綍錛宒ocbase鐨勫兼槸浣犵殑紜洏鐨勭殑鐩綍鐨勭粷瀵硅礬寰勩?/STRONG>
濡傛壘涓嶅埌<ContextManager>鍏冪礌錛屽彲浠ユ壘
<Host name="localhost" debug="0" appBase="webapps"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
鐒跺悗娣誨姞<Context path="铏氭嫙鐩綍" docBase="紜洏鐩綍" debug="0" reloadable="true" crossContext="true"/>
2銆佺姝omcat鐩綍嫻忚,灝唋istings璁句負false
<servlet>
<servlet-name>default</servlet-name>
<servlet-class>
org.apache.catalina.servlets.DefaultServlet
</servlet-class>
<init-param>
<param-name>debug</param-name>
<param-value>0</param-value>
</init-param>
<init-param>
<param-name>listings</param-name>
<param-value>false</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
3銆佽緗弸濂介敊璇〉闈紝閰嶇疆web.xml
<error-page>
<error-code>404</error-code>
<location>/error.jsp</location>
</error-page>
<error-page>
<error-code>500</error-code>
<location>/error.jsp</location>
</error-page>
4銆佸湪IE涓洿鎺ユ墦寮鍏朵粬鎵╁睍鍚嶇殑鏂囦歡
涓轟簡璁╄兘鍦↖E嫻忚鍣ㄤ腑鑷姩鎵撳紑鍏朵粬鎵╁睍鏂囦歡鍚嶇殑鏂囦歡鐨勮緗細
闇瑕佸湪WEB.XML涓繘琛屽涓嬬殑璁劇疆錛?BR> 鍦╓EB.XML涓坊鍔?lt;mime-mapping>,鍏朵腑:
<extension>: 鏂囦歡鐨勬墿灞曞悕
<mime-type>: 闄や簡璇ョ被鍨嬫枃浠剁殑鍙墽琛屾枃浠?鍚學INDOW娉ㄥ唽琛ㄤ腑鐨?nbsp; /HKEY_CLASSES_ROOT涓嬭綾繪枃浠剁殑Content Type 鐨勫間竴鏍?
濡傝兘鍦↖E涓嚜鍔ㄦ墦寮DOC錛孹LS錛孭DF鏂囦歡鐨勯厤緗涓?
<?xml version="1.0" ?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 1.2//EN" "<web-app>
<mime-mapping>
<extension>doc</extension>
<mime-type>application/msword</mime-type>
</mime-mapping>
<mime-mapping>
<extension>xls</extension>
<mime-type>application/msexcel</mime-type>
</mime-mapping>
<mime-mapping>
<extension>pdf</extension>
<mime-type>application/pdf</mime-type>
</mime-mapping>
</web-app>