Explication détaillée des cookies en Java
Le fonctionnement des cookies par Java est relativement simple. Il présente principalement la question de l'établissement de cookies et de la lecture des cookies, ainsi que de la façon de définir le cycle de vie des cookies et le chemin des cookies.
Créez un cookie sans vie, c'est-à-dire un cookie qui disparaît à la fermeture du navigateur. Le code est le suivant
HttpServletRequest Demande httpServletResponse ResponseCookie cookie = new cookie ("Cookiename", "Cookievalue"); réponse.addcookie (cookie);Créer un biscuit du cycle de vie ci-dessous, qui peut définir son cycle de vie
Cookie = nouveau cookie ("Cookiename", "Cookievalue"); cookie.setMaxage (3600); // Définit le chemin, ce chemin, c'est-à-dire que le cookie est accessible dans le cadre du projet. Si le chemin n'est pas défini, seul le chemin du cookie et son sous-chemin sont accessibles en définissant le chemiie Path.SetPath ("/"); réponse.addcookie (cookie);Ce qui suit décrit comment lire les cookies. Le code des cookies est le suivant
Cookie [] cookies = request.getCookies (); // De cette façon, vous pouvez obtenir une gamme de cookies pour (cookie cookie: cookies) {cookie.getName (); // Obtenez le nom de cookie cookie.getValue (); // obtenir la valeur des cookies}Ce qui précède est le fonctionnement de base des cookies de lecture et d'écriture. En réalité, il est préférable d'encapsuler, comme l'ajout d'un cookie. Nous nous concentrons sur le nom, la valeur et le cycle de vie du cookie. Par conséquent, encapsulant une fonction, bien sûr, vous devez également passer dans un objet de réponse. Le code addcookie () est le suivant
/ ** * Définir Cookie * @param Response * @param Nom Cookie Nom * @param Valeur Value Cookie * @param Maxage Cookie Life Cycle en secondes * / public static void addcookie (httpsservletResponse Response, nom de chaîne, valeur de la chaîne, int maxage) {Cookie Cookie = nouveau cookie (nom, valeur); cookie.setpath ("/"); if (maxage> 0) cookie.setMaxage (maxage); réponse.addcookie (cookie);}Lors de la lecture des cookies, afin de faciliter nos opérations, nous voulons encapsuler une fonction. Tant que nous fournissons le nom du cookie, nous pouvons obtenir la valeur du cookie. Avec cette idée, il est facile de résumer le cookie dans la carte, nous encapsulons donc ce qui suit
/ ** * Obtenez le cookie par nom * @param demande * @param name cookie nom * @return * / public static cookie getcookiebyName (httpsservletRequest, nom de chaîne) {map <string, cookie> CookieMap = readcookiemap (request); if (CookieMap.ContainsKey (nom)) {Cookie Cookie = (Cookie) CookieMap.get (nom); retourner cookie; } else {return null; }} / ** * encapsulent les cookies dans la carte * @param demande * @return * / carte statique privée <chaîne, 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); }} retourner cookiemap;}Merci d'avoir lu, j'espère que cela peut vous aider. Merci pour votre soutien à ce site!