zoukankan      html  css  js  c++  java
  • 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/

  • 相关阅读:
    C++------------------>深浅拷贝的问题
    超越 EfficientNet与MobileNetV3,NeurIPS 2020 微软NAS方向最新研究
    数学之美
    mobilenetV2--->特点
    安装R语言扩展包vegan
    每日积累新知识
    安装生物信息学软件-R
    安装生物信息学软件-MetaPhlAn2
    概率统计&假设检验-1
    Population-based metagenomics analysis reveals markers for gut microbiome composition and diversity
  • 原文地址:https://www.cnblogs.com/fanshuyao/p/7181855.html
Copyright © 2011-2022 走看看