Cookie學習筆記一:基本概念

      作爲一名JavaWeb學習的菜鳥,我今天通過網上的視頻教程,自己學習了一下Cookie。之前一直有聽到別人討論什麼Cookie啊session啊,感覺特高科,今天終於找到學習資源啦~在此將我的學習成果貼出,如果有任何建議,歡迎來噴哦~害羞共同學習,共同進步啊~~(在此就不說是哪家的視頻了,以免有打廣告的嫌疑,如果有興趣,可以私信我哦~)

好了,言歸正傳,一起就是我今天的學習成果啦:

Cookie的基本概念:

Cookie是Servlet裏的一種用來會話跟蹤的機制,簡單直白的說就是比如當你網購時要將淘到的寶貝放入購物車吧,那怎麼保證是加入的你的購物車呢,這裏就是用Cookie來記錄的;或者當你登錄某個網站時,該網站一般會詢問你是否記住密碼,如果你選擇是,那接下來一天或幾天的時間你都可以實現自動登錄,而這也是用的Cookie技術。

在不進行設置的情況下,Cookie的生命週期一般就是一次會話(就是你下一次訪問這個網站他將可以直接登錄)。而若是想要控制它的生命週期也是非常簡單的,只用改變一個參數:setMaxAge既可。setMaxAge是用秒爲單位的,當其爲負數時就是不對Cookie存儲,爲0時就是立即刪除,若爲正數就是到時間自動刪除啦。可能現在有點暈啦,概念就是這樣,比較糾結,下面我用一段代碼來幫助一下理解啦~

一個Cookie的測試文件:

<span style="font-size:18px;"><%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8" session="false"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Cookie Test</title>
</head>
<body>
	<%
		//Cookie的查看方式爲遍歷
		Cookie [] cookies = request.getCookies();
	
		if(cookies != null && cookies.length > 0)
		{
			for(Cookie c : cookies)
			{
				out.println(c.getName() +" : "+ c.getValue());
			}
		}else
		{
			out.println("Cookies 爲空,正在創建中。。。。");
			//創建一個Cookie對象
			Cookie cookie = new Cookie("name", "CookieTest");
		
			//設置Cookie的最大保存時間,Cookie會在下次啓動30秒後自動刪除
			cookie.setMaxAge(30);
			
			//把Cookie傳給客戶端
			response.addCookie(cookie);
		}
	%>
</body>
</html></span>

我們可以從瀏覽器中的開發者工具中查看到如下:

第一次訪問



第二次訪問



當第一次訪問時,響應頭部有set-Cookie,而第二次訪問時請求頭部直接自動將Cookie的信息帶入了請求,而這也就是Cookie的工作原理啦~因爲設置了最大保存時間,所以30s後再刷新Cookie 就被刪除了~~

至此,Cookie的基本概念就差不多講完了~

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章