鎬庢牱鍒ゆ柇鐢ㄦ埛鏄惁鍦ㄧ嚎

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了鎬庢牱鍒ゆ柇鐢ㄦ埛鏄惁鍦ㄧ嚎相关的知识,希望对你有一定的参考价值。

鏍囩锛?/p>

1.鍐欏悗鍙扮嚎绋嬶紝蹇冭烦鏈哄埗绛夊垽鏂敤鎴锋槸鍚﹀湪绾裤€?/p>

2.鍒╃敤session 姣忔鐢ㄦ埛鐧诲綍浼氫骇鐢熶竴涓猻ession 
鍥犱负鑰冭檻鍒颁竴鍙扮數鑴戝涓祻瑙堝櫒涔嬮棿session涓嶅叡浜篃灏辨槸鍙兘浼氬舰鎴愯繖鏍蜂竴涓蹇碉紝浣犵殑鍚屼竴涓敤鎴峰悕鍦ㄦ湇鍔″櫒涓墦寮€浜嗕袱涓笉鍚岀増鏈殑娴忚鍣ㄥ洜姝や繚瀛樹簡2涓猻ession锛屼篃灏遍€犳垚浜嗕笉鍑嗙‘鐨勫洜绱?br />鎵€浠ヤ綘鍙互閲囩敤涓€寮犱笓闂ㄧ櫥褰曠殑鏁版嵁搴撹〃鏍硷紝瀛楁涓嶇敤澶?nbsp;淇濆瓨鐧诲綍鐨勭敤鎴峰悕灏辫锛岀劧鍚巎avaweb涓湁session鐨勭洃鍚帴鍙ttpSessionBindingListener锛岃繖涓帴鍙e寘鍚殑涓や釜鏂规硶鍒嗗埆浼氬湪姣忔鍥犵敤鎴风敓鎴愪竴涓猻ession瑙﹀彂锛屼互鍙婂洜鐢ㄦ埛姝e父娉ㄩ攢session鎴栭潪娉曡秴鏃舵湇鍔″櫒鎽ф瘉session鍚庤Е鍙戯紝
鎴戜滑瑕佸仛鐨勭粏鍖栧伐浣滃氨鏄紝褰撴瘡涓敤鎴蜂骇鐢熶竴娆ession鏃讹紙鐧诲綍鎿嶄綔锛夛紝鏌ユ壘杩欏紶琛ㄦ牸鏄惁宸叉湁姝よ处鍙风殑鐧诲綍璁板綍銆傛湁鍒欏湪姝ょ櫥褰曡〃涓笉鍋氬鍔犳搷浣滐紝娌℃湁鍒欏鍔犺鐢ㄦ埛鍒版鐧诲綍琛ㄣ€?br />杩欐牱鍙互瀹炵幇鐩稿绮惧噯鐨勭櫥褰曚汉鏁帮紝浣嗗闈炴硶閫€鍑虹殑鐢ㄦ埛锛屾垜鎯宠嚦浠婁篃娌℃湁涓€涓ソ鐨勬兂娉曪紝杩欑鐧诲綍浼氬瀛樺湪浜庢湇鍔″櫒锛岀煡閬撴湇鍔″櫒鍒ゅ畾璇ession瓒呮椂鐒跺悗鍒犻櫎锛岃鐢ㄦ埛涔熷氨鑷姩琚垹闄ょ櫥褰曡〃銆?/p>

4.鍙互鐢╝pplication璁$畻鍦ㄧ嚎浜烘暟锛屾瘮杈冨ソ鍐?/p>

5.session鐨勯攢姣佸拰鍒涘缓鏄彲浠ョ洃鍚殑銆?br />鍦╝pplication瀹瑰櫒涓淮鎶や竴涓彉閲忋€傚綋鐩戝惉瑕乻ession鍒涘缓鑰呭姞涓€鍙嶄箣鍑忎竴

瀹瑰櫒锛屼笉鏄獥鍙f墦閿欎簡

 

JavaWeb涓殑Session銆丼essionListener銆佸湪绾夸汉鏁扮粺璁?/a>

5.

娴嬭瘯鐜锛歍omcat 5.0.28

