Saludos!!! he cambiado en el servlet que inicia la sesion los metodos put por setAtribute, y además muestro que los datos se han guardado correctamente.
El problema es que cuando accedo con otro servlet hago getAtribute y me dice que toddos los atributos estan a null. El codigo, es muy parecido al de antes
Servlet inicio sesion
Código:
try {
HttpSession sesion = request.getSession(true);//creamos una sesion, si ya la tiene creada la mantiene
sesion.setAttribute("logueado", true);
sesion.setAttribute("nombre", nombre);
sesion.setMaxInactiveInterval(360); //Una hora sin cambios cierra la sesion
System.out.println("Logueado: "+sesion.getAttribute("logueado")+" Nombre: "+sesion.getAttribute("nombre"));
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
out.println("Error en la creacion de la sesion");
}
Servlet que confirma sesión
Código:
try {
HttpSession sesion=request.getSession(true);
Boolean logueado=(Boolean) sesion.getAttribute("logueado");
String user=(String) sesion.getAttribute("nombre");
System.out.println("logueado: "+logueado+" nombre:"+user);
if((logueado==null) || (user==null)){
System.out.println("Error, en la sesion");
if(Controlador.DesactivarUsuario(nombre)){
System.out.println("Error en la Sesion. se han guardado los datos de usuario para evitar errores.");
}
out.print("desconectar");
return;
}
} catch (Exception e) {
// TODO Auto-generated catch block
System.out.println("error, la sesion no existe");
e.printStackTrace();
try {
HttpSession sesion=request.getSession(true);
Boolean logueado=(Boolean) sesion.getAttribute("logueado");
String user=(String) sesion.getAttribute("nombre");
System.out.println("logueado: "+logueado+" nombre:"+user);
if((logueado==null) || (user==null)){
System.out.println("Error, en la sesion");
if(Controlador.DesactivarUsuario(nombre)){
System.out.println("Error en la Sesion. se han guardado los datos de usuario para evitar errores.");
}
out.print("desconectar");
return;
}
} catch (Exception e) {
// TODO Auto-generated catch block
System.out.println("error, la sesion no existe");
e.printStackTrace();
}
¿aguien sabe de donde puede venir el error?? perdonar mis errores pero es la primera vez que trabajo con sesiones