java中cookie操作詳細

WOSHI太陽發表於2021-01-26

1.設定Cookie

 程式碼如下  
Cookie cookie = new Cookie("key", "value");

  cookie.setMaxAge(60);
 

  設定60秒生存期,如果設定為負值的話,則為 瀏覽器程式Cookie( 記憶體中儲存),關閉瀏覽器就失效。

 程式碼如下

  cookie.setPath("/test/test2");
 

  設定Cookie路徑,不設定的話為當前路徑(對於Servlet來說為request.getContextPath() + web.xml裡配置的該Servlet的url-pattern路徑部分) 。

 程式碼如下  
response.addCookie(cookie);
 

  2.讀取Cookie

  該方法可以讀取當前路徑以及“直接父路徑”的所有Cookie物件,如果沒有任何Cookie的話,則返回null。

 

 程式碼如下

 Cookie[] cookies = request.getCookies(); 

  3.刪除Cookie

 程式碼如下  
Cookie cookie = new Cookie("key", null);

  cookie.setMaxAge(0);
 

  設定為0為立即刪除該Cookie;

 程式碼如下  
cookie.setPath("/test/test2");
 

  刪除指定路徑上的Cookie,不設定該路徑,預設為刪除當前路徑Cookie;

  

 程式碼如下 response.addCookie(cookie); 

下面用一個完整的例項來說明

 

 程式碼如下  
<%@ page contentType="text/html; charset=utf-8" language="java" import="java.sql.*" errorPage="" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "
<html xmlns="
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title>
</head>

<body>
<%
    String username = null;
    Cookie[] cookies = request.getCookies();
    if(cookies!=null)
    {
        for(int i=0;i<cookies.length;i++)
        {
            if("cookies_user".equals(cookies[i].getName()))
            {
                username = cookies[i].getValue();//cookies_user}
        }
        
        if("onepc".equals(username))
        {
            out.println("Hello");
        }else
        {
        %>
        
<table width="302" border="1">


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69994010/viewspace-2753476/,如需轉載,請註明出處,否則將追究法律責任。

相關文章