Foros del Web » Programación para mayores de 30 ;) » Java »

Duplicación de sesion en Servlet

Estas en el tema de Duplicación de sesion en Servlet en el foro de Java en Foros del Web. Soy nueva en esto. El problema que tengo es que se me están duplicando las sesiones y luego no puedo acceder a ellas porque el ...
  #1 (permalink)  
Antiguo 23/04/2010, 14:53
 
Fecha de Ingreso: abril-2010
Mensajes: 1
Antigüedad: 14 años
Puntos: 0
Duplicación de sesion en Servlet

Soy nueva en esto. El problema que tengo es que se me están duplicando las sesiones y luego no puedo acceder a ellas porque el parametro siempre se encuentra en null..

Al principio de mi código le pongo:

HttpSession sesion=request.getSession(true);

No se a que se deba, ya he buscado bastante y no he encontrado soluciones.

Muchas Gracias
  #2 (permalink)  
Antiguo 05/05/2010, 16:45
 
Fecha de Ingreso: marzo-2010
Mensajes: 62
Antigüedad: 14 años
Puntos: 0
Respuesta: Duplicación de sesion en Servlet

Hola :
ps tal vez y no me deberia meter por que igual soy nuevo pero a quien no le gusta un poco de ayuda.
Bueno el punto es segun yo cuando pones el true en request.getSession(true); lo que haces es decirle que obtenga la sesion y no hay una que la cree, y al estar poniendo esto en el principio ps no te va a servir, por que solo la creas en esa pagina yo te sugiero que lo hagas mandando un parametro algo asi:

//esto lo pones en el principio de tu pagina suponiendo que sea un jsp
<%
HttpSession sesionOk = request.getSession(); // creas tu sesion

sesionOk.setAttribute("aqui va el nombre como lo quieres mandar", aqui va el valor a mandar ya sea fijo o una variable);

sesionOk.setAttribute("usuario", "daysy"); // aqui mandas el atributo a la siguiente pagina para que si pinchas un enlace se conserve la sesion
%>

Luego en tu otra pagina pones algo asi:

<%
String usuario = "";
HttpSession sesionOk = request.getSession(); // obtienes la sesion
if (sesionOk.getAttribute("usuario") == null) { //checas que el parametro no sea null
%>
<jsp:forward page="index.jsp"> // si es null lo redireccionas a la pagina de error
<jsp:param name="error" value="Es obligatorio identificarse"/>
</jsp:forward>
<%
} else {
usuario = (String)sesionOk.getAttribute("usuario"); // sino es null solo tomas el usuario y si lo necesitas ps lo vuelves a mandar a la siguiente pagina como arriba con el setAttribute
}

espero y te sirva.

Saluditos.
  #3 (permalink)  
Antiguo 10/05/2010, 05:07
 
Fecha de Ingreso: febrero-2010
Mensajes: 128
Antigüedad: 14 años, 2 meses
Puntos: 3
Respuesta: Duplicación de sesion en Servlet

La respuesta de cosmel esta bien en todo, debería servirte con eso.

añadir que en un jsp no es necesario que crees el objeto sesión, ya que es intrinseco a todas las páginas JSP.

es decir, puedes hacer:

String nombre = session.getAttribute("nombre_del_atributo")

sin tener que importar el objeto HttpSession, esto no pasa en los Servlet.

Un saludo.

Etiquetas: duplicacion, servlet, sesiones
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:41.