瀏覽器重啟丟失上次訪問資訊:
1、使用者訪問伺服器上的應用,通常需要儲存一些使用者的資訊,以便於在各個程式間傳遞使用者資訊,這時候我們可以用session物件來儲存使用者的資料;
2、伺服器針對每個使用者建立好了session物件後,會自動將session物件的id資訊封裝到乙個cookie物件返回給客戶機,此時的cookie生命週期只有乙個會話,也就是說,瀏覽器已關閉,cookie就銷毀;因此,使用者再次開啟瀏覽器,上次的訪問伺服器就不會帶上次的標記了session物件的cookie來,因此伺服器就沒法根據cookie找到對應的儲存了使用者資訊的session物件;
3、為了解決上述這個問題,在伺服器建立session物件的同時,我們可以建立乙個和伺服器建立的cookie相同的cookie,用我們定義的cookie覆蓋掉伺服器自動建立的cookie,然後自定義設定cookie的有效期,但是,注意cookie的路徑也要設定成和伺服器的cookie一樣的路徑,即cookie.setpath(url)中的值要相同。這樣使用者重啟瀏覽器就可以正常根據瀏覽器帶過來的cookie獲取到上一次的session資訊;
使用者禁用接收cookie功能:
1、這時要想使使用者session正常在各程式之間傳遞資訊,需要改寫url路徑;
2、用到response.encodeurl()方法,不過改寫之前需要獲得或者建立session物件;
3、如果涉及到了重定向路徑,那麼路徑改寫需要用到encoderedirecturl()方法。
4、這兩個方法都是將使用者的session的id資訊附加到url位址的後面得到乙個帶有session 的id資訊的新位址。
這樣我們就可以不用依賴cookie了。
不過在實際開發中應該cookie用的多,因為cookie是存在客戶機上的,而session是在伺服器端維護的。
Session物件學習筆記
目錄 1 session定義 2 session的作用域 3 session的生命週期 4 session的屬性和方法 session物件表示對 的一次訪問,一次會話。什麼叫乙個會話呢?對於web開發來說,一次會話就是使用者通過瀏覽器與伺服器之間的一次通話,他包含瀏覽器與伺服器請求的多次請求和響應。...
session常用物件
1 object getarrtibute string name 獲取與名字name相聯絡的屬性 2 void setarrtibute string name,object 設定指定名字的屬性值,並儲存在session中 3 long getcreationtime 返回session建立時間 ...
Session物件的特點
session物件的特點 session物件用於在會話範圍內,記錄每個客戶端的訪問狀態,以便於跟蹤每個客戶端的操作狀態,在會話儲存的資訊,在瀏覽器發出後續請求時可以獲取這些會話的有效資料。常用方法如下 1 public void setattribute sting name,object valu...