Java Web Cookies使用與共享

2021-08-09 11:11:36 字數 1797 閱讀 7441

cookie 是儲存在客戶端瀏覽器下的少量文字型資料,隨著頁面響應由伺服器傳送到客戶端並儲存下來的。cookie 物件的型別是 cookie。

當瀏覽器再次向該**傳送請求時,客戶端會將 cookie 中與之相關的資訊連同請求資訊一起傳送,因此在伺服器可以再次讀取到 cookie 的值。

cookie 是隨著響應由服務端傳送到客戶端瀏覽器儲存的,通過 response 物件的 addcookie(cookie cookie) 方法來實現

cookie c = new cookie("user", username);    //建立 cookie 儲存使用者名稱

c.setmaxage(300); //300 秒後 cookie 過期

response.addcookie(c); //向響應新增 cookie,傳送到客戶端

方 法 說 明

void setmaxage(int expiry)      設定 cookie 的有效期,以秒為單位,預設值為值為-1 ,表示儲存到瀏覽器關閉

string getmaxage() 獲取 cookie 的有效時間,以秒為單位

void setvalue(string value) 在 cookie 建立後,對 cookie 進行賦值

string getname() 獲取 cookie 的名稱

string getvalue() 獲取 cookie 的值

cookie.setdomain("/localhost"); 設定作用網域名稱

客戶端儲存的 cookie 會隨著請求傳送回相應的伺服器域,使用 request.getcookies() 返回 cookie 陣列

正常的 cookie 只能在乙個應用中共享,即只能由建立它的應用獲得

(1) 同一應用伺服器內共享

1)  cookie.setpath("/"): 於ac 下面設定cookie :

2) cookie.setpath("/b/"): 於ac 下面設定 cookie :

此時應用設定的 cookie 只能在b 應用下的獲得,ac也不可以。

3) cookie.setpath("/b/jsp"):於ac設定

只有在b/jsp 下面可以獲得 cookie

(2) 跨域共享 cookie 的方法

1)  設定 cookie.setdomain(".b.com"); 

a 機所在的域:home.ac.com,a 有應用 ac

b 機所在的域:b.com,b 有應用b

這樣在ac、b 下面都可以取到 cookie

注:輸入 url 訪問b 的時候,必須輸入網域名稱才能解析。比如說在 a 機輸入: 可以獲取 ac 在客戶端設定的 cookie,而 b 機訪問本機:http://localhost:8080/b 則不可以獲得 cookie。

VMware License Server使用經驗

近期在測試vmware server,在使用vmware license server的時候碰到一些問題,經過兩天的實驗,問題得以解決,現記錄如下,以供朋友們參考。1 複製license檔案 在安裝vmware virtualcenter的時候,會一同安裝license server伺服器。如果你在...

Django Rest framework使用例項

一 修改配置檔案 setting.py django.contrib.admin django.contrib.auth django.contrib.contenttypes django.contrib.sessions django.contrib.messages django.contri...

Android AlarmManager 使用指南

intent intent new intent intent.setaction updatemgr.check update action 如果你的flag 是flag one shot,那麼你就只能受到一次廣播。如果使用setrepeat,你設定的intervalmills 少於60s,那麼就...