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

高洛峰
Libérer: 2017-01-18 14:35:34
original
1357 Les gens l'ont consulté

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);
Copier après la connexion

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);
Copier après la connexion

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
}
Copier après la connexion

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);
}
Copier après la connexion

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;
}
Copier après la connexion

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 !


Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal