Problema del estado del usuario de seguimiento de cookies
paquete com;
importar java.io.IOException;
importar java.io.PrintWriter;
importar javax.servlet. ServletException;
importar javax.servlet.http.Cookie;
importar javax.servlet.http.HttpServlet;
importar javax.servlet.http.HttpServletRequest;
importar javax.servlet.http.HttpServletResponse;
clase pública CookieVisitorServlet extiende HttpServlet {
@Override
protected void doGet(HttpServletRequest solicitud,
respuesta HttpServletResponse) lanza ServletException, IOException {
doPost(solicitud, respuesta);
}
@Override p>
protected void doPost(solicitud HttpServletRequest,
respuesta HttpServletResponse) lanza ServletException, IOException {
respuesta.setContentType("text/html; charset=gbk");
//Contador
int count = 1;
Cookie[] cookies = request.getCookies();
//Primero para en cada visita, el objeto cookies es nulo
//Aquí está el caso de visitas múltiples
if(cookies != null) {
for(Cookie cookie : cookies) {
if(cookie.getName().equals("count")) {
count = Integer.parseInt(cookie.getValue()) + 1;
p>}
}
}
//Para la primera visita, genera una cookie y devuelve el recuento al cliente
Cookie cookie = null;
if(count == 1) {
cookie = new Cookie("count", "1");
} else {
cookie = new Cookie("count", count + "");
}
//Cargar información de cookies en el encabezado de respuesta
respuesta.addCookie(cookie);
//Salida del mensaje
PrintWriter out = respuesta.getWriter()
;
out.println("");
out.println("
out.println("
out.println("
Estás accediendo a este servlet durante el tiempo " + count + "
h1>");
if(count == 10) {
out.println("
Gracias por apoyarnos. Este es tu Décima visita...
");}
out.println("
salida. println("");
salida.flush();
salida.close();
}
}