1.session的建立
建立:request.getsession(), request.getsession(true);第一次呼叫時建立session物件,並在response返回頭中新增
request.getsession,等同於request.getsession(true);
獲取其jsp或severlet建立的並儲存在tomcat管理器中的session
當請求頭中包括
cookie
jsessionid=188f48755786c56412147356a5167832
從session管理器中獲取id對應的session物件
request.getsession(false): 只根據jsessionid獲取其他人建立的session物件,如果不存在返回空.當request.getsession(false),是第乙個請求時也不會自己建立session物件,只會返回空
jsp 禁止自動建立session對
設定page指令 session="false"
(1)自己不會自動建立session物件
(2)禁用jsp 中隱藏的session物件
(3)如果session物件不存在或session物件失效, request.getsesson()或reqeust.getsession(true) 會建立新的session物件.
(4)request.getsession(false),獲取其他人建立的session物件,自己不會建立,不存在返回null
2.銷毀session物件
(1)手動銷毀.呼叫session.invalid()方法手動直接銷毀session物件
(2)伺服器解除安裝了當前web應用.
(3)超出httpsession的過期時間getmaxinactiveinterval() 單位為秒(session過期時間設定1.setmaxinactiveinterval() 2.在web.xml 配置檔案中設定);
***並不是關閉了瀏覽器就銷毀了session物件,session物件的銷毀由tomcat根據session的過期時間進行銷毀.
利用url重寫跟蹤session
使用response.encodeurl("hello.jsp")編碼url會將 hello.jsp:jsessionid=188f48755786c56412147356a5167832
加到每個編碼的url後面
Session的使用與Session的生命週期
1 httpsession的方法 object getattribute string enumerationgetattributenames long getcreationtime string getid string getlastaccessedtime int getmaxinacti...
Tomcat集群的session共享
第一種是以負載均衡伺服器本身提供的session共享策略,每種服務 器的配置是不一樣的並且nginx本身是沒有的。第二種是利用web容器本身的 session 共享策略來配置共享。針對於 weblogic 這種方式還是靠普的。但是針對於 tomcat 這種方式存在很大的缺陷,主要因為是依靠廣播方式來...
tomcat集群session共享
才疏學淺且語無倫次,如有誤人子弟,深表歉意 一台tomcat不夠用時,要麼換更好的機器,要麼加機器做集群。做集群就會涉及到負載均衡,比如nginx,會把到來的每個請求按一定的規則 給後端tomcat,這就有乙個逃避不了的問題需要解決,使用者的session需要在不同的tomcat之間共享。比較偷懶的...