Home  >  Article  >  Java  >  Detailed explanation and simple examples of cookies in java

Detailed explanation and simple examples of cookies in java

高洛峰
高洛峰Original
2017-01-18 14:35:341253browse

Detailed explanation of cookies in java

Java's operation of cookies is relatively simple. It mainly introduces the establishment of cookies and reading cookies, as well as how to set the life cycle of cookies and the path of cookies.

Create a cookie without a life cycle, that is, a cookie that disappears when the browser is closed. The code is as follows

HttpServletRequest
 request
HttpServletResponse
 response
Cookie
 cookie = new Cookie("cookiename","cookievalue");
response.addCookie(cookie);

The following creates a cookie with a life cycle, You can set its life cycle

cookie
 = new Cookie("cookiename","cookievalue");
  
cookie.setMaxAge(3600);
  
//设置路径,这个路径即该工程下都可以访问该cookie
 如果不设置路径,那么只有设置该cookie路径及其子路径可以访问
  
cookie.setPath("/");
response.addCookie(cookie);

The following describes how to read cookies. The code for reading cookies is as follows

Cookie[]
 cookies = request.getCookies();//这样便可以获取一个cookie数组
for(Cookie
 cookie : cookies){
  cookie.getName();//
 get the cookie name
  cookie.getValue();
//
 get the cookie value
}

The above is the basic reading and writing Cookie operations. In practice, we'd better encapsulate it, such as adding a cookie. We focus on the name, value, and life cycle of the cookie, so we encapsulate a function and of course pass in a response object. The addCookie() code is as follows

/**
 *
 设置cookie
 *
 @param response
 *
 @param name cookie名字
 *
 @param value cookie值
 *
 @param maxAge cookie生命周期 以秒为单位
 */
public static void addCookie(HttpServletResponse
 response,String name,String value,int maxAge){
  Cookie
 cookie = new Cookie(name,value);
  cookie.setPath("/");
  if(maxAge>0)
 cookie.setMaxAge(maxAge);
  response.addCookie(cookie);
}

When reading cookies, in order to facilitate our operation, we hope to encapsulate a function. As long as we provide the name of the cookie, we can obtain the value of the cookie. With this idea, it is easy to think of encapsulating cookies into a Map, so we perform the following encapsulation

/**
 *
 根据名字获取cookie
 *
 @param request
 *
 @param name cookie名字
 *
 @return
 */
public static Cookie
 getCookieByName(HttpServletRequest request,String name){
  Map<String,Cookie>
 cookieMap = ReadCookieMap(request);
  if(cookieMap.containsKey(name)){
    Cookie
 cookie = (Cookie)cookieMap.get(name);
    return cookie;
  }else{
    return null;
  }
}
  
  
  
/**
 *
 将cookie封装到Map里面
 *
 @param request
 *
 @return
 */
private static Map<String,Cookie>
 ReadCookieMap(HttpServletRequest request){
  Map<String,Cookie>
 cookieMap = new HashMap<String,Cookie>();
  Cookie[]
 cookies = request.getCookies();
  if(null!=cookies){
    for(Cookie
 cookie : cookies){
      cookieMap.put(cookie.getName(),
 cookie);
    }
  }
  return cookieMap;
}

Thank you for reading, I hope it can help everyone, thank you everyone Support this site!

For more detailed explanations and simple examples of cookies in Java, please pay attention to the PHP Chinese website!


Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn