1 ¿Qué es una galleta?
El navegador y el servidor web se comunican utilizando el protocolo HTTP. Cuando un usuario emite una solicitud de página, el servidor web simplemente responde y luego cierra la conexión con el usuario. Por lo tanto, cuando se envía una solicitud a un servidor web, independientemente de si es la primera visita, el servidor lo tratará como la primera vez. Esto es algo malo que se puede imaginar. Para compensar este defecto, Netscape ha desarrollado una cookie, una herramienta efectiva para guardar la información de identificación de cierto usuario, por lo que las personas lo apodaron "galletas dulces". Cookies es un medio por el cual los servidores web almacenan información sobre el disco duro de los visitantes a través de un navegador: Netscape Navigator usa un archivo local llamado Cookies.txt para guardar la información de cookies recibida de todos los sitios; mientras que el navegador IE guarda información de cookies en un directorio similar a C:/Windows/Cookies. Cuando el usuario vuelva a visitar un sitio, el servidor le pedirá al navegador que busque y devuelva la información de cookies enviada anteriormente para identificar al usuario.
2 cuatro atributos de cookies
¡Max-Age especifica la vida útil del Ccookie (en segundos)! Por defecto, el valor de la cookie solo existe durante la sesión del navegador, ¡y estos valores desaparecen cuando el usuario sale del navegador!
Ruta especifica la página web asociada con la cookie. Por defecto, la cookie está asociada con la página web que la crea, así como en la página web en el mismo directorio que la página web y los subdirectorios en el directorio.
Configuración del dominio El dominio de acceso, por ejemplo: el servidor ubicado en orden.example.com debe leer el conjunto de cookies establecido por catalog.example.com. Aquí debe presentar el atributo de dominio. Suponiendo que la cookie creada por la página ubicada en catalog.example.com establece su atributo de ruta a "/" y el atributo de dominio a ".example.com", luego todas las páginas web ubicadas en "catalog.example.com" y todas las páginas web ubicadas en "órdenes.example.com" y todas las páginas web ubicadas en "Orders.example.com" y todos los demás servidores en Ejemplo. Si no se establece el valor de dominio de la cookie, el valor predeterminado de este atributo es el nombre de host del servidor donde se crea la página web donde se crea la cookie. Nota: El dominio de una cookie no se puede establecer en un dominio fuera del dominio donde reside el servidor.
Seure especifica cómo se transmite el valor de una cookie en la red
3 Operación de galletas Java
Crea una galleta
// Nuevo objeto de cookie, el par de valores clave es el parámetro cookie cookie = nueva cookie ("clave", "valor de cookie"); Si el valor de la cookie contiene chino, la cookie debe codificarse, de lo contrario se producirá código confuso. Use urlencoder.enDode ("Valor de cookie", "UTF-8"); // Establezca el tiempo de supervivencia máximo de la cookie, en segundos, si el número negativo es el proceso del navegador, cierre la cookie del navegador desaparece. // Un día // Agregue la cookie a la respuesta para que la respuesta al respecto. Addcookie (Cookie); // Después del addcookie, si la galleta con el mismo nombre ya existe, la última sobrescribe la vieja cookieNota: en Struts, puede usar servletactionContext.getResponse () para obtener el objeto Repone
Leer galletas
Leer cookies solo puede obtener todas las cookies de la solicitud y luego iterar en un bucle.
En Struts, puede usar servletactionContext.getRequest () para obtener el objeto de solicitud
// Obtenga la cookie de la solicitud, y obtendrá una variedad de cookies cookies [] cookies = request.getcookies (); // luego iterar if (cookies! = Null && cookies.length> 0) {// Si no ha establecido una cookie, devolverá nulo para (cookie cookie: cookies) {...}} Eliminar cookies
Si elimina una cookie, solo necesita establecer la vida útil de la cookie en 0.
Cookie [] cookies = request.getcookies (); if (cookies! = null && cookies.length> 0) {for (cookie cookie: cookies) {string name = cookie.getName (); // Encuentre la cookie que debe eliminarse si (name.compareto ("Target-Key") == 0) {// Establezca la vida útil en 0 Cookie.SetMaxage (0); // se retrocede a la respuesta.addcookie (cookie); }}}Se utiliza el método SetPath de 4 cookies:
Las cookies normales solo se pueden compartir en una aplicación, es decir, una cookie solo se puede obtener por la aplicación que la creó.
1. El método se puede compartir dentro del mismo servidor de aplicaciones: set cookie.setPath ("/");
Hay dos aplicaciones en el nativo Tomcat/WebApp: WebApp_A y WebApp_B.
1) Resulta que el conjunto de cookies en WebApp_A no se puede obtener en WebApp_B. La ruta es la ruta de la aplicación que genera la cookie de forma predeterminada.
2) Si establece una cookie en WebApp_a, agregue una cookie.setPath ("/"); o cookie.setPath ("/webapp_b/");
Puede obtener las cookies establecidas por CAS en WebApp_B.
3) Los parámetros aquí son relativos al directorio raíz de la carpeta de aplicación almacenada por el servidor de aplicaciones (como la aplicación web en Tomcat), por lo que Cookie.SetPath ("/"); Después de eso, la cookie se puede compartir en todas las aplicaciones en la carpeta WebApp y Cookie.SetPath ("/webApp_b/");
Significa que las cookies establecidas por la aplicación CAS solo se pueden obtener en la aplicación WebApp_B, e incluso la aplicación WebApp_A que genera esta cookie no se puede utilizar.
4) Al configurar Cookie.SetPath ("/WebApp_B/JSP") o Cookie.SetPath ("/WebApp_B/JSP/"), Cookie solo se puede obtener en WebApp_B/JSP, pero las cookies no se pueden obtener fuera de la carpeta JSP.
5) establecer cookie.setPath ("/webapp_b"); significa que las cookies solo se pueden usar en WebApp_B, de modo que las cookies no se pueden obtener en WebApp_a que genera cookies.
6) cuando hay múltiples cookies.setPath ("xxx"); declaraciones, la última prevalecerá.
5 Cookie.SetDomain Method Design Compartir dominios cruzados
El dominio donde se encuentra la máquina A: home.langchao.com, A tiene aplicación webapp_a
El dominio donde se encuentra la máquina B: JSZX.com, B tiene la aplicación WebApp_B
1) Al configurar cookies en WebApp_a, agregue Cookie.SetDomain (". JSZX.com"); para que pueda obtener cookies en WebApp_B.
2) Al ingresar URL para acceder a WebApp_B, debe ingresar el nombre de dominio para resolver. Por ejemplo, al ingresar: http://lc-bsp.jszx.com:8080/webapp_b en la máquina A, puede obtener las cookies establecidas por WebApp_a en el cliente, mientras se ingresa: http: // localhost: 8080/webapp_b, no puede obtener la cookie.
3) cookie.setDomain (". Jszx.com"); También se puede compartir en el hogar predeterminado.langchao.com
El cliché anterior habla sobre el uso de cookies en Java es todo el contenido que comparto con ustedes. Espero que pueda darle una referencia y espero que pueda apoyar más a Wulin.com.