您的位置:首页 > 编程语言 > Java开发

操作 Cookie 的Java工具类

2014-08-30 22:52 513 查看
/**
* cn.itcast.bbs.util.CookieUtil
* 2014-5-26
* Cookie操作工具类
* gyy
*/ 
package cn.itcast.bbs.util; 

 
import javax.servlet.http.Cookie; 

import javax.servlet.http.HttpServletRequest; 

import javax.servlet.http.HttpServletResponse;

 
public class CookieUtil { 

 
    private static
final int COOKIE_MAX_AGE =
7 * 24 *
3600; 
 
    public static
void removeCookie(HttpServletRequest request,

            HttpServletResponse response, String name) { 
        if (null == name) { 

            return; 
        } 
        Cookie cookie = getCookie(request, name); 
        if(null != cookie){ 

            cookie.setPath("/"); 

            cookie.setValue(""); 

            cookie.setMaxAge(0); 

            response.addCookie(cookie); 
        } 
    } 
 
    /**
     * 根据Cookie名称得到Cookie对象,不存在该对象则返回Null

     *
     * @param request
     * @param name
     * @return
     */ 
    public static Cookie getCookie(HttpServletRequest request, String name) { 

        Cookie[] cookies = request.getCookies(); 
        if (null == cookies ||
null == name || name.length() ==
0) { 
            return
null; 
        } 
        Cookie cookie = null; 

        for (Cookie c : cookies) { 

            if (name.equals(c.getName())) { 

                cookie = c; 
                break; 

            } 
        } 
        return cookie; 
    } 
 
    /**
     * 添加一条新的Cookie,默认7天过期时间(单位:秒)

     *
     * @param response
     * @param name
     * @param value
     */ 
    public static
void setCookie(HttpServletResponse response, String name, 

            String value) { 
        setCookie(response, name, value, COOKIE_MAX_AGE); 
    } 
 
    /**
     * 添加一条新的Cookie,可以指定过期时间(单位:秒)

     *
     * @param response
     * @param name
     * @param value
     * @param maxValue

     */ 
    public static
void setCookie(HttpServletResponse response, String name, 

            String value, int maxValue) { 

        if (null == name) { 

            return; 
        } 
        if (null == value) { 

            value = ""; 

        } 
        Cookie cookie = new Cookie(name, value); 

        cookie.setPath("/"); 

        if (maxValue !=
0) { 
            cookie.setMaxAge(maxValue); 
        } else { 

            cookie.setMaxAge(COOKIE_MAX_AGE); 
        } 
        response.addCookie(cookie); 
    } 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: