Explicación detallada de las cookies en Java
La operación de cookies de Java es relativamente simple. Principalmente introduce el problema de establecer cookies y leer cookies, así como cómo establecer el ciclo de vida de las cookies y el camino de las cookies.
Cree una galleta sin vida, es decir, una galleta que desaparece cuando se cierra el navegador. El código es el siguiente
HttpservletRequest solicitud httpServletResponse ResponseCookie Cookie = new Cookie ("Cookiename", "Cookievalue"); Respuesta.addcookie (Cookie);Cree una cookie de ciclo de vida a continuación, que puede establecer su ciclo de vida
cookie = nueva cookie ("Cookiename", "Cookievalue"); Cookie.SetMaxage (3600); // Establecer la ruta, esta ruta, es decir, se puede acceder a la cookie en el proyecto. Si la ruta no está configurada, solo se puede acceder a la ruta de las cookies y su subpath configurando la ruta de cookie.setPath ("/"); Response.addcookie (cookie);Lo siguiente describe cómo leer cookies. El código de cookie es el siguiente
Cookie [] cookies = request.getcookies (); // de esta manera puede obtener una matriz de cookies para (cookie cookie: cookies) {cookie.getName (); // Obtenga el nombre de cookie Cookie.getValue (); // Obtenga el valor de cookie}Lo anterior es la operación básica de leer y escribir cookies. En realidad, es mejor encapsular, como agregar una galleta. Nos centramos en el nombre, el valor y el ciclo de vida de la cookie. Por lo tanto, encapsulando una función, por supuesto, también debe pasar en un objeto de respuesta. El código addcookie () es el siguiente
/** * Establecer cookie * @param Respuesta * @param Nombre de la cookie Nombre * @param Valor de cookie Valor * @param maxage ciclo de vida de cookie en segundos */public static void addcookie (httpservletResponse respuesta, nombre de cadena, valor de cadena, int maxage) {cookie cookie = nueva cookie (nombre, valor); Cookie.SetPath ("/"); if (maxage> 0) cookie.setMaxage (maxage); respuesta.addcookie (cookie);}Al leer cookies, para facilitar nuestras operaciones, queremos encapsular una función. Mientras proporcionemos el nombre de la cookie, podemos obtener el valor de la cookie. Con esta idea, es fácil encapsular la cookie en el mapa, por lo que encapsulamos lo siguiente
/** * Obtenga cookie por nombre * @param request * @param nombre de cookie Nombre * @return */public static cookie getCookiByName (httpservletRequest solicitud, nombre de cadena) {map <string, cookie> cookiEmap = readcookiEmap (solicitud); if (cookiEmap.containskey (nombre)) {cookie cookie = (cookie) CookiEmap.get (nombre); Cookie de regreso; } else {return null; }} /** * Encapsula cookies en el mapa * @param solicitud * @return * /private static map <string, cookie> readcookiEmap (httpservletrequest request) {map <string, cookie> cookiEmap = new Hashmap <String, Cookie> (); Cookie [] cookies = request.getcookies (); if (null! = cookies) {para (cookie cookie: cookies) {cookiEmap.put (cookie.getName (), cookie); }} return CookiEmap;}Gracias por leer, espero que pueda ayudarte. ¡Gracias por su apoyo para este sitio!