Java, las cookies generalmente se eliminan cuando se cierra el navegador, entonces, ¿cómo guarda la información histórica del usuario?
Específicamente, el mecanismo de cookies adopta un esquema para mantener el estado en el lado del cliente, mientras que el mecanismo de sesión adopta un esquema para mantener el estado en el lado del servidor.
Al mismo tiempo, también vemos que la solución de guardar el estado en el lado del servidor también necesita guardar un identificador en el lado del cliente, por lo que la sesión
Este mecanismo puede necesitar utilizar un mecanismo de cookies para guardar la identidad, pero en realidad hay otras opciones.
En segundo lugar, la diferencia entre cookies de sesión y cookies persistentes
Si no se establece el tiempo de caducidad, significa que el ciclo de vida de la cookie es durante la sesión del navegador. La cookie desaparece tan pronto como cierra la ventana del navegador. Las cookies que duran una sesión de navegación se denominan cookies de sesión. Las cookies de sesión normalmente no se almacenan en el disco duro sino en la memoria.
Si se establece un tiempo de caducidad, el navegador guardará las cookies en el disco duro, cerrará y volverá a abrir el navegador. Estas cookies seguirán siendo válidas hasta que se supere la fecha de caducidad.
Las cookies almacenadas en el disco duro se pueden compartir entre diferentes procesos del navegador, como por ejemplo dos ventanas de IE. Cada navegador tiene diferentes formas de manejar las cookies almacenadas en la memoria.
3. Cómo utilizar el inicio de sesión automático
Cuando los usuarios se registran en el sitio web, recibirán una cookie con una identificación de usuario única. Cuando el cliente se vuelva a conectar más tarde, esta ID de usuario se devolverá automáticamente y el servidor la verificará para determinar si es un usuario registrado y se selecciona el inicio de sesión automático, por lo que el usuario solo necesita proporcionar un nombre de usuario explícito y la contraseña le permite acceder a los recursos del servidor.
En cuarto lugar, cómo personalizar el sitio según los intereses y pasatiempos de los usuarios.
Los sitios web pueden utilizar cookies para registrar los deseos de los usuarios. Para configuraciones simples, el sitio web puede almacenar directamente la configuración de la página en cookies para completar la personalización. Para una personalización más compleja, el sitio web solo necesita enviar un identificador único al usuario y la base de datos del lado del servidor almacena la configuración de la página correspondiente a cada identificador.
Verbo (abreviatura de verbo) envía cookie
1. Crear objeto Cookie
2 Establecer el tiempo máximo de envejecimiento
3. Las cookies se colocan en los encabezados de respuesta HTTP.
Si crea una cookie y la envía a un navegador, es una cookie de nivel de sesión de forma predeterminada: se almacena en la memoria del navegador y se elimina cuando el usuario sale del navegador. Si desea que el navegador almacene la cookie en el disco, entonces
debe utilizar maxAge e indicar el tiempo en segundos. Establecer la edad máxima en 0 indica al navegador que elimine la cookie.
Para enviar una cookie, debe utilizar el método addCookie de HttpServletResponse para insertar la cookie en el encabezado de solicitud HTTP Set-Cookie. Debido a que este método no modifica ningún encabezado Set-Cookie especificado previamente, sino que crea un nuevo encabezado, llamamos a este método addCookie en lugar de setCookie. Recuerde también que los encabezados de respuesta deben configurarse antes de enviar cualquier contenido del documento al cliente.
6. Lectura de cookies
1. Llame a request.getCookie
Para obtener las cookies enviadas por el navegador, debe llamar al método getCookies de HttpServletRequest. que devuelve lo mismo Una matriz de objetos de cookie correspondientes al valor ingresado en el encabezado de la cookie en la solicitud HTTP.
2. Recorra la matriz y llame al método getName de cada cookie hasta encontrar la cookie de interés.
Las cookies están relacionadas con su host (dominio) y no tienen nada que ver con su servlet o página JSP. Entonces, aunque su servlet solo envíe una cookie, es posible que reciba muchas cookies irrelevantes.
Por ejemplo:
StringcookieName = " ID de usuario
cookiecookies[]= solicitud. obtener cookies();
if (¡cookies! = null){
for(inti = 0; I
cookiecookie = cookies[I];
if(cookiename . igual a(cookie . getname() ) {
doSomethingWith(cookie . getvalue());
}
}
}
Siete
A. Llame a HttpServletRequest.getCookies() para obtener la matriz de cookies
b. El nombre especificado existe y si el valor correspondiente es correcto.
c. Si es así, salga del bucle y establezca el indicador de distinción.
d. visitante y realizar diferentes operaciones
p>
Octavo, errores comunes al usar cookies para detectar visitantes nuevos
Simplemente porque la matriz de cookies no existe en un lugar específico. elemento de datos, el usuario no puede considerarse el primer visitante. Si la matriz de cookies está vacía, puede ser la primera vez que el cliente visita, o puede ser el resultado de que el usuario elimine o deshabilite las cookies. Pero si la matriz no está vacía, solo significa que el cliente ha visitado su sitio web o dominio, pero no significa que su servlet haya sido visitado. Otros servlets, páginas JSP y aplicaciones web que no son Java pueden configurar cookies. y cualquier cookie allí puede devolverse al navegador del usuario según la configuración de la ruta.
El enfoque correcto consiste en determinar si la matriz de cookies está vacía, si el objeto Cookie especificado existe y si el valor lo es. correcto