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;
     }
     
     
}

猜你喜欢

转载自blog.csdn.net/zy103118/article/details/80076233