JavaWeb涓殑Session

  • 鍦↗avaWeb涓娇鐢℉ttpSession锛堜互涓嬬畝绉皊ession锛夊璞℃潵琛ㄧず涓€涓細璇濄€?/li>
  • Session鐨勫垱寤猴紙浠h〃浼氳瘽鍛ㄦ湡鐨勫紑濮嬶級锛氱涓€娆¤皟鐢╮equest.getSession()鏂规硶鏃讹紝浼氬垱寤轰竴涓猻ession瀵硅薄銆?/li>
  • Session鐨勯攢姣侊紙浠h〃浼氳瘽鍛ㄦ湡鐨勭粨鏉燂級锛氬湪鏌愪釜璇锋眰鍛ㄦ湡鍐呰皟鐢ㄤ簡Session.invalidate()鏂规硶锛屾璇锋眰鍛ㄦ湡缁撴潫鍚庯紝session琚攢姣侊紱鎴栬€呮槸session瓒呮椂鍚庤嚜鍔ㄩ攢姣併€?/li>
  • 瀵逛簬JSP锛屽鏋滄寚瀹氫簡<%@ page session="false"%>锛屽垯鍦↗SP涓棤娉曠洿鎺ヨ闂唴缃殑session鍙橀噺锛屽悓鏃朵篃涓嶄細涓诲姩鍒涘缓session锛屽洜涓烘鏃禞SP鏈嚜鍔ㄦ墽琛宺equest.getSession()鎿嶄綔鑾峰彇session銆?/li>
  • 鍦╯ession瀵硅薄鍒氬垱寤虹殑绗竴涓姹傚懆鏈熷唴锛岃皟鐢╯ession.isNew()鏂规硶灏嗗緱鍒皌rue銆?/li>
  • 鍙互鍦╳eb.xml鏂囦欢涓厤缃畇ession榛樿鐨勮秴鏃舵椂闂达紙鍒嗛挓锛夛細
    <session-config>
        <session-timeout>10</session-timeout>
    </session-config>
    涔熷彲浠ヨ皟鐢╯ession. setMaxInactiveInterval()鏂规硶璁剧疆session瓒呮椂鏃堕棿锛堝垎閽燂級

SessionListener

  • 閫氳繃SessionListenr鍙互鐩戝惉session鐨勫垱寤哄拰閿€姣侊紝姝ラ锛?br />1.鍐欎竴涓被MySessionListener锛屽疄鐜癹avax.servlet.http.HttpSessionListener鎺ュ彛鍙婂叾sessionCreated()銆乻essionDestroyed()鏂规硶
    2.鍦╳eb.xml涓厤缃甋essionListener锛?br />
    <listener>
        <listener-class>MySessionListener绫诲叏鍚?lt;/listener-class>
    </listener>
  • 褰搒ession琚垱寤哄拰閿€姣佹椂锛屽鍣ㄤ細鍒嗗埆璋冪敤SessionListener鐨剆essionCreated()鏂规硶鍜宻essionDestroyed()鏂规硶锛岃繖涓や釜鏂规硶涓紶鍏ヤ簡涓€涓弬鏁板璞ttpSessionEvent锛屽彲浠ラ€氳繃姝ゅ璞$殑getSession()鏂规硶鑾峰彇session瀵硅薄銆?/li>

搴旂敤锛氬湪绾夸汉鏁扮粺璁?/strong>

import java.util.HashSet;
import javax.servlet.ServletContext;
import javax.servlet.http.HttpSession;
import javax.servlet.http.HttpSessionEvent;
import javax.servlet.http.HttpSessionListener;
 
public class MySessionListener implements HttpSessionListener {
 
       public void sessionCreated(HttpSessionEvent event) {
              HttpSession session = event.getSession();
              ServletContext application = session.getServletContext();
              
              // 鍦╝pplication鑼冨洿鐢变竴涓狧ashSet闆嗕繚瀛樻墍鏈夌殑session
              HashSet sessions = (HashSet) application.getAttribute("sessions");
              if (sessions == null) {
                     sessions = new HashSet();
                     application.setAttribute("sessions", sessions);
              }
              
              // 鏂板垱寤虹殑session鍧囨坊鍔犲埌HashSet闆嗕腑
              sessions.add(session);
              // 鍙互鍦ㄥ埆澶勪粠application鑼冨洿涓彇鍑簊essions闆嗗悎
              // 鐒跺悗浣跨敤sessions.size()鑾峰彇褰撳墠娲诲姩鐨剆ession鏁帮紝鍗充负“鍦ㄧ嚎浜烘暟”
       }
 
       public void sessionDestroyed(HttpSessionEvent event) {
              HttpSession session = event.getSession();
              ServletContext application = session.getServletContext();
              HashSet sessions = (HashSet) application.getAttribute("sessions");
              
              // 閿€姣佺殑session鍧囦粠HashSet闆嗕腑绉婚櫎
              sessions.remove(session);
       }
}

以上是关于鎬庢牱鍒ゆ柇鐢ㄦ埛鏄惁鍦ㄧ嚎的主要内容,如果未能解决你的问题,请参考以下文章

PHP 鍒ゆ柇鏁版嵁绫诲瀷

璁$畻浜ょ偣浠ュ強鏄惁鍦ㄧ洿绾垮唴

GO ---- 鍑芥暟 鍖?鍒ゆ柇 寰幆

鎬庢牱鐞嗚В闃诲闈為樆濉炰笌鍚屾寮傛鐨勫尯鍒紵

jQuery 鍒ゆ柇鍔ㄧ敾杈圭晫

Linux鍦ㄧ嚎瀹夎Tomcat