Java Cookie工具類,Java CookieUtils 工具類,Java如何增加Cookie


Java Cookie工具類,Java CookieUtils 工具類,Java如何增加Cookie

 

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

©Copyright 蕃薯耀 2017年7月15日

http://www.cnblogs.com/fanshuyao/

 

import java.io.IOException;
import java.util.HashMap;
import java.util.Map;

import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class CookieUtils {
	
	public static final int COOKIE_MAX_AGE = 7 * 24 * 3600;
	public static final int COOKIE_HALF_HOUR = 30 * 60;
	  
    /** 
     * 根據Cookie名稱得到Cookie對象,不存在該對象則返回Null 
     *  
     * @param request 
     * @param name 
     * @return 
     */  
    public static Cookie getCookie(HttpServletRequest request, String name) {  
        Cookie[] cookies = request.getCookies();  
        if (StrUtils.isEmptyArray(cookies)) {  
            return null;  
        }  
        Cookie cookie = null;  
        for (Cookie c : cookies) {
            if (name.equals(c.getName())) {  
                cookie = c;  
                break;  
            }  
        }  
        return cookie;  
    }
    
    /** 
     * 根據Cookie名稱直接得到Cookie值
     *  
     * @param request 
     * @param name 
     * @return 
     */  
    public static String getCookieValue(HttpServletRequest request, String name) {  
        Cookie cookie = getCookie(request, name);  
        if(cookie != null){
        	return cookie.getValue();
        }
        return null;  
    }
    
    /**
     * 移除cookie
     * @param request
     * @param response
     * @param name 這個是名稱,不是值
     */
    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,可以指定過期時間(單位:秒) 
     *  
     * @param response 
     * @param name 
     * @param value 
     * @param maxValue 
     */  
    public static void setCookie(HttpServletResponse response, String name,  
            String value, int maxValue) {  
        if (StrUtils.isBlank(name)) {  
            return;  
        }  
        if (null == value) {  
            value = "";  
        }  
        Cookie cookie = new Cookie(name, value);  
        cookie.setPath("/");  
        if (maxValue != 0) {  
            cookie.setMaxAge(maxValue);  
        } else {  
            cookie.setMaxAge(COOKIE_HALF_HOUR);  
        }  
        response.addCookie(cookie);
        try {
			response.flushBuffer();
		} catch (IOException e) {
			e.printStackTrace();
		}
    } 
    
    /** 
     * 添加一條新的Cookie,默認30分鍾過期時間
     *  
     * @param response 
     * @param name 
     * @param value 
     */  
    public static void setCookie(HttpServletResponse response, String name,  
            String value) {  
        setCookie(response, name, value, COOKIE_HALF_HOUR);  
    }  
 
	/**
	 * 將cookie封裝到Map里面
	 * @param request
	 * @return
	 */
	public static Map<String,Cookie> getCookieMap(HttpServletRequest request){  
	    Map<String,Cookie> cookieMap = new HashMap<String,Cookie>();
	    Cookie[] cookies = request.getCookies();
	    if(!StrUtils.isEmptyArray(cookies)){
	        for(Cookie cookie : cookies){
	            cookieMap.put(cookie.getName(), cookie);
	        }
	    }
	    return cookieMap;
	}
	
	
}

  

 

(如果你覺得文章對你有幫助,歡迎捐贈,^_^,謝謝!) 

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

©Copyright 蕃薯耀 2017年7月15日

http://www.cnblogs.com/fanshuyao/


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM