Cookie是存儲在客戶機的文本文件,它們保存了大量軌跡信息。
通常有3個步驟來識別回頭客
服務器腳本發送一系列cookie至瀏覽器。比如名字,年齡,ID號碼 瀏覽器在本地機中存儲這些信息,以備不時之需
當下一次瀏覽器發送任何請求至服務器時候,它會同時將這些cookie信息發送給服務器,
然后服務器使用這些信息來識別用戶或者干些其他事情。
Servlet Cookie方法
Cookie對象中常用的幾個方法 public void setDomain(String pattern) 設置cookie的域名
public String getDomain() 獲取cookie的域名
public void setMaxAge(int expiry) 設置cookie有效期,以秒為單位,默認有效期為當前session的存活時間
public int getMaxAge() 獲取cookie有效期,默認為-1,表明cookie會活到瀏覽器關閉為止
public String getName() 返回cookie的名稱
public void setValue(String newValue)
public String getValue() 獲取cookie的值
public void setPath(String uri) 設置cookie的路徑,默認為當前頁面目錄下的所有URL,還有此目錄下的所有子目錄
public void getPath() 獲取cookie的路徑
public void setSecure(boolean flag) 指明cookie是否要加密傳輸
public void setComment(String purpose) 設置注釋描述cookie的目的。當瀏覽器將cookie展現給用戶時,注釋會變得非常有用
public String getComment() 返回描述cookie目的的注釋,若沒有則返回null
使用jsp設置Cookie 使用JSP設置cookie包含三個步驟
1.創建一個Cookie對象 調用Cookie的構造函數,使用一個cookie名稱和值做參數,它們都是字符串 Cookie cookie = new Cookie(“key”,”value”); 請務必牢記,名稱和值中都不能包含空格或者如下的字符 =,” / ? @ : ;2.設置有效期:調用setMaxAge()函數表明cookie在多長時間(以秒為單位) 下面的操作將有效期設置為了24小時 cookie.setMaxAge(60*60*24)3.將cookie發送至HTTP響應頭中:調用response.addCookie()函數來向HTTP響應頭添加
response.addCookie(cookie)
刪除cookie
Cookie[] cookies = request().getCookies(); for (Cookie coo : cookies) { if ("LOGINNAME".equals(coo.getName())) { String loginName1 = coo.getValue(); if (!loginName1.equals(loginName)) { for (Cookie coo1 : cookies) { coo1.setMaxAge(0); //清空cookie response().addCookie(coo1); break; } } } }如果不匹配就刪除這個cookie
setMaxAge方法設置cookie經過多長秒后被刪除。如果參數是0,就說明立即刪除。如果是負數就表明當瀏覽器關閉時自動刪除。如果沒有設定cookie的age可以用getMaxAge方法來查看cookie的默認存活時間。
新聞熱點
疑難解答