锘??xml version="1.0" encoding="utf-8" standalone="yes"?>
蹇熸帓搴忕殑綆楁硶鎬濇兂錛?br />
蹇熸帓搴忛噰鐢ㄤ簡鍒嗘不鐨勭瓥鐣ワ紝灝嗗師闂鍒嗚В涓鴻嫢騫蹭釜瑙勬ā鏇村皬浣嗙粨鏋勪笌鍘熼棶棰樼浉浼肩殑瀛愰棶棰樸傜敤閫掑綊鏂規硶瑙e喅瀛愰棶棰橈紝鐒跺悗灝嗚繖浜涘瓙闂鐨勮В緇勫悎涓哄師闂鐨勮В銆?br />
蹇熸帓搴忕殑紼嬪簭鐨勪竴鑸繃紼嬪彲綆鍗曟弿榪頒負錛?br />
1.鐢ㄧ粺涓鐨勬柟娉曞彇寰?pivot(杞?銆?br />
2.鏍規嵁pivot 瀵瑰凡鏈夋暟緇勮繘琛屾帓搴?br />
1) 灝哸rray[pivot]瀛樺偍鍦╰mp鍙橀噺涓紝浣滀負姣旇緝鍩哄噯銆?br />
浠ow銆乭igh鍒嗗埆浠庡墠鍚戝悗銆佷粠鍚庡悜鍓嶉亶鍘嗘暟緇?br />
2) 浠庡悗鍚戝墠閬嶅巻錛屾壘鍒扮涓涓皬浜巘mp鐨勬暟錛屽皢鍏剁Щ鍔ㄥ埌low鐨勪綅緗?br />
3) 浠庡墠鍚戝悗閬嶅巻錛屾壘鍒扮涓涓ぇ浜巘mp鐨勬暟錛屽皢鍏剁Щ鍔ㄥ埌high鐨勪綅緗?br />
4) 寰幆2銆?姝ワ紝鐩村埌涓ゆ寚閽堥噸鍙?鍗抽鍑哄驚鐜殑鏉′歡鏄?low >= high)錛屽皢tmp縐誨姩鍒發ow(姝ゆ椂low涓巋igh閲嶅悎)鐨勪綅緗紝騫跺皢low榪斿洖鎴愪負鏂扮殑pivot銆?br />
5) 鏍規嵁4姝ヨ繑鍥炵殑pivot錛屽宸叉湁鏁扮粍榪涜鍒掑垎錛?锝瀙ivot-1 鍜?pivot+1 锝?array.lenght錛岄掑綊1锝?姝ャ傜洿鍒拌皟鐢ㄩ鍑恒?br />
鐩鎬俊瀵逛簬浠ヤ笂鐞嗚澶у涓瀹氭槸鑰崇啛鑳借浜嗭紝浣嗙悊瑙h搗鏉ヨ繕鏄瘮杈冩娊璞★紝涓嬮潰鎴戝氨鐢‥xcel鐢誨浘綆鍗曠殑鎻忚堪涓涓?蹇熸帓搴?鐨勮繃紼嬨?br />
鍋囪鎴戜滑瑕佸啓涓涓▼搴忓宸叉湁鏁扮粍榪涜鎺掑簭錛岀畝鍗曡搗瑙侊紝璁懼畾寰呮帓搴忔暟緇勪負 int[] array = { 4, 2, 1, 7, 5, 3, 8, 6 }銆傚鍏剁敤蹇熸帓搴忕畻娉曡繘琛屾帓搴忥紝榪囩▼鎻忚堪濡備笅錛?br />
1.鏍規嵁宸叉湁寰呮帓搴忔暟緇勶紝鍙栧緱pivot錛屾垜鍦ㄨ繖閲屽彇寰梡ivot鐨勭瓥鐣ュ氨鏄?鍙?鏁扮粍鐨勭涓涓暟錛岃繖閲屽嵆涓?4銆?br />
tmp = 4錛?br />
寰呮帓搴忔暟緇勶細榛勮壊搴曡壊琛ㄧずpivot銆?br />
2.浠庡悗鍚戝墠縐誨姩high錛屾壘鍒扮涓涓皬浜巘mp鐨勬暟錛屽垯灝嗚鏁扮Щ鍔ㄥ埌low鐨勪綅緗?br />
3.浠庡墠鍚戝悗縐誨姩low錛屾壘鍒扮涓涓ぇ浜巘mp錛?錛夌殑鏁幫紝灝嗗叾縐誨姩鍒癶igh鐨勪綅緗?br />
4.鐒跺悗鍐嶅悜鍓嶇Щ鍔╤igh錛岃瘯鍥炬壘鍒扮涓涓皬浜巘mp(4)鐨勬暟錛屼絾娌℃湁鎵懼埌錛屾鏃秎ow涓巋igh閲嶅彔錛屽皢tmp鐨勫兼斁鍏ow鐨勪綅緗紝騫跺皢low浣滀負pivot榪斿洖銆?br />
鏍規嵁鏂扮殑pivot榪涜閫掑綊璋冪敤錛屽皢鍘熷緟鎺掑簭鏁扮粍 鍒嗚В涓轟袱鍧楋紝index鍖洪棿鍒嗗埆涓?锝?錛?锝?錛屽嵆浠ヤ笅涓や釜瀛愭暟緇?br />
(騫舵湭鏂板緩鏁扮粍錛屽彧鏄彧鍏蟲敞榪欎釜鍖洪棿鐨勬暟鎹紝瀵瑰叾榪涜鎺掑簭錛屼篃灝辨槸灝嗛棶棰樺垎瑙d負涓や釜灝忕殑瀛愰棶棰橈紝浣嗛棶棰樺緢綾諱技銆?
榪欎袱涓暟緇勭殑鎺掑簭榪囩▼榪欓噷灝變笉鐢諱簡錛屼竴鏍風殑榪囩▼銆?br />
涓嬮潰鏉ョ湅鐪嬪疄鐜扮殑浠g爜錛屼笌鍒氬垰鐨勮繃紼嬫弿榪版槸絎﹀悎鐨勶細
嫻嬭瘯浠g爜濡備笅錛?br />
1. 浣跨敤maven鍛戒護錛歮vn dependency:sources 涓嬭澆渚濊禆鍖呯殑婧愪唬鐮併?/p>
2. 浣跨敤鍙傛暟錛?-DdownloadSources=true 涓嬭澆婧愪唬鐮乯ar銆?-DdownloadJavadocs=true 涓嬭澆javadoc鍖呫?/p>
maven2 璺寵繃嫻嬭瘯鐢ㄤ緥
-Dmaven.test.skip=true
渚嬪鍦?install銆乸ackage銆乨eploy闃舵璺寵繃鐢ㄤ緥
mvn install -Dmaven.test.skip=true
mvn package -Dmaven.test.skip=true
mvn deploy -Dmaven.test.skip=true
涓銆佹湳璇璼ession
鍦ㄦ垜鐨勭粡楠岄噷錛宻ession榪欎釜璇嶈婊ョ敤鐨勭▼搴﹀ぇ姒備粎嬈′簬transaction錛屾洿鍔犳湁瓚g殑鏄痶ransaction涓巗ession鍦ㄦ煇浜涜澧冧笅鐨勫惈涔夋槸鐩稿悓鐨勩?/p>
session錛屼腑鏂囩粡甯哥炕璇戜負浼氳瘽錛屽叾鏈潵鐨勫惈涔夋槸鎸囨湁濮嬫湁緇堢殑涓緋誨垪鍔ㄤ綔/娑堟伅錛屾瘮濡傛墦鐢佃瘽鏃朵粠鎷胯搗鐢佃瘽鎷ㄥ彿鍒版寕鏂數璇濊繖涓棿鐨勪竴緋誨垪榪囩▼鍙互縐頒箣涓轟竴涓?session銆傛湁鏃跺欐垜浠彲浠ョ湅鍒拌繖鏍風殑璇?#8220;鍦ㄤ竴涓祻瑙堝櫒浼氳瘽鏈熼棿錛?..”錛岃繖閲岀殑浼氳瘽涓璇嶇敤鐨勫氨鏄叾鏈箟錛屾槸鎸囦粠涓涓祻瑙堝櫒紿楀彛鎵撳紑鍒板叧闂繖涓湡闂?鈶犮傛渶娣蜂貢鐨勬槸“鐢ㄦ埛錛堝鎴風錛夊湪涓嬈′細璇濇湡闂?#8221;榪欐牱涓鍙ヨ瘽錛屽畠鍙兘鎸囩敤鎴風殑涓緋誨垪鍔ㄤ綔錛堜竴鑸儏鍐典笅鏄悓鏌愪釜鍏蜂綋鐩殑鐩稿叧鐨勪竴緋誨垪鍔ㄤ綔錛屾瘮濡備粠鐧誨綍鍒伴夎喘鍟嗗搧鍒扮粨璐︾櫥鍑鴻繖鏍蜂竴涓綉涓婅喘鐗╃殑榪囩▼錛屾湁鏃跺欎篃琚О涓轟竴涓猼ransaction錛夛紝鐒惰屾湁鏃跺欎篃鍙兘浠呬粎鏄寚涓嬈¤繛鎺ワ紝涔熸湁鍙兘鏄寚鍚箟鈶狅紝鍏朵腑鐨勫樊鍒彧鑳介潬涓婁笅鏂囨潵鎺ㄦ柇鈶°?/p>
鐒惰屽綋session涓璇嶄笌緗戠粶鍗忚鐩稿叧鑱旀椂錛屽畠鍙堝線寰闅愬惈浜?#8220;闈㈠悜榪炴帴”鍜?鎴?#8220;淇濇寔鐘舵?#8221;榪欐牱涓や釜鍚箟錛?“闈㈠悜榪炴帴”鎸囩殑鏄湪閫氫俊鍙屾柟鍦ㄩ氫俊涔嬪墠瑕佸厛寤虹珛涓涓氫俊鐨勬笭閬擄紝姣斿鎵撶數璇濓紝鐩村埌瀵規柟鎺ヤ簡鐢佃瘽閫氫俊鎵嶈兘寮濮嬶紝涓庢鐩稿鐨勬槸鍐欎俊錛屽湪浣犳妸淇″彂鍑哄幓鐨勬椂鍊欎綘騫朵笉鑳界‘璁ゅ鏂圭殑鍦板潃鏄惁姝g‘錛岄氫俊娓犻亾涓嶄竴瀹氳兘寤虹珛錛屼絾瀵瑰彂淇′漢鏉ヨ錛岄氫俊宸茬粡寮濮嬩簡銆?#8220;淇濇寔鐘舵?#8221;鍒欐槸鎸囬氫俊鐨勪竴鏂硅兘澶熸妸涓緋誨垪鐨勬秷鎭叧鑱旇搗鏉ワ紝浣垮緱娑堟伅涔嬮棿鍙互浜掔浉渚濊禆錛屾瘮濡備竴涓湇鍔″憳鑳藉璁ゅ嚭鍐嶆鍏変復鐨勮侀【瀹㈠茍涓旇寰椾笂嬈¤繖涓【瀹㈣繕嬈犲簵閲屼竴鍧楅挶銆傝繖涓綾葷殑渚嬪瓙鏈?#8220;涓涓猅CP session”鎴栬?“涓涓狿OP3 session”鈶€?/p>
鑰屽埌浜唚eb鏈嶅姟鍣ㄨ摤鍕冨彂灞曠殑鏃朵唬錛宻ession鍦╳eb寮鍙戣澧冧笅鐨勮涔夊張鏈変簡鏂扮殑鎵╁睍錛屽畠鐨勫惈涔夋槸鎸囦竴綾葷敤鏉ュ湪瀹㈡埛绔笌鏈嶅姟鍣ㄤ箣闂翠繚鎸佺姸鎬佺殑瑙e喅鏂規鈶c傛湁鏃跺檚ession涔熺敤鏉ユ寚榪欑瑙e喅鏂規鐨勫瓨鍌ㄧ粨鏋勶紝濡?#8220;鎶妜xx淇濆瓨鍦╯ession 閲?#8221;鈶ゃ傜敱浜庡悇縐嶇敤浜巜eb寮鍙戠殑璇█鍦ㄤ竴瀹氱▼搴︿笂閮芥彁渚涗簡瀵硅繖縐嶈В鍐蟲柟妗堢殑鏀寔錛屾墍浠ュ湪鏌愮鐗瑰畾璇█鐨勮澧冧笅錛宻ession涔熻鐢ㄦ潵鎸囦唬璇ヨ璦鐨勮В鍐蟲柟妗堬紝姣斿緇忓父鎶奐ava閲屾彁渚涚殑javax.servlet.http.HttpSession綆縐頒負session鈶ャ?/p>
閴翠簬榪欑娣蜂貢宸蹭笉鍙敼鍙橈紝鏈枃涓璼ession涓璇嶇殑榪愮敤涔熶細鏍規嵁涓婁笅鏂囨湁涓嶅悓鐨勫惈涔夛紝璇峰ぇ瀹舵敞鎰忓垎杈ㄣ?br /> 鍦ㄦ湰鏂囦腑錛屼嬌鐢ㄤ腑鏂?#8220;嫻忚鍣ㄤ細璇濇湡闂?#8221;鏉ヨ〃杈懼惈涔夆憼錛屼嬌鐢?#8220;session鏈哄埗”鏉ヨ〃杈懼惈涔夆懀錛屼嬌鐢?#8220;session”琛ㄨ揪鍚箟鈶わ紝浣跨敤鍏蜂綋鐨?#8220;HttpSession”鏉ヨ〃杈懼惈涔夆懃
浜屻丠TTP鍗忚涓庣姸鎬佷繚鎸?br /> HTTP 鍗忚鏈韓鏄棤鐘舵佺殑錛岃繖涓嶩TTP鍗忚鏈潵鐨勭洰鐨勬槸鐩哥鐨勶紝瀹㈡埛绔彧闇瑕佺畝鍗曠殑鍚戞湇鍔″櫒璇鋒眰涓嬭澆鏌愪簺鏂囦歡錛屾棤璁烘槸瀹㈡埛绔繕鏄湇鍔″櫒閮芥病鏈夊繀瑕佺邯褰曞郊姝よ繃鍘葷殑琛屼負錛屾瘡涓嬈¤姹備箣闂撮兘鏄嫭绔嬬殑錛屽ソ姣斾竴涓【瀹㈠拰涓涓嚜鍔ㄥ敭璐ф満鎴栬呬竴涓櫘閫氱殑錛堥潪浼氬憳鍒訛級澶у崠鍦轟箣闂寸殑鍏崇郴涓鏍楓?/p>
鐒惰岃仾鏄庯紙鎴栬呰椽蹇冿紵錛夌殑浜轟滑寰堝揩鍙戠幇濡傛灉鑳藉鎻愪緵涓浜涙寜闇鐢熸垚鐨勫姩鎬佷俊鎭細浣縲eb鍙樺緱鏇村姞鏈夌敤錛屽氨鍍忕粰鏈夌嚎鐢佃鍔犱笂鐐規挱鍔熻兘涓鏍楓傝繖縐嶉渶姹備竴鏂歸潰榪嬌HTML閫愭娣誨姞浜嗚〃鍗曘佽剼鏈丏OM絳夊鎴風琛屼負錛屽彟涓鏂歸潰鍦ㄦ湇鍔″櫒绔垯鍑虹幇浜咰GI瑙勮寖浠ュ搷搴斿鎴風鐨勫姩鎬佽姹傦紝浣滀負浼犺緭杞戒綋鐨凥TTP鍗忚涔熸坊鍔犱簡鏂囦歡涓婅澆銆?cookie榪欎簺鐗規с傚叾涓璫ookie鐨勪綔鐢ㄥ氨鏄負浜嗚В鍐矵TTP鍗忚鏃犵姸鎬佺殑緙洪櫡鎵浣滃嚭鐨勫姫鍔涖傝嚦浜庡悗鏉ュ嚭鐜扮殑session鏈哄埗鍒欐槸鍙堜竴縐嶅湪瀹㈡埛绔笌鏈嶅姟鍣ㄤ箣闂翠繚鎸佺姸鎬佺殑瑙e喅鏂規銆?/p>
璁╂垜浠敤鍑犱釜渚嬪瓙鏉ユ弿榪頒竴涓媍ookie鍜宻ession鏈哄埗涔嬮棿鐨勫尯鍒笌鑱旂郴銆傜瑪鑰呮浘緇忓父鍘葷殑涓瀹跺挅鍟″簵鏈夊枬5鏉挅鍟″厤璐硅禒涓鏉挅鍟$殑浼樻儬錛岀劧鑰屼竴嬈℃ф秷璐?鏉挅鍟$殑鏈轟細寰箮鍏跺井錛岃繖鏃跺氨闇瑕佹煇縐嶆柟寮忔潵綰綍鏌愪綅欏懼鐨勬秷璐規暟閲忋傛兂璞′竴涓嬪叾瀹炰篃鏃犲涔庝笅闈㈢殑鍑犵鏂規錛?br /> 1銆佽搴楃殑搴楀憳寰堝帀瀹籌紝鑳借浣忔瘡浣嶉【瀹㈢殑娑堣垂鏁伴噺錛屽彧瑕侀【瀹竴璧拌繘鍜栧暋搴楋紝搴楀憳灝辯煡閬撹鎬庝箞瀵瑰緟浜嗐傝繖縐嶅仛娉曞氨鏄崗璁湰韜敮鎸佺姸鎬併?br /> 2銆佸彂緇欓【瀹竴寮犲崱鐗囷紝涓婇潰璁板綍鐫娑堣垂鐨勬暟閲忥紝涓鑸繕鏈変釜鏈夋晥鏈熼檺銆傛瘡嬈℃秷璐規椂錛屽鏋滈【瀹㈠嚭紺鴻繖寮犲崱鐗囷紝鍒欐嬈℃秷璐瑰氨浼氫笌浠ュ墠鎴栦互鍚庣殑娑堣垂鐩歌仈緋昏搗鏉ャ傝繖縐嶅仛娉曞氨鏄湪瀹㈡埛绔繚鎸佺姸鎬併?br /> 3銆佸彂緇欓【瀹竴寮犱細鍛樺崱錛岄櫎浜嗗崱鍙蜂箣澶栦粈涔堜俊鎭篃涓嶇邯褰曪紝姣忔娑堣垂鏃訛紝濡傛灉欏懼鍑虹ず璇ュ崱鐗囷紝鍒欏簵鍛樺湪搴楅噷鐨勭邯褰曟湰涓婃壘鍒拌繖涓崱鍙峰搴旂殑綰綍娣誨姞涓浜涙秷璐逛俊鎭傝繖縐嶅仛娉曞氨鏄湪鏈嶅姟鍣ㄧ淇濇寔鐘舵併?/p>
鐢變簬HTTP鍗忚鏄棤鐘舵佺殑錛岃屽嚭浜庣縐嶈冭檻涔熶笉甯屾湜浣夸箣鎴愪負鏈夌姸鎬佺殑錛屽洜姝わ紝鍚庨潰涓ょ鏂規灝辨垚涓虹幇瀹炵殑閫夋嫨銆傚叿浣撴潵璇碿ookie鏈哄埗閲囩敤鐨勬槸鍦ㄥ鎴風淇濇寔鐘舵佺殑鏂規錛岃宻ession鏈哄埗閲囩敤鐨勬槸鍦ㄦ湇鍔″櫒绔繚鎸佺姸鎬佺殑鏂規銆傚悓鏃舵垜浠篃鐪嬪埌錛岀敱浜庨噰鐢ㄦ湇鍔″櫒绔繚鎸佺姸鎬佺殑鏂規鍦ㄥ鎴風涔熼渶瑕佷繚瀛樹竴涓爣璇嗭紝鎵浠ession鏈哄埗鍙兘闇瑕佸熷姪浜巆ookie鏈哄埗鏉ヨ揪鍒頒繚瀛樻爣璇嗙殑鐩殑錛屼絾瀹為檯涓婂畠榪樻湁鍏朵粬閫夋嫨銆?/p>
涓夈佺悊瑙ookie鏈哄埗
cookie鏈哄埗鐨勫熀鏈師鐞嗗氨濡備笂闈㈢殑渚嬪瓙涓鏍風畝鍗曪紝浣嗘槸榪樻湁鍑犱釜闂闇瑕佽В鍐籌細“浼氬憳鍗?#8221;濡備綍鍒嗗彂錛?#8220;浼氬憳鍗?#8221;鐨勫唴瀹癸紱浠ュ強瀹㈡埛濡備綍浣跨敤“浼氬憳鍗?#8221;銆?/p>
姝g粺鐨刢ookie鍒嗗彂鏄氳繃鎵╁睍HTTP鍗忚鏉ュ疄鐜扮殑錛屾湇鍔″櫒閫氳繃鍦℉TTP鐨勫搷搴斿ご涓姞涓婁竴琛岀壒孌婄殑鎸囩ず浠ユ彁紺烘祻瑙堝櫒鎸夌収鎸囩ず鐢熸垚鐩稿簲鐨刢ookie銆傜劧鑰岀函綺圭殑瀹㈡埛绔剼鏈JavaScript鎴栬匳BScript涔熷彲浠ョ敓鎴恈ookie銆?/p>
鑰宑ookie 鐨勪嬌鐢ㄦ槸鐢辨祻瑙堝櫒鎸夌収涓瀹氱殑鍘熷垯鍦ㄥ悗鍙拌嚜鍔ㄥ彂閫佺粰鏈嶅姟鍣ㄧ殑銆傛祻瑙堝櫒媯鏌ユ墍鏈夊瓨鍌ㄧ殑cookie錛屽鏋滄煇涓猚ookie鎵澹版槑鐨勪綔鐢ㄨ寖鍥村ぇ浜庣瓑浜庡皢瑕佽姹傜殑璧勬簮鎵鍦ㄧ殑浣嶇疆錛屽垯鎶婅cookie闄勫湪璇鋒眰璧勬簮鐨凥TTP璇鋒眰澶翠笂鍙戦佺粰鏈嶅姟鍣ㄣ傛剰鎬濇槸楹﹀綋鍔崇殑浼氬憳鍗″彧鑳藉湪楹﹀綋鍔崇殑搴楅噷鍑虹ず錛屽鏋滄煇瀹跺垎搴楄繕鍙戣浜嗚嚜宸辯殑浼氬憳鍗★紝閭d箞榪涜繖瀹跺簵鐨勬椂鍊欓櫎浜嗚鍑虹ず楹﹀綋鍔崇殑浼氬憳鍗★紝榪樿鍑虹ず榪欏搴楃殑浼氬憳鍗°?/p>
cookie鐨勫唴瀹逛富瑕佸寘鎷細鍚嶅瓧錛屽鹼紝榪囨湡鏃墮棿錛岃礬寰勫拰鍩熴?br /> 鍏朵腑鍩熷彲浠ユ寚瀹氭煇涓涓煙姣斿.google.com錛岀浉褰撲簬鎬誨簵鎷涚墝錛屾瘮濡傚疂媧佸叕鍙革紝涔熷彲浠ユ寚瀹氫竴涓煙涓嬬殑鍏蜂綋鏌愬彴鏈哄櫒姣斿www.google.com鎴栬協roogle.google.com錛屽彲浠ョ敤椋樻煍鏉ュ仛姣斻?br /> 璺緞灝辨槸璺熷湪鍩熷悕鍚庨潰鐨刄RL璺緞錛屾瘮濡?鎴栬?foo絳夌瓑錛屽彲浠ョ敤鏌愰鏌斾笓鏌滃仛姣斻?br /> 璺緞涓庡煙鍚堝湪涓璧峰氨鏋勬垚浜哻ookie鐨勪綔鐢ㄨ寖鍥淬?br /> 濡傛灉涓嶈緗繃鏈熸椂闂達紝鍒欒〃紺鴻繖涓猚ookie鐨勭敓鍛芥湡涓烘祻瑙堝櫒浼氳瘽鏈熼棿錛屽彧瑕佸叧闂祻瑙堝櫒紿楀彛錛宑ookie灝辨秷澶變簡銆傝繖縐嶇敓鍛芥湡涓烘祻瑙堝櫒浼氳瘽鏈熺殑 cookie琚О涓轟細璇漜ookie銆備細璇漜ookie涓鑸笉瀛樺偍鍦ㄧ‖鐩樹笂鑰屾槸淇濆瓨鍦ㄥ唴瀛橀噷錛屽綋鐒惰繖縐嶈涓哄茍涓嶆槸瑙勮寖瑙勫畾鐨勩傚鏋滆緗簡榪囨湡鏃墮棿錛屾祻瑙堝櫒灝變細鎶奵ookie淇濆瓨鍒扮‖鐩樹笂錛屽叧闂悗鍐嶆鎵撳紑嫻忚鍣紝榪欎簺cookie浠嶇劧鏈夋晥鐩村埌瓚呰繃璁懼畾鐨勮繃鏈熸椂闂淬?/p>
瀛樺偍鍦ㄧ‖鐩樹笂鐨刢ookie 鍙互鍦ㄤ笉鍚岀殑嫻忚鍣ㄨ繘紼嬮棿鍏變韓錛屾瘮濡備袱涓狪E紿楀彛銆傝屽浜庝繚瀛樺湪鍐呭瓨閲岀殑cookie錛屼笉鍚岀殑嫻忚鍣ㄦ湁涓嶅悓鐨勫鐞嗘柟寮忋傚浜嶪E錛屽湪涓涓墦寮鐨勭獥鍙d笂鎸?Ctrl-N錛堟垨鑰呬粠鏂囦歡鑿滃崟錛夋墦寮鐨勭獥鍙e彲浠ヤ笌鍘熺獥鍙e叡浜紝鑰屼嬌鐢ㄥ叾浠栨柟寮忔柊寮鐨処E榪涚▼鍒欎笉鑳藉叡浜凡緇忔墦寮鐨勭獥鍙g殑鍐呭瓨cookie錛涘浜?Mozilla Firefox0.8錛屾墍鏈夌殑榪涚▼鍜屾爣絳鵑〉閮藉彲浠ュ叡浜悓鏍風殑cookie銆備竴鑸潵璇存槸鐢╦avascript鐨剋indow.open鎵撳紑鐨勭獥鍙d細涓庡師紿楀彛鍏變韓鍐呭瓨cookie銆傛祻瑙堝櫒瀵逛簬浼氳瘽cookie鐨勮繖縐嶅彧璁ookie涓嶈浜虹殑澶勭悊鏂瑰紡緇忓父緇欓噰鐢╯ession鏈哄埗鐨剋eb搴旂敤紼嬪簭寮鍙戣呴犳垚寰堝ぇ鐨勫洶鎵般?/p>
涓嬮潰灝辨槸涓涓猤oolge璁劇疆cookie鐨勫搷搴斿ご鐨勪緥瀛?br />
HTTP/1.1 302 Found
Location: http://www.google.com/intl/zh-CN/
Set-Cookie: PREF=ID=0565f77e132de138:NW=1:TM=1098082649:LM=1098082649:S=KaeaCFPo49RiA_d8; expires=Sun, 17-Jan-2038 19:14:07 GMT; path=/; domain=.google.com
Content-Type: text/html
榪欐槸浣跨敤HTTPLook榪欎釜HTTP Sniffer杞歡鏉ヤ繕鑾風殑HTTP閫氳綰綍鐨勪竴閮ㄥ垎
嫻忚鍣ㄥ湪鍐嶆璁塊棶goolge鐨勮祫婧愭椂鑷姩鍚戝鍙戦乧ookie
浣跨敤Firefox鍙互寰堝鏄撶殑瑙傚療鐜版湁鐨刢ookie鐨勫?br />
浣跨敤HTTPLook閰嶅悎Firefox鍙互寰堝鏄撶殑鐞嗚Вcookie鐨勫伐浣滃師鐞嗐?br />
IE涔熷彲浠ヨ緗湪鎺ュ彈cookie鍓嶈闂?br />
榪欐槸涓涓闂帴鍙梒ookie鐨勫璇濇銆?/p>
鍥涖佺悊瑙ession鏈哄埗
session鏈哄埗鏄竴縐嶆湇鍔″櫒绔殑鏈哄埗錛屾湇鍔″櫒浣跨敤涓縐嶇被浼間簬鏁e垪琛ㄧ殑緇撴瀯錛堜篃鍙兘灝辨槸浣跨敤鏁e垪琛級鏉ヤ繚瀛樹俊鎭?/p>
褰撶▼搴忛渶瑕佷負鏌愪釜瀹㈡埛绔殑璇鋒眰鍒涘緩涓涓猻ession鐨勬椂鍊欙紝鏈嶅姟鍣ㄩ鍏堟鏌ヨ繖涓鎴風鐨勮姹傞噷鏄惁宸插寘鍚簡涓涓猻ession鏍囪瘑 - 縐頒負 session id錛屽鏋滃凡鍖呭惈涓涓猻ession id鍒欒鏄庝互鍓嶅凡緇忎負姝ゅ鎴風鍒涘緩榪噑ession錛屾湇鍔″櫒灝辨寜鐓ession id鎶婅繖涓?session媯绱㈠嚭鏉ヤ嬌鐢紙濡傛灉媯绱笉鍒幫紝鍙兘浼氭柊寤轟竴涓級錛屽鏋滃鎴風璇鋒眰涓嶅寘鍚玸ession id錛屽垯涓烘瀹㈡埛绔垱寤轟竴涓猻ession騫朵笖鐢熸垚涓涓笌姝ession鐩稿叧鑱旂殑session id錛宻ession id鐨勫煎簲璇ユ槸涓涓棦涓嶄細閲嶅錛屽張涓嶅鏄撹鎵懼埌瑙勫緥浠ヤ豢閫犵殑瀛楃涓詫紝榪欎釜 session id灝嗚鍦ㄦ湰嬈″搷搴斾腑榪斿洖緇欏鎴風淇濆瓨銆?/p>
淇濆瓨榪欎釜session id鐨勬柟寮忓彲浠ラ噰鐢╟ookie錛岃繖鏍峰湪浜や簰榪囩▼涓祻瑙堝櫒鍙互鑷姩鐨勬寜鐓ц鍒欐妸榪欎釜鏍囪瘑鍙戞尌緇欐湇鍔″櫒銆備竴鑸繖涓猚ookie鐨勫悕瀛楅兘鏄被浼間簬SEEESIONID錛岃屻傛瘮濡倃eblogic瀵逛簬web搴旂敤紼嬪簭鐢熸垚鐨刢ookie錛孞SESSIONID= ByOK3vjFD75aPnrF7C2HmdnV6QZcEbzWoWiBYEnLerjQ99zWpBng!-145788764錛屽畠鐨勫悕瀛楀氨鏄?JSESSIONID銆?/p>
鐢變簬cookie鍙互琚漢涓虹殑紱佹錛屽繀欏繪湁鍏朵粬鏈哄埗浠ヤ究鍦╟ookie琚姝㈡椂浠嶇劧鑳藉鎶妔ession id浼犻掑洖鏈嶅姟鍣ㄣ傜粡甯歌浣跨敤鐨勪竴縐嶆妧鏈彨鍋歎RL閲嶅啓錛屽氨鏄妸session id鐩存帴闄勫姞鍦║RL璺緞鐨勫悗闈紝闄勫姞鏂瑰紡涔熸湁涓ょ錛屼竴縐嶆槸浣滀負URL璺緞鐨勯檮鍔犱俊鎭紝琛ㄧ幇褰㈠紡涓?a href="http://...../xxx;jsessionid">http://...../xxx;jsessionid= ByOK3vjFD75aPnrF7C2HmdnV6QZcEbzWoWiBYEnLerjQ99zWpBng!-145788764
鍙︿竴縐嶆槸浣滀負鏌ヨ瀛楃涓查檮鍔犲湪URL鍚庨潰錛岃〃鐜板艦寮忎負http://...../xxx?jsessionid=ByOK3vjFD75aPnrF7C2HmdnV6QZcEbzWoWiBYEnLerjQ99zWpBng!-145788764
榪欎袱縐嶆柟寮忓浜庣敤鎴鋒潵璇存槸娌℃湁鍖哄埆鐨勶紝鍙槸鏈嶅姟鍣ㄥ湪瑙f瀽鐨勬椂鍊欏鐞嗙殑鏂瑰紡涓嶅悓錛岄噰鐢ㄧ涓縐嶆柟寮忎篃鏈夊埄浜庢妸session id鐨勪俊鎭拰姝e父紼嬪簭鍙傛暟鍖哄垎寮鏉ャ?br />
涓轟簡鍦ㄦ暣涓氦浜掕繃紼嬩腑濮嬬粓淇濇寔鐘舵侊紝灝卞繀欏誨湪姣忎釜瀹㈡埛绔彲鑳借姹傜殑璺緞鍚庨潰閮藉寘鍚繖涓猻ession id銆?/p>
鍙︿竴縐嶆妧鏈彨鍋氳〃鍗曢殣钘忓瓧孌點傚氨鏄湇鍔″櫒浼氳嚜鍔ㄤ慨鏀硅〃鍗曪紝娣誨姞涓涓殣钘忓瓧孌碉紝浠ヤ究鍦ㄨ〃鍗曟彁浜ゆ椂鑳藉鎶妔ession id浼犻掑洖鏈嶅姟鍣ㄣ傛瘮濡備笅闈㈢殑琛ㄥ崟
<form name="testform" action="/xxx">
<input type="text">
</form>
鍦ㄨ浼犻掔粰瀹㈡埛绔箣鍓嶅皢琚敼鍐欐垚
<form name="testform" action="/xxx">
<input type="hidden" name="jsessionid" value="ByOK3vjFD75aPnrF7C2HmdnV6QZcEbzWoWiBYEnLerjQ99zWpBng!-145788764">
<input type="text">
</form>
榪欑鎶鏈幇鍦ㄥ凡杈冨皯搴旂敤錛岀瑪鑰呮帴瑙﹁繃鐨勫緢鍙よ佺殑iPlanet6(SunONE搴旂敤鏈嶅姟鍣ㄧ殑鍓嶈韓)灝變嬌鐢ㄤ簡榪欑鎶鏈?br />
瀹為檯涓婅繖縐嶆妧鏈彲浠ョ畝鍗曠殑鐢ㄥaction搴旂敤URL閲嶅啓鏉ヤ唬鏇褲?/p>
鍦ㄨ皥璁簊ession鏈哄埗鐨勬椂鍊欙紝甯稿父鍚埌榪欐牱涓縐嶈瑙?#8220;鍙鍏抽棴嫻忚鍣紝session灝辨秷澶變簡”銆傚叾瀹炲彲浠ユ兂璞′竴涓嬩細鍛樺崱鐨勪緥瀛愶紝闄ら潪欏懼涓誨姩瀵瑰簵瀹舵彁鍑洪攢鍗★紝鍚﹀垯搴楀緇濆涓嶄細杞繪槗鍒犻櫎欏懼鐨勮祫鏂欍傚session鏉ヨ涔熸槸涓鏍風殑錛岄櫎闈炵▼搴忛氱煡鏈嶅姟鍣ㄥ垹闄や竴涓猻ession錛屽惁鍒欐湇鍔″櫒浼氫竴鐩翠繚鐣欙紝紼嬪簭涓鑸兘鏄湪鐢ㄦ埛鍋歭og off鐨勬椂鍊欏彂涓寚浠ゅ幓鍒犻櫎session銆傜劧鑰屾祻瑙堝櫒浠庢潵涓嶄細涓誨姩鍦ㄥ叧闂箣鍓嶉氱煡鏈嶅姟鍣ㄥ畠灝嗚鍏抽棴錛屽洜姝ゆ湇鍔″櫒鏍規湰涓嶄細鏈夋満浼氱煡閬撴祻瑙堝櫒宸茬粡鍏抽棴錛屼箣鎵浠ヤ細鏈夎繖縐嶉敊瑙夛紝鏄ぇ閮ㄥ垎session鏈哄埗閮戒嬌鐢ㄤ細璇漜ookie鏉ヤ繚瀛榮ession id錛岃屽叧闂祻瑙堝櫒鍚庤繖涓?session id灝辨秷澶變簡錛屽啀嬈¤繛鎺ユ湇鍔″櫒鏃朵篃灝辨棤娉曟壘鍒板師鏉ョ殑session銆傚鏋滄湇鍔″櫒璁劇疆鐨刢ookie琚繚瀛樺埌紜洏涓婏紝鎴栬呬嬌鐢ㄦ煇縐嶆墜孌墊敼鍐欐祻瑙堝櫒鍙戝嚭鐨凥TTP璇鋒眰澶達紝鎶婂師鏉ョ殑session id鍙戦佺粰鏈嶅姟鍣紝鍒欏啀嬈℃墦寮嫻忚鍣ㄤ粛鐒惰兘澶熸壘鍒板師鏉ョ殑session銆?/p>
鎭版伆鏄敱浜庡叧闂祻瑙堝櫒涓嶄細瀵艱嚧session琚垹闄わ紝榪嬌鏈嶅姟鍣ㄤ負seesion璁劇疆浜嗕竴涓け鏁堟椂闂達紝褰撹窛紱誨鎴風涓婁竴嬈′嬌鐢╯ession鐨勬椂闂磋秴榪囪繖涓け鏁堟椂闂存椂錛屾湇鍔″櫒灝卞彲浠ヨ涓哄鎴風宸茬粡鍋滄浜嗘椿鍔紝鎵嶄細鎶妔ession鍒犻櫎浠ヨ妭鐪佸瓨鍌ㄧ┖闂淬?/p>
浜斻佺悊瑙avax.servlet.http.HttpSession
HttpSession鏄疛ava騫沖彴瀵箂ession鏈哄埗鐨勫疄鐜拌鑼冿紝鍥犱負瀹冧粎浠呮槸涓帴鍙o紝鍏蜂綋鍒版瘡涓獁eb搴旂敤鏈嶅姟鍣ㄧ殑鎻愪緵鍟嗭紝闄や簡瀵硅鑼冩敮鎸佷箣澶栵紝浠嶇劧浼氭湁涓浜涜鑼冮噷娌℃湁瑙勫畾鐨勭粏寰樊寮傘傝繖閲屾垜浠互BEA鐨刉eblogic Server8.1浣滀負渚嬪瓙鏉ユ紨紺恒?/p>
棣栧厛錛學eblogic Server鎻愪緵浜嗕竴緋誨垪鐨勫弬鏁版潵鎺у埗瀹冪殑HttpSession鐨勫疄鐜幫紝鍖呮嫭浣跨敤cookie鐨勫紑鍏抽夐」錛屼嬌鐢║RL閲嶅啓鐨勫紑鍏抽夐」錛宻ession鎸佷箙鍖栫殑璁劇疆錛宻ession澶辨晥鏃墮棿鐨勮緗紝浠ュ強閽堝cookie鐨勫悇縐嶈緗紝姣斿璁劇疆cookie鐨勫悕瀛椼佽礬寰勩佸煙錛?cookie鐨勭敓瀛樻椂闂寸瓑銆?/p>
涓鑸儏鍐典笅錛宻ession閮芥槸瀛樺偍鍦ㄥ唴瀛橀噷錛屽綋鏈嶅姟鍣ㄨ繘紼嬭鍋滄鎴栬呴噸鍚殑鏃跺欙紝鍐呭瓨閲岀殑session涔熶細琚竻絀猴紝濡傛灉璁劇疆浜唖ession鐨勬寔涔呭寲鐗規э紝鏈嶅姟鍣ㄥ氨浼氭妸session淇濆瓨鍒扮‖鐩樹笂錛屽綋鏈嶅姟鍣ㄨ繘紼嬮噸鏂板惎鍔ㄦ垨榪欎簺淇℃伅灝嗚兘澶熻鍐嶆浣跨敤錛?Weblogic Server鏀寔鐨勬寔涔呮ф柟寮忓寘鎷枃浠躲佹暟鎹簱銆佸鎴風cookie淇濆瓨鍜屽鍒躲?/p>
澶嶅埗涓ユ牸璇存潵涓嶇畻鎸佷箙鍖栦繚瀛橈紝鍥犱負session瀹為檯涓婅繕鏄繚瀛樺湪鍐呭瓨閲岋紝涓嶈繃鍚屾牱鐨勪俊鎭澶嶅埗鍒板悇涓猚luster鍐呯殑鏈嶅姟鍣ㄨ繘紼嬩腑錛岃繖鏍峰嵆浣挎煇涓湇鍔″櫒榪涚▼鍋滄宸ヤ綔涔熶粛鐒跺彲浠ヤ粠鍏朵粬榪涚▼涓彇寰梥ession銆?/p>
cookie鐢熷瓨鏃墮棿鐨勮緗垯浼氬獎鍝嶆祻瑙堝櫒鐢熸垚鐨刢ookie鏄惁鏄竴涓細璇漜ookie銆傞粯璁ゆ槸浣跨敤浼氳瘽cookie銆傛湁鍏磋叮鐨勫彲浠ョ敤瀹冩潵璇曢獙鎴戜滑鍦ㄧ鍥涜妭閲屾彁鍒扮殑閭d釜璇В銆?/p>
cookie鐨勮礬寰勫浜巜eb搴旂敤紼嬪簭鏉ヨ鏄竴涓潪甯擱噸瑕佺殑閫夐」錛學eblogic Server瀵硅繖涓夐」鐨勯粯璁ゅ鐞嗘柟寮忎嬌寰楀畠涓庡叾浠栨湇鍔″櫒鏈夋槑鏄劇殑鍖哄埆銆傚悗闈㈡垜浠細涓撻璁ㄨ銆?/p>
鍏充簬session鐨勮緗弬鑰僛5] http://e-docs.bea.com/wls/docs70/webapp/weblogic_xml.html#1036869
鍏丠ttpSession甯歌闂
錛堝湪鏈皬鑺備腑session鐨勫惈涔変負鈶ゅ拰鈶ョ殑娣峰悎錛?/p>
1銆乻ession鍦ㄤ綍鏃惰鍒涘緩
涓涓父瑙佺殑璇В鏄互涓簊ession鍦ㄦ湁瀹㈡埛绔闂椂灝辮鍒涘緩錛岀劧鑰屼簨瀹炴槸鐩村埌鏌恠erver绔▼搴忚皟鐢?HttpServletRequest.getSession(true)榪欐牱鐨勮鍙ユ椂鎵嶈鍒涘緩錛屾敞鎰忓鏋淛SP娌℃湁鏄劇ず鐨勪嬌鐢?<% @page session="false"%> 鍏抽棴session錛屽垯JSP鏂囦歡鍦ㄧ紪璇戞垚Servlet鏃跺皢浼氳嚜鍔ㄥ姞涓婅繖鏍蜂竴鏉¤鍙?HttpSession session = HttpServletRequest.getSession(true);榪欎篃鏄疛SP涓殣鍚殑 session瀵硅薄鐨勬潵鍘嗐?/p>
鐢變簬session浼氭秷鑰楀唴瀛樿祫婧愶紝鍥犳錛屽鏋滀笉鎵撶畻浣跨敤session錛屽簲璇ュ湪鎵鏈夌殑JSP涓叧闂畠銆?/p>
2銆乻ession浣曟椂琚垹闄?br /> 緇煎悎鍓嶉潰鐨勮璁猴紝session鍦ㄤ笅鍒楁儏鍐典笅琚垹闄.紼嬪簭璋冪敤HttpSession.invalidate();鎴朾.璺濈涓婁竴嬈℃敹鍒板鎴風鍙戦佺殑session id鏃墮棿闂撮殧瓚呰繃浜唖ession鐨勮秴鏃惰緗?鎴朿.鏈嶅姟鍣ㄨ繘紼嬭鍋滄錛堥潪鎸佷箙session錛?/p>
3銆佸浣曞仛鍒板湪嫻忚鍣ㄥ叧闂椂鍒犻櫎session
涓ユ牸鐨勮錛屽仛涓嶅埌榪欎竴鐐廣傚彲浠ュ仛涓鐐瑰姫鍔涚殑鍔炴硶鏄湪鎵鏈夌殑瀹㈡埛绔〉闈㈤噷浣跨敤javascript浠g爜window.oncolose鏉ョ洃瑙嗘祻瑙堝櫒鐨勫叧闂姩浣滐紝鐒跺悗鍚戞湇鍔″櫒鍙戦佷竴涓姹傛潵鍒犻櫎session銆備絾鏄浜庢祻瑙堝櫒宕╂簝鎴栬呭己琛屾潃姝昏繘紼嬭繖浜涢潪甯歌鎵嬫浠嶇劧鏃犺兘涓哄姏銆?/p>
4銆佹湁涓狧ttpSessionListener鏄庝箞鍥炰簨
浣犲彲浠ュ垱寤鴻繖鏍風殑listener鍘葷洃鎺ession鐨勫垱寤哄拰閿姣佷簨浠訛紝浣垮緱鍦ㄥ彂鐢熻繖鏍風殑浜嬩歡鏃朵綘鍙互鍋氫竴浜涚浉搴旂殑宸ヤ綔銆傛敞鎰忔槸session鐨勫垱寤哄拰閿姣佸姩浣滆Е鍙憀istener錛岃屼笉鏄浉鍙嶃傜被浼肩殑涓嶩ttpSession鏈夊叧鐨刲istener榪樻湁 HttpSessionBindingListener錛孒ttpSessionActivationListener鍜?HttpSessionAttributeListener銆?/p>
5銆佸瓨鏀懼湪session涓殑瀵硅薄蹇呴』鏄彲搴忓垪鍖栫殑鍚?br /> 涓嶆槸蹇呴渶鐨勩傝姹傚璞″彲搴忓垪鍖栧彧鏄負浜唖ession鑳藉鍦ㄩ泦緹や腑琚鍒舵垨鑰呰兘澶熸寔涔呬繚瀛樻垨鑰呭湪蹇呰鏃秙erver鑳藉鏆傛椂鎶妔ession浜ゆ崲鍑哄唴瀛樸傚湪 Weblogic Server鐨剆ession涓斁緗竴涓笉鍙簭鍒楀寲鐨勫璞″湪鎺у埗鍙頒笂浼氭敹鍒頒竴涓鍛娿傛垜鎵鐢ㄨ繃鐨勬煇涓猧Planet鐗堟湰濡傛灉 session涓湁涓嶅彲搴忓垪鍖栫殑瀵硅薄錛屽湪session閿姣佹椂浼氭湁涓涓狤xception錛屽緢濂囨?/p>
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瀛樺偍鏂瑰紡閮戒細瀵硅繖涓棶棰樼殑絳旀鏈夊獎鍝嶃?/p>
8銆佸浣曢槻姝㈢敤鎴鋒墦寮涓や釜嫻忚鍣ㄧ獥鍙f搷浣滃鑷寸殑session娣蜂貢
榪欎釜闂涓庨槻姝㈣〃鍗曞嬈℃彁浜ゆ槸綾諱技鐨勶紝鍙互閫氳繃璁劇疆瀹㈡埛绔殑浠ょ墝鏉ヨВ鍐熾傚氨鏄湪鏈嶅姟鍣ㄦ瘡嬈$敓鎴愪竴涓笉鍚岀殑id榪斿洖緇欏鎴風錛屽悓鏃朵繚瀛樺湪session閲岋紝瀹㈡埛绔彁浜よ〃鍗曟椂蹇呴』鎶婅繖涓猧d涔熻繑鍥炴湇鍔″櫒錛岀▼搴忛鍏堟瘮杈冭繑鍥炵殑id涓庝繚瀛樺湪session閲岀殑鍊兼槸鍚︿竴鑷達紝濡傛灉涓嶄竴鑷村垯璇存槑鏈鎿嶄綔宸茬粡琚彁浜よ繃浜嗐傚彲浠ュ弬鐪嬨奐2EE鏍稿績妯″紡銆嬪叧浜庤〃紺哄眰妯″紡鐨勯儴鍒嗐傞渶瑕佹敞鎰忕殑鏄浜庝嬌鐢╦avascript window.open鎵撳紑鐨勭獥鍙o紝涓鑸笉璁劇疆榪欎釜id錛屾垨鑰呬嬌鐢ㄥ崟鐙殑id錛屼互闃蹭富紿楀彛鏃犳硶鎿嶄綔錛屽緩璁笉瑕佸啀window.open鎵撳紑鐨勭獥鍙i噷鍋氫慨鏀規搷浣滐紝榪欐牱灝卞彲浠ヤ笉鐢ㄨ緗?/p>
9銆佷負浠涔堝湪Weblogic Server涓敼鍙榮ession鐨勫煎悗瑕侀噸鏂拌皟鐢ㄤ竴嬈ession.setValue
鍋氳繖涓姩浣滀富瑕佹槸涓轟簡鍦ㄩ泦緹ょ幆澧冧腑鎻愮ずWeblogic Server session涓殑鍊煎彂鐢熶簡鏀瑰彉錛岄渶瑕佸悜鍏朵粬鏈嶅姟鍣ㄨ繘紼嬪鍒舵柊鐨剆ession鍊箋?/p>
10銆佷負浠涔坰ession涓嶈浜?br /> 鎺掗櫎session姝e父澶辨晥鐨勫洜绱犱箣澶栵紝鏈嶅姟鍣ㄦ湰韜殑鍙兘鎬у簲璇ユ槸寰箮鍏跺井鐨勶紝铏界劧絎旇呭湪iPlanet6SP1鍔犺嫢騫茶ˉ涓佺殑Solaris鐗堟湰涓婂掍篃閬囧埌榪囷紱嫻忚鍣ㄦ彃浠剁殑鍙兘鎬ф涔嬶紝絎旇呬篃閬囧埌榪?721鎻掍歡閫犳垚鐨勯棶棰橈紱鐞嗚涓婇槻鐏鎴栬呬唬鐞嗘湇鍔″櫒鍦╟ookie澶勭悊涓婁篃鏈夊彲鑳戒細鍑虹幇闂銆?br /> 鍑虹幇榪欎竴闂鐨勫ぇ閮ㄥ垎鍘熷洜閮芥槸紼嬪簭鐨勯敊璇紝鏈甯歌鐨勫氨鏄湪涓涓簲鐢ㄧ▼搴忎腑鍘昏闂彟澶栦竴涓簲鐢ㄧ▼搴忋傛垜浠湪涓嬩竴鑺傝璁鴻繖涓棶棰樸?/p>
涓冦佽法搴旂敤紼嬪簭鐨剆ession鍏變韓
甯稿父鏈夎繖鏍風殑鎯呭喌錛屼竴涓ぇ欏圭洰琚垎鍓叉垚鑻ュ共灝忛」鐩紑鍙戯紝涓轟簡鑳藉浜掍笉騫叉壈錛岃姹傛瘡涓皬欏圭洰浣滀負涓涓崟鐙殑web搴旂敤紼嬪簭寮鍙戯紝鍙槸鍒頒簡鏈鍚庣獊鐒跺彂鐜版煇鍑犱釜灝忛」鐩箣闂撮渶瑕佸叡浜竴浜涗俊鎭紝鎴栬呮兂浣跨敤session鏉ュ疄鐜癝SO(single sign on)錛屽湪session涓繚瀛榣ogin鐨勭敤鎴蜂俊鎭紝鏈鑷劧鐨勮姹傛槸搴旂敤紼嬪簭闂磋兘澶熻闂郊姝ょ殑session銆?/p>
鐒惰屾寜鐓ervlet瑙勮寖錛宻ession鐨勪綔鐢ㄨ寖鍥村簲璇ヤ粎浠呴檺浜庡綋鍓嶅簲鐢ㄧ▼搴忎笅錛屼笉鍚岀殑搴旂敤紼嬪簭涔嬮棿鏄笉鑳藉浜掔浉璁塊棶瀵規柟鐨剆ession鐨勩傚悇涓簲鐢ㄦ湇鍔″櫒浠庡疄闄呮晥鏋滀笂閮介伒瀹堜簡榪欎竴瑙勮寖錛屼絾鏄疄鐜扮殑緇嗚妭鍗村彲鑳藉悇鏈変笉鍚岋紝鍥犳瑙e喅璺ㄥ簲鐢ㄧ▼搴弒ession鍏變韓鐨勬柟娉曚篃鍚勪笉鐩稿悓銆?/p>
棣栧厛鏉ョ湅涓涓婽omcat鏄浣曞疄鐜皐eb搴旂敤紼嬪簭涔嬮棿session鐨勯殧紱葷殑錛屼粠 Tomcat璁劇疆鐨刢ookie璺緞鏉ョ湅錛屽畠瀵逛笉鍚岀殑搴旂敤紼嬪簭璁劇疆鐨刢ookie璺緞鏄笉鍚岀殑錛岃繖鏍蜂笉鍚岀殑搴旂敤紼嬪簭鎵鐢ㄧ殑session id鏄笉鍚岀殑錛屽洜姝ゅ嵆浣垮湪鍚屼竴涓祻瑙堝櫒紿楀彛閲岃闂笉鍚岀殑搴旂敤紼嬪簭錛屽彂閫佺粰鏈嶅姟鍣ㄧ殑session id涔熷彲浠ユ槸涓嶅悓鐨勩?/p>
鏍規嵁榪欎釜鐗規э紝鎴戜滑鍙互鎺ㄦ祴Tomcat涓璼ession鐨勫唴瀛樼粨鏋勫ぇ鑷村涓嬨?/p>
絎旇呬互鍓嶇敤榪囩殑iPlanet涔熼噰鐢ㄧ殑鏄悓鏍風殑鏂瑰紡錛屼及璁unONE涓巌Planet涔嬮棿涓嶄細鏈夊お澶х殑宸埆銆傚浜庤繖縐嶆柟寮忕殑鏈嶅姟鍣紝瑙e喅鐨勬濊礬寰堢畝鍗曪紝瀹為檯瀹炶璧鋒潵涔熶笉闅俱傝涔堣鎵鏈夌殑搴旂敤紼嬪簭鍏變韓涓涓猻ession id錛岃涔堣搴旂敤紼嬪簭鑳藉鑾峰緱鍏朵粬搴旂敤紼嬪簭鐨剆ession id銆?/p>
iPlanet涓湁涓縐嶅緢綆鍗曠殑鏂規硶鏉ュ疄鐜板叡浜竴涓猻ession id錛岄偅灝辨槸鎶婂悇涓簲鐢ㄧ▼搴忕殑cookie璺緞閮借涓?錛堝疄闄呬笂搴旇鏄?NASApp錛屽浜庡簲鐢ㄧ▼搴忔潵璁插畠鐨勪綔鐢ㄧ浉褰撲簬鏍癸級銆?br />
<session-info>
<path>/NASApp</path>
</session-info>
闇瑕佹敞鎰忕殑鏄紝鎿嶄綔鍏變韓鐨剆ession搴旇閬靛驚涓浜涚紪紼嬬害瀹氾紝姣斿鍦╯ession attribute鍚嶅瓧鐨勫墠闈㈠姞涓婂簲鐢ㄧ▼搴忕殑鍓嶇紑錛屼嬌寰?setAttribute("name", "neo")鍙樻垚setAttribute("app1.name", "neo")錛屼互闃叉鍛藉悕絀洪棿鍐茬獊錛屽鑷翠簰鐩歌鐩栥?/p>
鍦═omcat涓垯娌℃湁榪欎箞鏂逛究鐨勯夋嫨銆傚湪Tomcat鐗堟湰3涓婏紝鎴戜滑榪樺彲浠ユ湁涓浜涙墜孌墊潵鍏變韓session銆傚浜庣増鏈?浠ヤ笂鐨凾omcat錛岀洰鍓嶇瑪鑰呭皻鏈彂鐜扮畝鍗曠殑鍔炴硶銆傚彧鑳藉熷姪浜庣涓夋柟鐨勫姏閲忥紝姣斿浣跨敤鏂囦歡銆佹暟鎹簱銆丣MS鎴栬呭鎴風cookie錛孶RL鍙傛暟鎴栬呴殣钘忓瓧孌電瓑鎵嬫銆?/p>
鎴戜滑鍐嶇湅涓涓媁eblogic Server鏄浣曞鐞唖ession鐨勩?/p>
浠庢埅灞忕敾闈笂鍙互鐪嬪埌Weblogic Server瀵規墍鏈夌殑搴旂敤紼嬪簭璁劇疆鐨刢ookie鐨勮礬寰勯兘鏄?錛岃繖鏄笉鏄剰鍛崇潃鍦╓eblogic Server涓粯璁ょ殑灝卞彲浠ュ叡浜玸ession浜嗗憿錛熺劧鑰屼竴涓皬瀹為獙鍗沖彲璇佹槑鍗充嬌涓嶅悓鐨勫簲鐢ㄧ▼搴忎嬌鐢ㄧ殑鏄悓涓涓猻ession錛屽悇涓簲鐢ㄧ▼搴忎粛鐒跺彧鑳借闂嚜宸辨墍璁劇疆鐨勯偅浜涘睘鎬с傝繖璇存槑Weblogic Server涓殑session鐨勫唴瀛樼粨鏋勫彲鑳藉涓?/p>
瀵逛簬榪欐牱涓縐嶇粨鏋勶紝鍦?session鏈哄埗鏈韓涓婃潵瑙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涓氳繃銆?/p>
閭d箞Weblogic Server涓轟粈涔堣鎶婃墍鏈夌殑搴旂敤紼嬪簭鐨刢ookie璺緞閮借涓?鍛紵鍘熸潵鏄負浜哠SO錛屽嚒鏄叡浜繖涓猻ession鐨勫簲鐢ㄧ▼搴忛兘鍙互鍏變韓璁よ瘉鐨勪俊鎭備竴涓畝鍗曠殑瀹為獙灝卞彲浠ヨ瘉鏄庤繖涓鐐癸紝淇敼棣栧厛鐧誨綍鐨勯偅涓簲鐢ㄧ▼搴忕殑鎻忚堪絎eblogic.xml錛屾妸cookie璺緞淇敼涓?appA 璁塊棶鍙﹀涓涓簲鐢ㄧ▼搴忎細閲嶆柊瑕佹眰鐧誨綍錛屽嵆浣挎槸鍙嶈繃鏉ワ紝鍏堣闂甤ookie璺緞涓?鐨勫簲鐢ㄧ▼搴忥紝鍐嶈闂慨鏀硅繃璺緞鐨勮繖涓紝铏界劧涓嶅啀鎻愮ず鐧誨綍錛屼絾鏄櫥褰曠殑鐢ㄦ埛淇℃伅涔熶細涓㈠け銆傛敞鎰忓仛榪欎釜瀹為獙鏃惰璇佹柟寮忓簲璇ヤ嬌鐢‵ORM錛屽洜涓烘祻瑙堝櫒鍜寃eb鏈嶅姟鍣ㄥbasic璁よ瘉鏂瑰紡鏈夊叾浠栫殑澶勭悊鏂瑰紡錛岀浜屾璇鋒眰鐨勮璇佷笉鏄氳繃 session鏉ュ疄鐜扮殑銆傚叿浣撹鍙傜湅[7] secion 14.8 Authorization錛屼綘鍙互淇敼鎵闄勭殑紺轟緥紼嬪簭鏉ュ仛榪欎簺璇曢獙銆?/p>
鍏佹葷粨
session鏈哄埗鏈韓騫朵笉澶嶆潅錛岀劧鑰屽叾瀹炵幇鍜岄厤緗笂鐨勭伒媧繪у嵈浣垮緱鍏蜂綋鎯呭喌澶嶆潅澶氬彉銆傝繖涔熻姹傛垜浠笉鑳芥妸浠呬粎鏌愪竴嬈$殑緇忛獙鎴栬呮煇涓涓祻瑙堝櫒錛屾湇鍔″櫒鐨勭粡楠屽綋浣滄櫘閬嶉傜敤鐨勭粡楠岋紝鑰屾槸濮嬬粓闇瑕佸叿浣撴儏鍐靛叿浣撳垎鏋愩?/p>
<#include "/ftl/ecs/pagination.ftl" />鍒嗛〉緇勪歡浣跨敤浜咶reemarker鐨勫畯銆?br />
鍒嗛〉緇勪歡闇瑕佽緭鍏?涓弬鏁幫紝鍒嗗埆涓篿d銆乵ethod銆乥tnCssClass銆乧ssClass錛屽叾涓璱d銆乵ethod蹇呴』杈撳叆錛沚tnCssClass銆乧ssClass鍙夈備互涓嬫槸鍙傛暟璇︾粏璇存槑錛?br />
1.id : 鍒嗛〉緇勪歡鐨勫敮涓鏍囪瘑銆?br />
2.method : 鍒嗛〉鐢ㄧ殑Action銆備緥濡傦細瀹氫箟浜咥ction涓篜agination錛屽垯method杈撳叆 Pagination.action錛涜嫢涓哄姩鎬佹柟娉曡皟鐢紝鍙緭鍏agination!query.action
3.cssClass : 鍒嗛〉緇勪歡鐨刢lass灞炴с備緥濡俢ssClass="center"銆?br />
4.btnCssClass : 鍒嗛〉緇勪歡鎸夐挳鐨刢lass灞炴с備緥濡俠tnCssClass="btn_history"銆?br />
<@pagination id="***" btnCssClass="***" cssClass="***" method="***.action"> <table> <tr> <td></td> ... </tr> </table> </pagination>
PageSupport.java緇ф壙鑷狝ctionSupport.java錛屽湪瑕佸垎欏電殑鏂規硶涓嬌鐢≒ageSupport.java鎻愪緵鐨凩ist pageCall(String module, String target, Map dataMap)鍒嗛〉璋冪敤銆?br /> 閫氳繃setPageSize(int pageSize)鏂規硶璁懼畾姣忛〉鏄劇ず鐨勮褰曟暟銆?br /> API璇︾粏璇存槑錛?br /> 1.pageCall
鍙傛暟璇存槑錛? 1) String module : 璋冪敤service鐨勯氶亾錛屼緥濡傦細upf銆乪sf銆? 2) String target : 瑕佽皟鐢ㄧ殑service鐨勬柟娉曪紝渚嬪錛歝om.ailk.ecs.service.TdupfPageService.selectAllUser銆? 3) Map dataMap : 杈撳叆鍙傛暟銆? 榪斿洖鍊艱鏄庯細 List : 欏甸潰鏄劇ず鐨勬暟鎹褰曘?
2.setPageSize
鍙傛暟璇存槑錛? 1) int pageSize : 姣忛〉鏄劇ず璁板綍鏁般?
鍦╯ervice灝佽鍒嗛〉Dao鎴栬呭垎欏墊柟娉曘?/p>
pagination.ftl浠g爜: