锘??xml version="1.0" encoding="utf-8" standalone="yes"?>
]]>
鐢變簬session浼氭秷鑰楀唴瀛樿祫婧愶紝鍥犳錛屽鏋滀笉鎵撶畻浣跨敤session錛屽簲璇ュ湪鎵鏈夌殑JSP涓叧闂畠銆?br />
2銆乻ession浣曟椂琚垹闄?br />緇煎悎鍓嶉潰鐨勮璁猴紝session鍦ㄤ笅鍒楁儏鍐典笅琚垹闄.紼嬪簭璋冪敤HttpSession.invalidate();鎴朾.璺濈涓婁竴嬈℃敹鍒板鎴風鍙戦佺殑session聽id鏃墮棿闂撮殧瓚呰繃浜唖ession鐨勮秴鏃惰緗?鎴朿.鏈嶅姟鍣ㄨ繘紼嬭鍋滄錛堥潪鎸佷箙session錛?br />
3銆佸浣曞仛鍒板湪嫻忚鍣ㄥ叧闂椂鍒犻櫎session
涓ユ牸鐨勮錛屽仛涓嶅埌榪欎竴鐐廣傚彲浠ュ仛涓鐐瑰姫鍔涚殑鍔炴硶鏄湪鎵鏈夌殑瀹㈡埛绔〉闈㈤噷浣跨敤javascript浠g爜window.oncolose鏉ョ洃瑙嗘祻瑙堝櫒鐨勫叧闂姩浣滐紝鐒跺悗鍚戞湇鍔″櫒鍙戦佷竴涓姹傛潵鍒犻櫎session銆備絾鏄浜庢祻瑙堝櫒宕╂簝鎴栬呭己琛屾潃姝昏繘紼嬭繖浜涢潪甯歌鎵嬫浠嶇劧鏃犺兘涓哄姏銆?br />
4銆佹湁涓狧ttpSessionListener鏄庝箞鍥炰簨
浣犲彲浠ュ垱寤鴻繖鏍風殑listener鍘葷洃鎺ession鐨勫垱寤哄拰閿姣佷簨浠訛紝浣垮緱鍦ㄥ彂鐢熻繖鏍風殑浜嬩歡鏃朵綘鍙互鍋氫竴浜涚浉搴旂殑宸ヤ綔銆傛敞鎰忔槸session鐨勫垱寤哄拰閿姣佸姩浣滆Е鍙憀istener錛岃屼笉鏄浉鍙嶃傜被浼肩殑涓嶩ttpSession鏈夊叧鐨刲istener榪樻湁聽HttpSessionBindingListener錛孒ttpSessionActivationListener鍜屄燞ttpSessionAttributeListener銆?br />
5銆佸瓨鏀懼湪session涓殑瀵硅薄蹇呴』鏄彲搴忓垪鍖栫殑鍚?br />涓嶆槸蹇呴渶鐨勩傝姹傚璞″彲搴忓垪鍖栧彧鏄負浜唖ession鑳藉鍦ㄩ泦緹や腑琚鍒舵垨鑰呰兘澶熸寔涔呬繚瀛樻垨鑰呭湪蹇呰鏃秙erver鑳藉鏆傛椂鎶妔ession浜ゆ崲鍑哄唴瀛樸傚湪聽Weblogic聽Server鐨剆ession涓斁緗竴涓笉鍙簭鍒楀寲鐨勫璞″湪鎺у埗鍙頒笂浼氭敹鍒頒竴涓鍛娿傛垜鎵鐢ㄨ繃鐨勬煇涓猧Planet鐗堟湰濡傛灉聽session涓湁涓嶅彲搴忓垪鍖栫殑瀵硅薄錛屽湪session閿姣佹椂浼氭湁涓涓狤xception錛屽緢濂囨?br />
6銆佸浣曟墠鑳芥紜殑搴斾粯瀹㈡埛绔姝ookie鐨勫彲鑳芥?br />瀵規墍鏈夌殑URL浣跨敤URL閲嶅啓錛屽寘鎷秴閾炬帴錛宖orm鐨刟ction錛屽拰閲嶅畾鍚戠殑URL錛屽叿浣撳仛娉曞弬瑙乕6]
http://e-docs.bea.com/wls/docs70/webapp/sessions.html#100770
7銆佸紑涓や釜嫻忚鍣ㄧ獥鍙h闂簲鐢ㄧ▼搴忎細浣跨敤鍚屼竴涓猻ession榪樻槸涓嶅悓鐨剆ession
鍙傝絎笁灝忚妭瀵筩ookie鐨勮璁猴紝瀵箂ession鏉ヨ鏄彧璁d涓嶈浜猴紝鍥犳涓嶅悓鐨勬祻瑙堝櫒錛屼笉鍚岀殑紿楀彛鎵撳紑鏂瑰紡浠ュ強涓嶅悓鐨刢ookie瀛樺偍鏂瑰紡閮戒細瀵硅繖涓棶棰樼殑絳旀鏈夊獎鍝嶃?br />
8銆佸浣曢槻姝㈢敤鎴鋒墦寮涓や釜嫻忚鍣ㄧ獥鍙f搷浣滃鑷寸殑session娣蜂貢
榪欎釜闂涓庨槻姝㈣〃鍗曞嬈℃彁浜ゆ槸綾諱技鐨勶紝鍙互閫氳繃璁劇疆瀹㈡埛绔殑浠ょ墝鏉ヨВ鍐熾傚氨鏄湪鏈嶅姟鍣ㄦ瘡嬈$敓鎴愪竴涓笉鍚岀殑id榪斿洖緇欏鎴風錛屽悓鏃朵繚瀛樺湪session閲岋紝瀹㈡埛绔彁浜よ〃鍗曟椂蹇呴』鎶婅繖涓猧d涔熻繑鍥炴湇鍔″櫒錛岀▼搴忛鍏堟瘮杈冭繑鍥炵殑id涓庝繚瀛樺湪session閲岀殑鍊兼槸鍚︿竴鑷達紝濡傛灉涓嶄竴鑷村垯璇存槑鏈鎿嶄綔宸茬粡琚彁浜よ繃浜嗐傚彲浠ュ弬鐪嬨奐2EE鏍稿績妯″紡銆嬪叧浜庤〃紺哄眰妯″紡鐨勯儴鍒嗐傞渶瑕佹敞鎰忕殑鏄浜庝嬌鐢╦avascript聽window.open鎵撳紑鐨勭獥鍙o紝涓鑸笉璁劇疆榪欎釜id錛屾垨鑰呬嬌鐢ㄥ崟鐙殑id錛屼互闃蹭富紿楀彛鏃犳硶鎿嶄綔錛屽緩璁笉瑕佸啀window.open鎵撳紑鐨勭獥鍙i噷鍋氫慨鏀規搷浣滐紝榪欐牱灝卞彲浠ヤ笉鐢ㄨ緗?br />
9銆佷負浠涔堝湪Weblogic聽Server涓敼鍙榮ession鐨勫煎悗瑕侀噸鏂拌皟鐢ㄤ竴嬈ession.setValue
鍋氳繖涓姩浣滀富瑕佹槸涓轟簡鍦ㄩ泦緹ょ幆澧冧腑鎻愮ずWeblogic聽Server聽session涓殑鍊煎彂鐢熶簡鏀瑰彉錛岄渶瑕佸悜鍏朵粬鏈嶅姟鍣ㄨ繘紼嬪鍒舵柊鐨剆ession鍊箋?br />
10銆佷負浠涔坰ession涓嶈浜?br />鎺掗櫎session姝e父澶辨晥鐨勫洜绱犱箣澶栵紝鏈嶅姟鍣ㄦ湰韜殑鍙兘鎬у簲璇ユ槸寰箮鍏跺井鐨勶紝铏界劧絎旇呭湪iPlanet6SP1鍔犺嫢騫茶ˉ涓佺殑Solaris鐗堟湰涓婂掍篃閬囧埌榪囷紱嫻忚鍣ㄦ彃浠剁殑鍙兘鎬ф涔嬶紝絎旇呬篃閬囧埌榪?721鎻掍歡閫犳垚鐨勯棶棰橈紱鐞嗚涓婇槻鐏鎴栬呬唬鐞嗘湇鍔″櫒鍦╟ookie澶勭悊涓婁篃鏈夊彲鑳戒細鍑虹幇闂銆?br />鍑虹幇榪欎竴闂鐨勫ぇ閮ㄥ垎鍘熷洜閮芥槸紼嬪簭鐨勯敊璇紝鏈甯歌鐨勫氨鏄湪涓涓簲鐢ㄧ▼搴忎腑鍘昏闂彟澶栦竴涓簲鐢ㄧ▼搴忋傛垜浠湪涓嬩竴鑺傝璁鴻繖涓棶棰樸?br />
涓冦佽法搴旂敤紼嬪簭鐨剆ession鍏變韓
甯稿父鏈夎繖鏍風殑鎯呭喌錛屼竴涓ぇ欏圭洰琚垎鍓叉垚鑻ュ共灝忛」鐩紑鍙戯紝涓轟簡鑳藉浜掍笉騫叉壈錛岃姹傛瘡涓皬欏圭洰浣滀負涓涓崟鐙殑web搴旂敤紼嬪簭寮鍙戯紝鍙槸鍒頒簡鏈鍚庣獊鐒跺彂鐜版煇鍑犱釜灝忛」鐩箣闂撮渶瑕佸叡浜竴浜涗俊鎭紝鎴栬呮兂浣跨敤session鏉ュ疄鐜癝SO(single聽sign聽on)錛屽湪session涓繚瀛榣ogin鐨勭敤鎴蜂俊鎭紝鏈鑷劧鐨勮姹傛槸搴旂敤紼嬪簭闂磋兘澶熻闂郊姝ょ殑session銆?br />
鐒惰屾寜鐓ervlet瑙勮寖錛宻ession鐨勪綔鐢ㄨ寖鍥村簲璇ヤ粎浠呴檺浜庡綋鍓嶅簲鐢ㄧ▼搴忎笅錛屼笉鍚岀殑搴旂敤紼嬪簭涔嬮棿鏄笉鑳藉浜掔浉璁塊棶瀵規柟鐨剆ession鐨勩傚悇涓簲鐢ㄦ湇鍔″櫒浠庡疄闄呮晥鏋滀笂閮介伒瀹堜簡榪欎竴瑙勮寖錛屼絾鏄疄鐜扮殑緇嗚妭鍗村彲鑳藉悇鏈変笉鍚岋紝鍥犳瑙e喅璺ㄥ簲鐢ㄧ▼搴弒ession鍏變韓鐨勬柟娉曚篃鍚勪笉鐩稿悓銆?br />
棣栧厛鏉ョ湅涓涓婽omcat鏄浣曞疄鐜皐eb搴旂敤紼嬪簭涔嬮棿session鐨勯殧紱葷殑錛屼粠聽Tomcat璁劇疆鐨刢ookie璺緞鏉ョ湅錛屽畠瀵逛笉鍚岀殑搴旂敤紼嬪簭璁劇疆鐨刢ookie璺緞鏄笉鍚岀殑錛岃繖鏍蜂笉鍚岀殑搴旂敤紼嬪簭鎵鐢ㄧ殑session聽id鏄笉鍚岀殑錛屽洜姝ゅ嵆浣垮湪鍚屼竴涓祻瑙堝櫒紿楀彛閲岃闂笉鍚岀殑搴旂敤紼嬪簭錛屽彂閫佺粰鏈嶅姟鍣ㄧ殑session聽id涔熷彲浠ユ槸涓嶅悓鐨勩?br />
聽聽
鏍規嵁榪欎釜鐗規э紝鎴戜滑鍙互鎺ㄦ祴Tomcat涓璼ession鐨勫唴瀛樼粨鏋勫ぇ鑷村涓嬨?br />
絎旇呬互鍓嶇敤榪囩殑iPlanet涔熼噰鐢ㄧ殑鏄悓鏍風殑鏂瑰紡錛屼及璁unONE涓巌Planet涔嬮棿涓嶄細鏈夊お澶х殑宸埆銆傚浜庤繖縐嶆柟寮忕殑鏈嶅姟鍣紝瑙e喅鐨勬濊礬寰堢畝鍗曪紝瀹為檯瀹炶璧鋒潵涔熶笉闅俱傝涔堣鎵鏈夌殑搴旂敤紼嬪簭鍏變韓涓涓猻ession聽id錛岃涔堣搴旂敤紼嬪簭鑳藉鑾峰緱鍏朵粬搴旂敤紼嬪簭鐨剆ession聽id銆?br />
iPlanet涓湁涓縐嶅緢綆鍗曠殑鏂規硶鏉ュ疄鐜板叡浜竴涓猻ession聽id錛岄偅灝辨槸鎶婂悇涓簲鐢ㄧ▼搴忕殑cookie璺緞閮借涓?錛堝疄闄呬笂搴旇鏄?NASApp錛屽浜庡簲鐢ㄧ▼搴忔潵璁插畠鐨勪綔鐢ㄧ浉褰撲簬鏍癸級銆?br /><session-info>
<path>/NASApp</path>
</session-info>
闇瑕佹敞鎰忕殑鏄紝鎿嶄綔鍏變韓鐨剆ession搴旇閬靛驚涓浜涚紪紼嬬害瀹氾紝姣斿鍦╯ession聽attribute鍚嶅瓧鐨勫墠闈㈠姞涓婂簲鐢ㄧ▼搴忕殑鍓嶇紑錛屼嬌寰椔爏etAttribute("name",聽"neo")鍙樻垚setAttribute("app1.name",聽"neo")錛屼互闃叉鍛藉悕絀洪棿鍐茬獊錛屽鑷翠簰鐩歌鐩栥?br />
鍦═omcat涓垯娌℃湁榪欎箞鏂逛究鐨勯夋嫨銆傚湪Tomcat鐗堟湰3涓婏紝鎴戜滑榪樺彲浠ユ湁涓浜涙墜孌墊潵鍏變韓session銆傚浜庣増鏈?浠ヤ笂鐨凾omcat錛岀洰鍓嶇瑪鑰呭皻鏈彂鐜扮畝鍗曠殑鍔炴硶銆傚彧鑳藉熷姪浜庣涓夋柟鐨勫姏閲忥紝姣斿浣跨敤鏂囦歡銆佹暟鎹簱銆丣MS鎴栬呭鎴風cookie錛孶RL鍙傛暟鎴栬呴殣钘忓瓧孌電瓑鎵嬫銆?br />
鎴戜滑鍐嶇湅涓涓媁eblogic聽Server鏄浣曞鐞唖ession鐨勩?br />
聽聽
浠庢埅灞忕敾闈笂鍙互鐪嬪埌Weblogic聽Server瀵規墍鏈夌殑搴旂敤紼嬪簭璁劇疆鐨刢ookie鐨勮礬寰勯兘鏄?錛岃繖鏄笉鏄剰鍛崇潃鍦╓eblogic聽Server涓粯璁ょ殑灝卞彲浠ュ叡浜玸ession浜嗗憿錛熺劧鑰屼竴涓皬瀹為獙鍗沖彲璇佹槑鍗充嬌涓嶅悓鐨勫簲鐢ㄧ▼搴忎嬌鐢ㄧ殑鏄悓涓涓猻ession錛屽悇涓簲鐢ㄧ▼搴忎粛鐒跺彧鑳借闂嚜宸辨墍璁劇疆鐨勯偅浜涘睘鎬с傝繖璇存槑Weblogic聽Server涓殑session鐨勫唴瀛樼粨鏋勫彲鑳藉涓?br />
瀵逛簬榪欐牱涓縐嶇粨鏋勶紝鍦爏ession鏈哄埗鏈韓涓婃潵瑙e喅session鍏變韓鐨勯棶棰樺簲璇ユ槸涓嶅彲鑳界殑浜嗐傞櫎浜嗗熷姪浜庣涓夋柟鐨勫姏閲忥紝姣斿浣跨敤鏂囦歡銆佹暟鎹簱銆丣MS鎴栬呭鎴風聽cookie錛孶RL鍙傛暟鎴栬呴殣钘忓瓧孌電瓑鎵嬫錛岃繕鏈変竴縐嶈緝涓烘柟渚跨殑鍋氭硶錛屽氨鏄妸涓涓簲鐢ㄧ▼搴忕殑session鏀懼埌ServletContext涓紝榪欐牱鍙﹀涓涓簲鐢ㄧ▼搴忓氨鍙互浠嶴ervletContext涓彇寰楀墠涓涓簲鐢ㄧ▼搴忕殑寮曠敤銆傜ず渚嬩唬鐮佸涓嬶紝
搴旂敤紼嬪簭A
context.setAttribute("appA",聽session);聽
搴旂敤紼嬪簭B
contextA聽=聽context.getContext("/appA");
HttpSession聽sessionA聽=聽(HttpSession)contextA.getAttribute("appA");聽
鍊煎緱娉ㄦ剰鐨勬槸榪欑鐢ㄦ硶涓嶅彲縐繪錛屽洜涓烘牴鎹甋ervletContext鐨凧avaDoc錛屽簲鐢ㄦ湇鍔″櫒鍙互澶勪簬瀹夊叏鐨勫師鍥犲浜巆ontext.getContext("/appA");榪斿洖絀哄鹼紝浠ヤ笂鍋氭硶鍦╓eblogic聽Server聽8.1涓氳繃銆?br />
閭d箞Weblogic聽Server涓轟粈涔堣鎶婃墍鏈夌殑搴旂敤紼嬪簭鐨刢ookie璺緞閮借涓?鍛紵鍘熸潵鏄負浜哠SO錛屽嚒鏄叡浜繖涓猻ession鐨勫簲鐢ㄧ▼搴忛兘鍙互鍏變韓璁よ瘉鐨勪俊鎭備竴涓畝鍗曠殑瀹為獙灝卞彲浠ヨ瘉鏄庤繖涓鐐癸紝淇敼棣栧厛鐧誨綍鐨勯偅涓簲鐢ㄧ▼搴忕殑鎻忚堪絎eblogic.xml錛屾妸cookie璺緞淇敼涓?appA聽璁塊棶鍙﹀涓涓簲鐢ㄧ▼搴忎細閲嶆柊瑕佹眰鐧誨綍錛屽嵆浣挎槸鍙嶈繃鏉ワ紝鍏堣闂甤ookie璺緞涓?鐨勫簲鐢ㄧ▼搴忥紝鍐嶈闂慨鏀硅繃璺緞鐨勮繖涓紝铏界劧涓嶅啀鎻愮ず鐧誨綍錛屼絾鏄櫥褰曠殑鐢ㄦ埛淇℃伅涔熶細涓㈠け銆傛敞鎰忓仛榪欎釜瀹為獙鏃惰璇佹柟寮忓簲璇ヤ嬌鐢‵ORM錛屽洜涓烘祻瑙堝櫒鍜寃eb鏈嶅姟鍣ㄥbasic璁よ瘉鏂瑰紡鏈夊叾浠栫殑澶勭悊鏂瑰紡錛岀浜屾璇鋒眰鐨勮璇佷笉鏄氳繃聽session鏉ュ疄鐜扮殑銆傚叿浣撹鍙傜湅[7]聽secion聽14.8聽Authorization錛屼綘鍙互淇敼鎵闄勭殑紺轟緥紼嬪簭鏉ュ仛榪欎簺璇曢獙銆?br />
鍏佹葷粨
session鏈哄埗鏈韓騫朵笉澶嶆潅錛岀劧鑰屽叾瀹炵幇鍜岄厤緗笂鐨勭伒媧繪у嵈浣垮緱鍏蜂綋鎯呭喌澶嶆潅澶氬彉銆傝繖涔熻姹傛垜浠笉鑳芥妸浠呬粎鏌愪竴嬈$殑緇忛獙鎴栬呮煇涓涓祻瑙堝櫒錛屾湇鍔″櫒鐨勭粡楠屽綋浣滄櫘閬嶉傜敤鐨勭粡楠岋紝鑰屾槸濮嬬粓闇瑕佸叿浣撴儏鍐靛叿浣撳垎鏋愩?br />鎽樿錛氳櫧鐒秙ession鏈哄埗鍦╳eb搴旂敤紼嬪簭涓閲囩敤宸茬粡寰堥暱鏃墮棿浜嗭紝浣嗘槸浠嶇劧鏈夊緢澶氫漢涓嶆竻妤歴ession鏈哄埗鐨勬湰璐紝浠ヨ嚦涓嶈兘姝g‘鐨勫簲鐢ㄨ繖涓鎶鏈傛湰鏂囧皢璇︾粏璁ㄨsession鐨勫伐浣滄満鍒跺茍涓斿鍦↗ava聽web聽application涓簲鐢╯ession鏈哄埗鏃跺父瑙佺殑闂浣滃嚭瑙g瓟銆?img src ="http://www.tkk7.com/do4best/aggbug/68194.html" width = "1" height = "1" />
]]>