Maison >Java >javaDidacticiel >Explication détaillée et exemples simples de cookies en Java

Explication détaillée et exemples simples de cookies en Java

高洛峰
高洛峰original
2017-01-18 14:35:341355parcourir

Explication détaillée des cookies en Java

Le fonctionnement des cookies en Java est relativement simple. Il présente principalement la création et la lecture des cookies, ainsi que la manière de définir le cycle de vie des cookies et le chemin des cookies.

Créer un cookie sans cycle de vie, c'est-à-dire un cookie qui disparaît à la fermeture du navigateur. Le code est le suivant

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

Ce qui suit crée. un cookie avec un cycle de vie Cookie, vous pouvez définir son cycle de vie

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

Ce qui suit décrit comment lire les cookies, le code pour lire les cookies est le suivant

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

Ce qui précède est l'opération de base de lecture et d'écriture des cookies. En pratique, nous ferions mieux de l'encapsuler, par exemple en ajoutant un cookie. Nous nous concentrons sur le nom, la valeur et le cycle de vie du cookie, nous encapsulons donc une fonction et bien sûr transmettons un objet de réponse. est la suivante

/**
 *
 设置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);
}

Lors de la lecture des cookies, afin de faciliter notre fonctionnement, nous espérons encapsuler une fonction à condition de fournir le nom de. le cookie, on peut obtenir la valeur du cookie, avec cette idée, il est facile de penser à encapsuler les cookies dans une Map, donc l'encapsulation suivante est effectuée

/**
 *
 根据名字获取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;
}

Merci d'avoir lu, j'espère que cela pourra aider tout le monde, merci pour votre soutien à ce site !

Pour des explications plus détaillées et des exemples simples de cookies en Java, veuillez faire attention au site Web PHP chinois !


Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn