卖逼视频免费看片|狼人就干网中文字慕|成人av影院导航|人妻少妇精品无码专区二区妖婧|亚洲丝袜视频玖玖|一区二区免费中文|日本高清无码一区|国产91无码小说|国产黄片子视频91sese日韩|免费高清无码成人网站入口

Cookie的過期時間設置

—高級軟件人才實作培訓專家!Cookie 的過期時間設置1.Cookie 生存時間介紹我們知道Cookie 是一個鍵值對,但是Cookie 不僅僅只有name 和value 屬性,它還有以下幾種屬性:

—高級軟件人才實作培訓專家!

Cookie 的過期時間設置

1.Cookie 生存時間介紹

我們知道Cookie 是一個鍵值對,但是Cookie 不僅僅只有name 和value 屬性,它還有以下幾種屬性:

(1)注釋:描述此cookie 的用途;

(2)路徑:指的是瀏覽器將此cookie 返回到服務器上的路徑,并且該cookie 對于服務器上的所有子路

徑都是可見的。

(3)域限定符:創(chuàng)建cookie 時設置的域名,域名形式是根據RFC 2109設置的;

(4)最大生存時間:表示cookie 的存活時間,過了設置的最大生存時間,該cookie 就會死亡;

(5)版本號:表示cookie 遵守的協議版本,版本1遵守RFC 2109,版本0遵守根據Netscape 起草的

原始cookie 規(guī)范。

本文檔只對Cookie 的最大生存時間進行講解,其他屬性后面會一一說明。

Cookie 的過期時間即為Cookie 的最大生存時間,可以通過以下方法進行設置,如下所示:

●void setMaxAge(intexpiry)

該方法的參數的類型是整型,表示過期的時間,單位是秒。例如:cookie.setMaxAge(60)表示當前cookie 會被瀏覽器保存在硬盤上,60秒后會被瀏覽器刪除。

下面分情況說明cookie 的setMaxAge()方法對cookie 生存時間的設置,如下所示:

setMaxAge()參數大于0:表示將當前cookie 保存在硬盤上,保存時間由其參數決定;

setMaxAge()參數小于0:無論該方法的參數是多少,只要小于0,則表示將當前cookie 保存在瀏覽器內存中,瀏覽器關閉的同時cookie 死亡;

setMaxAge()參數等于0:表示瀏覽器將當前cookie 及之前保存的同名cookie 刪除,例如剛開始在瀏覽器端保存了一個cookie ,名稱為history ,保存時間為2天,現在希望將該history 刪除,這個時候就可以向瀏覽器端再次發(fā)送一個名字為history 的cookie ,生存時間設置為0。這個時候瀏覽器會將名字為history 的所有cookie 刪除。

如果,在服務器端新建一個cookie ,并沒有給該cookie 設置生存時間,那么表示:該cookie 會在瀏覽器關閉的時候被瀏覽器刪除。

2.Cookie 設置生存時間練習

通過以上對cookie 生存時間的了解,下面通過一個案例來直觀的體會cookie 的生存時間設置對cookie 的影響,具體如下:

(1)創(chuàng)建一個web 項目,Example19,在該應用下的WebRoot 目錄下新建一個jsp 文件,名稱為cookieSet.jsp ,主要代碼如例1-1所示:

例1-1cookieSet.jsp

保存cookie

<

Cookie cookie1=newCookie("cookie1","aaa");

,

—高級軟件人才實作培訓專家! response.addCookie(cookie1);

>

例1-1中,創(chuàng)建了一個cookie ,但是并沒有設置cookie 的生存時間,通過以上對cookie 生存時間的講解,該cookie 會在瀏覽器關閉的時候被銷毀。

(2)將Example19發(fā)布到Tomcat 服務器中,然后啟動服務器,谷歌瀏覽器查看cookie 比較方便,我們在谷歌瀏覽器端地址欄上訪問:

圖1-1瀏覽器顯示結果

(3)查看谷歌瀏覽器中的cookie ,點擊圖1-1

所示的紅色標注的圖標,在下拉選項中選擇【設置】,進入圖1-2所示界面:

圖1-2查看cookie

(4)點擊圖1-2中的【內容設置】選項,進入圖1-3所示界面:

,

—高級軟件人才實作培訓專家

!

圖1-3查看cookie

(5)點擊圖1-3中的【所有Cookie 和網站數據…】按鈕,進入圖1-4

所示界面:

圖1-4查看cookie

(6)點擊圖1-4所示的【cookie1】按鈕,進入圖1-5所示界面:

,

—高級軟件人才實作培訓專家

!

圖1-5cookie 信息

由圖1-5可知,名字為cookie1的cookie 的過期時間為瀏覽會話結束時,即表示瀏覽器關閉,cookie 被刪除。

(7)關閉瀏覽器,再次打開瀏覽器,查看cookie1是否還存在,如圖1-6

所示:

圖1-6cookie 信息

由圖1-6所示,瀏覽器中已經不存在名為cookie1的cookie 。

(8)對例1-1中的代碼進行修改,如例1-2所示:

例1-2cookieSet.jsp

保存cookie

<

Cookie cookie1=newCookie("cookie1","aaa");

cookie1.setMaxAge(60*60)

,

—高級軟件人才實作培訓專家! response.addCookie(cookie1);

>

例1-2中,將cookie1的生存時間設置為1小時。

(9)在瀏覽器端再次訪問cookieSet.jsp

頁面,查看瀏覽器中cookie1的保存時間,如圖1-7所示:

圖1-7cookie 信息

由圖1-7可知,cookie1的保存時間是10:08:12,過期時間是:11:08:12,其生存時間正好是1個小時。cookie1在瀏覽器端的存活時間是1小時,瀏覽器關閉后再打開,cookie1仍然存在,現在我們通過代碼來將cookie1從瀏覽器端刪除。

(10)在Example19應用的WebRoot 目錄下,新建一個jsp 文件,名稱為cookieGet.jsp ,主要代碼如例1-3所示:

例1-3cookieGet.jsp

刪除cookie

<

Cookie cookie=newCookie("cookie1","aaa");

cookie.setMaxAge(0);

response.addCookie(cookie);

>

例1-3中,再次新建一個名字為cookie1的cookie ,并且設置其過期時間為0,表示瀏覽器立即刪除當前及之前保存的名字為cookie1的cookie 。

(11)重新啟動服務器,在瀏覽器端地址欄上輸入:http://localhost:8080/Example19/cookieGet.jsp,然后查看瀏覽器端的cookie1是否還存在,如圖1-8所示:

,

—高級軟件人才實作培訓專家

!

圖1-8查看cookie

由圖1-8可知,瀏覽器端的cookie1已經不存在了,它原本的生存時間是1小時,經過cookieGet.jsp 頁面中代碼的設置,沒有到過期時間就被瀏覽器刪除了。

標簽: