Red de conocimiento informático - Conocimiento del nombre de dominio - Cómo utilizar cookies en Java

Cómo utilizar cookies en Java

1. El origen y función de la cookie

La cookie es un archivo de texto guardado por el servidor WEB en el disco duro del cliente WWW a través del navegador. Este archivo de texto contiene información de texto.

El contenido de la información de texto se almacena en forma de pares "nombre/valor" (clave/valor).

Los desarrolladores WEB pueden leer y escribir este archivo de texto a través de programas.

El directorio donde se guardan las cookies en XP es "C://Documentos

y Configuración\Nombre de Usuario\Cookies"

La función de las cookies

Resolver la comunicación sin estado entre los usuarios del navegador y los servidores web.

2Programación de Cookies

//Crear objeto

Fecha

fecha = nueva Fecha();

Cookie

c = new Cookie("lastVisited", date.toString();

//Establece el tiempo de validez

En segundos

c.setMaxAge(60)

//Establecer ruta de cookie y nombre de dominio

c.setPath("/")

c.setDomain( " .zl.org")

; //El nombre de dominio debe comenzar con "."

//Enviar archivo cookie

response.addCookie(c)

//Leer Cookie

Cookie

cookies[] = request.getCookies()

Cookie

c1 = nulo;

if(cookies

!= nulo){

for(int

i=0; i

c1

= cookies[i];

out.println("cookie

nombre: " c1.getName() " "

out.println("cookie

valor: " c1.getValue() "

"); /p>

}

//Modificar Cookie

Cookie

cookies[] = request.getCookies();

Galleta

c = nula

for(int

i=0; i

c

= cookies[i];

if(c.getName().equals("lastVisited")){

c.setValue("2010-04-3-28")

c.setMaxAge(60*60*12)

response.addCookie(c)

//Actualización al navegador después de la modificación

p >

}

}

//Eliminar cookie (establezca el tiempo de validez de la cookie en 0)

Cookie

cookies [] = request.getCookies();

Cookie

c = null;

for(int

i=0 ;i

c

= cookies[i] ;

if(c.getName().equals("última visita")){

c.setMaxAge(0);

response.addCookie(c)

}

}

4. Notas sobre el uso de cookies<. /p>

·El tamaño y número de cookies son limitados.

·La información de texto guardada por Cookie en el disco duro personal se guarda en formato de texto plano sin ninguna medida de cifrado.

·Los usuarios del navegador pueden configurar el no uso de cookies.

5. Ejemplo: Programación de cookies en Servlet

página cookieInput.html

SetCookie.java

GetCookie.java

Los parámetros en la página cookieInput.html se envían a SetCookie.java, que se guarda en la cookie del navegador. En SerCookie.java, está vinculado a GetCookie.java para leer la cookie recién guardada.

SetCookie.java

público

void doPost(solicitud HttpServletRequest, respuesta HttpServletResponse)

lanzamientos

ServletException, IOException {

response.setContentType("text/html;charset=utf-8");

PrintWriter

out = respuesta.getWriter();

Cadena

nombre de usuario = request.getParameter("nombre de usuario");

//Guardar cookie

if(nombre de usuario

!=""){

Cookie

c1 = nueva Cookie("nombre de usuario", nombre de usuario);

SimpleDateFormat

sdf = new SimpleDateFormat("aaaa-MM-dd");

Cookie

c2 = new Cookie("última visita", sdf. formato(nuevo java.util.Date()));

c1.setMaxAge(60*60*60*12*30)

c2.setMaxAge(60*60*60 *12*30)

response.addCookie(c1)

response.addCookie(c2)

out.println("¡Cookie guardada correctamente!");

out.println("

")

out.println("Leer cookie"

}else{< /); p>

response.sendRedirect("../cookieInput.html")

}

out.flush();

out.close ( );

}

GetCookie.java:

público

void doPost(solicitud HttpServletRequest, respuesta HttpServletResponse)

lanza

ServletException, IOException {

response.setContentType("text/html;charset=utf-8");

PrintWriter

salida = respuesta.getWriter();

salida.println("

");

salida.println("");

p>

out.println("

");

out.println("

");

/ /Leer Cookie

Cookie

cookies[]

= request.getCookies();

Cookie

c = nulo

if(cookies

!= nulo){

for(int

i=0; i

c

= cookies[i];

if( c.getName().equals("nombre de usuario")){

out.println("Nombre de usuario:

" c.getValue());

out.println("

");

}

if(c.getName().equals("última visita")){

out.println("Última hora de inicio de sesión:

" c.getValue());

}

}

}else{

out.println("¡Sin

cookie!");

}

out.println( "

");

out.println("

");

out.flush();

out.close();

}