Maison >Java >javaDidacticiel >Explication détaillée et exemples simples de cookies en Java
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 !