锘??xml version="1.0" encoding="utf-8" standalone="yes"?>
* Session鐨勫垱寤猴紙浠h〃浼氳瘽鍛ㄦ湡鐨勫紑濮嬶級錛氱涓嬈¤皟鐢╮equest.getSession()鏂規硶鏃訛紝浼氬垱寤轟竴涓猻ession瀵硅薄銆?/p>
* Session鐨勯攢姣侊紙浠h〃浼氳瘽鍛ㄦ湡鐨勭粨鏉燂級錛氬湪鏌愪釜璇鋒眰鍛ㄦ湡鍐呰皟鐢ㄤ簡Session.invalidate()鏂規硶錛屾璇鋒眰鍛ㄦ湡緇撴潫鍚庯紝session琚攢姣侊紱鎴栬呮槸session瓚呮椂鍚庤嚜鍔ㄩ攢姣併?/p>
* 瀵逛簬JSP錛屽鏋滄寚瀹氫簡<%@ page session="false"%>錛屽垯鍦↗SP涓棤娉曠洿鎺ヨ闂唴緗殑session鍙橀噺錛屽悓鏃朵篃涓嶄細涓誨姩鍒涘緩session錛屽洜涓烘鏃禞SP鏈嚜鍔ㄦ墽琛宺equest.getSession()鎿嶄綔鑾峰彇session銆?/p>
* 鍦╯ession瀵硅薄鍒氬垱寤虹殑絎竴涓姹傚懆鏈熷唴錛岃皟鐢╯ession.isNew()鏂規硶灝嗗緱鍒皌rue銆?/p>
錛戯紟鏈夋晥鏈熻緗?/font>
* 鍙互鍦╳eb.xml鏂囦歡涓厤緗畇ession榛樿鐨勮秴鏃舵椂闂達紙鍒嗛挓錛夛細 <session-config> <session-timeout>10</session-timeout> </session-config> 涔熷彲浠ヨ皟鐢╯ession. setMaxInactiveInterval()鏂規硶璁劇疆session瓚呮椂鏃墮棿錛堝垎閽燂級
錛掞紟鐩戞帶
* 閫氳繃SessionListenr鍙互鐩戝惉session鐨勫垱寤哄拰閿姣侊紝姝ラ錛?nbsp;
1.鍐欎竴涓被MySessionListener錛屽疄鐜癹avax.servlet.http.HttpSessionListener鎺ュ彛鍙婂叾sessionCreated()銆乻essionDestroyed()鏂規硶
2.鍦╳eb.xml涓厤緗甋essionListener錛?nbsp;
<listener>
<listener-class>MySessionListener綾誨叏鍚?lt;/listener-class>
</listener>
* 褰搒ession 琚垱寤哄拰閿姣佹椂錛屽鍣ㄤ細鍒嗗埆璋冪敤SessionListener鐨剆essionCreated()鏂規硶鍜宻essionDestroyed()鏂規硶錛岃繖涓や釜鏂規硶涓紶鍏ヤ簡涓涓弬鏁板璞ttpSessionEvent錛屽彲浠ラ氳繃姝ゅ璞$殑getSession()鏂規硶鑾峰彇session瀵硅薄銆?/p>
搴旂敤紺轟緥錛氬湪綰夸漢鏁扮粺璁?/p>
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);
}
}