狀態管理:cookie
1建立cookie
cookie cookie=new cookie("user", username+"#"+password);
cookie cookie=new cookie("關鍵字", 值value);
2設定cookie
cookie.setmaxage(60*60*24*7*2);單位為秒,cookie的最大存活時間
cookie.setpath("/schoolwork");設定cookie的存放路徑
cookie.sethttponly(true);設定cookie只為http讀取,可以提高安全性
3新增cookie
response.addcookie(cookie);
4讀取cookie
cookie tb_cookie=request.getcookies();讀取cookie表
outcookies.getcomment(); 返回cookie中注釋,如果沒有注釋的話將返回空值.
outcookies.getdomain();返回cookie中cookie適用的網域名稱. 使用getdomain() 方法可以指示瀏覽器把cookie返回給同 一域內的其他伺服器,而通常cookie只返回給與傳送它的伺服器名字完全相同的伺服器。注意網域名稱必須以點開始(例如.yesky.com)
outcookies.getmaxage();返回cookie過期之前的最大時間,以秒計算。
outcookies.getname();返回cookie的名字。名字和值是我們始終關心的兩個部分。
outcookies.getpath();返回cookie適用的路徑。如果不指定路徑,cookie將返回給當前頁面所在目錄及其子目錄下 的所有頁面。
outcookies.getsecure();如果瀏覽器通過安全協議傳送cookies將返回true值,如果瀏覽器使用標準協議則返回false值。
outcookies.getvalue();返回cookie的值。
outcookies.getversion();返回cookie所遵從的協議版本。
狀態管理:session
1.建立session
httpsession session=request.getsession();
2.設定session ,session像乙個表,放著很多鍵字對
session.setattribute("username", "zhangsan");
session.setattribute("username", "wangwu");//後者王五將會覆蓋前者張三
session.setattribute("username1", "zhangsan");
session.setattribute("username2", "zhangsan");
session.setattribute("username3", "zhangsan");
3.獲取session
// 獲取《一旦獲取session,就會建立乙個cookie》
system.out.println("session建立時間"+session.getcreationtime());
system.out.println("session建立時間"+newdate(session.getcreationtime()));
system.out.println("最後一次訪間"+newdate(session.getlastaccessedtime()));
system.out.println("sesson過期時間"+session.getmaxinactiveinterval());//單位秒
http協議是無狀態的,不能儲存每次提交的資訊,即當伺服器返回與請求相對應的應答之後,這次事物的所有資訊就丟掉了。
客戶端的狀態管理技術cookie
服務端的狀態管理技術session
同名cookie後者會覆蓋前者
同名session後者會覆蓋前者
server判斷是否為同乙個使用者的條件是 session id,session id以cookie的方式傳遞給瀏覽器
「cookie"vs"session」
存在位置:cookie在客戶端的臨時資料夾
session存在伺服器記憶體中,乙個session域物件為乙個使用者瀏覽器服務
安全性:cookie是以明文的方式存在客戶端,
session是存放在伺服器記憶體中,安全性較強
網路傳輸器:cookie會傳遞資訊給伺服器
session屬性值不回傳輸給客戶端
生命週期:cookie的生命週期是累積時間,到點失效
session的生命週期可通過修改配置檔案和設定屬性兩種方法進行改變
cookie與session的關聯
前提 cookie沒有被禁用。當用瀏覽器登入到某 伺服器時,先找對應的cookie檔案,當首次訪問是當然沒有cookie檔案,所以在請求頭部中沒有cookie的內容,即在請求頭部中沒有類似cookie jsessionid 的內容,這時當請求到達伺服器後,伺服器看請求頭中沒有jsessionid值,...
session與cookie的區別
讓我們用幾個例子來描述一下cookie和session機制之間的區別與聯絡。筆者曾經常去的一家咖啡店有喝5杯咖啡免費贈一杯咖啡的優惠,然而一次性消費5杯咖啡的機會微乎其微,這時就需要某種方式來紀錄某位顧客的消費數量。想象一下其實也無外乎下面的幾種方案 1 該店的店員很厲害,能記住每位顧客的消費數量,...
session與cookie的區別
1 session儲存在伺服器,客戶端不知道其中的資訊 cookie儲存在客戶端,伺服器能夠知道其中的資訊。2 session中儲存的是物件,cookie中儲存的是字串。3 session不能區分路徑,同乙個使用者在訪問乙個 期間,所有的session在任何乙個地方都可以訪問到。而cookie中如果...