servlet处理cookie

Cookie的主要属性,及其方法列于下:

类型       方法名                             方法解释
String      getComment()                返回cookie中注释,如果没有注释的话将返回空值.
String      getDomain()                   返回cookie中Cookie适用的域名. 使用getDomain() 方法可以指示浏览器把Cookie返回给同 一域内的其他服务器,而通常Cookie只返回给与发送它的服务器名字完全相同的服务器。注意域名必须以点开始(例如.yesky.com) 
int      getMaxAge()                      返回Cookie过期之前的最大时间,以秒计算。 
String       getName()                     返回Cookie的名字。名字和值是我们始终关心的两个部分,笔者会在后面详细介绍 getName/setName。 
String       getPath()                       返回Cookie适用的路径。如果不指定路径,Cookie将返回给当前页面所在目录及其子目录下 的所有页面。
boolean    getSecure()                  如果浏览器通过安全协议发送cookies将返回true值,如果浏览器使用标准协议则返回false值。
String    getValue()                      返回Cookie的值。笔者也将在后面详细介绍getValue/setValue。 
int       getVersion()                       返回Cookie所遵从的协议版本。 
void     setComment(String purpose)     设置cookie中注释。
void     setDomain(String pattern)     设置cookie中Cookie适用的域名
void     setMaxAge(int expiry)        以秒计算,设置Cookie过期时间。如果设置为负值的话,则为浏览器进程Cookie(内存中保存),关闭浏览器就失效。设为0则销毁cookies
void     setPath(String uri)         指定Cookie适用的路径。 
void     setSecure(boolean flag)     指出浏览器使用的安全协议,例如HTTPS或SSL。 
void     setValue(String newValue)     cookie创建后设置一个新的值。

void     setVersion(int v)         设置Cookie所遵从的协议版本。

 

1. 设置Cookie

Cookie cookie = new Cookie("id","id");   
cookie.setMaxAge(15*24*60*60);   
cookie.setPath("/");   
response.addCookie(cookie);   
                       
Cookie cookie2 = new Cookie("pass","pass");   
cookie2.setMaxAge(15*24*60*60);   
cookie2.setPath("/");   
response.addCookie(cookie2);  

Cookie cookie = new Cookie("id","id");
cookie.setMaxAge(15*24*60*60);
cookie.setPath("/");
response.addCookie(cookie);
     
Cookie cookie2 = new Cookie("pass","pass");
cookie2.setMaxAge(15*24*60*60);
cookie2.setPath("/");
response.addCookie(cookie2); 

 

2. 读取Cookie

 

Cookie cookies[] = request.getCookies();   
String id = "";   
String pass = "";   
if (cookies != null)   
{   
    for (int i = 0; i < cookies.length; i++)   
    {   
        if (cookies[i].getName().equals("id"))   
            id = cookies[i].getValue();   
        else if (cookies[i].getName().equals("pass"))   
            pass = cookies[i].getValue();   
    }   
} 

Cookie cookies[] = request.getCookies();
String id = "";
String pass = "";
if (cookies != null)
{
 for (int i = 0; i < cookies.length; i++)
 {
  if (cookies[i].getName().equals("id"))
   id = cookies[i].getValue();
  else if (cookies[i].getName().equals("pass"))
   pass = cookies[i].getValue();
 }
} 

    Cookie cookies[]=request.getCookies() 我们用request.getCookies()读出用户硬盘上的Cookie,并将所有的Cookie放到一个cookie对象数组里面。
    接下来我们用一个循环语句遍历刚才建立的Cookie对象数组,我们用cookies[i]取出数组中的一个Cookie对象,然后我们用cookies[i].getValue()和cookies[i].getName()两个方法来取得这个Cookie的名字和内容。

 

3. 销毁cookies

 

Cookie cookies[] = request.getCookies();   
if (cookies != null)   
{   
    for (int i = 0; i < cookies.length; i++)   
    {                      
        cookies[i].setMaxAge(0);   
        cookies[i].setPath("/");   
        response.addCookie(cookies[i]);   
    }   
}

 

 

转载于:https://www.cnblogs.com/NicholasLee/archive/2012/07/08/2581589.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值