Cookie與session學習過程筆記

2021-09-29 14:12:34 字數 2576 閱讀 1852

狀態管理: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中如果...