Cookies in java Servlet

Posted in :

create Cookie

Cookie ck=new Cookie("user","usermax");
response.addCookie(ck);

delete Cookie

Cookie ck=new Cookie("user","");
ck.setMaxAge(0);
response.addCookie(ck);

設置將最長生存期:可以使用setMaxAge方法到指定多長時間(以秒為單位),在這時間內cookie應該是有效的。以下將成立一個24小時的cookie。

cookie.setMaxAge(60*60*24);

get Cookies

Cookie[] cookies = request.getCookies();

if (cookies != null) {
 for (Cookie cookie : cookies) {
   if (cookie.getName().equals("cookieName")) {
     //do something
     //value can be retrieved using #cookie.getValue()
    }
  }
}

or

for (Cookie cookie : cookies) {
    if (cookie.getName().equals("<NAME>")) {
        // do something here
    } 
    if (cookie.getName().equals("<ANOTHER_NAME>")) {
        // do something here
    } 
    // and so on...
}

or

// ...
Map<String, Cookie> cookieMap = new HashMap<>();
for (Cookie cookie : cookies) {
    cookieMap.put(cookie.getName(), cookie);
}

Cookie firstRequiredCookie = cookieMap.get("<NAME>");
// do something with firstRequiredCookie 
Cookie nextRequiredCookie = cookieMap.get("<ANOTHER_NAME>");
// do something with nextRequiredCookie 
// ...

Servlet Cookies 方法:
以下是有用的方法列表時,可以使用servlet操縱cookies。

S.N. Method & Description
1 public void setDomain(String pattern)
這個方法設置域的cookie適用,例如www.max-everyday.com
2 public String getDomain()
此方法獲取域的cookie應用,例如max-everyday.com
3 public void setMaxAge(int expiry)
此方法設置cookie過期之前多少時間(以秒為單位)間隔。
4 public int getMaxAge()
此方法返回的最大年齡(周期)cookie,以秒為單位指定,預設是-1表示cookie將永不刪。
5 public String getName()
此方法返回的cookie的名稱。創建後的名稱不能改變。
6 public void setValue(String newValue)
此方法設置的cookie值。
7 public String getValue()
這種方法得到的cookie關聯的值。
8 public void setPath(String uri)
這個方法設定這個cookie的路徑。
9 public String getPath()
這種方法得到這個cookie的路徑。
10 public void setSecure(boolean flag)
加密(如SSL)連接。
11 public void setComment(String purpose)
本方法規定了注釋,說明一個cookie的目的。
12 public String getComment()
此方法返回的注釋。

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *