Cookie與session學習過程筆記

狀態管理: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》
	HttpSession session=request.getSession();
	System.out.println("sessionid"+session.getId());
	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的生命週期可通過修改配置文件和設置屬性兩種方法進行改變

發佈了17 篇原創文章 · 獲贊 8 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章