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

Comprobar session en jsp

Estas en el tema de Comprobar session en jsp en el foro de Java en Foros del Web. Como se puede hacer, para que al abrir un jsp siempre comprueba que hay session y si no lo envie fuera o a index.html. Yo ...
  #1 (permalink)  
Antiguo 02/04/2009, 09:14
 
Fecha de Ingreso: octubre-2008
Ubicación: Madrid
Mensajes: 352
Antigüedad: 15 años, 6 meses
Puntos: 5
Comprobar session en jsp

Como se puede hacer, para que al abrir un jsp siempre comprueba que hay session y si no lo envie fuera o a index.html.

Yo entro en mi aplicación meto usuario y contraseña.
Si es valido entro en paso.jsp y partir de ahí navego.

pero me gustaría que cada vez que se abrá una jsp nueva compruebe de alguna manera que hay sessión.
  #2 (permalink)  
Antiguo 02/04/2009, 10:04
Avatar de elAntonie  
Fecha de Ingreso: febrero-2007
Mensajes: 894
Antigüedad: 17 años, 2 meses
Puntos: 10
Respuesta: Comprobar session en jsp

Wenas

Haciendo una jsp o una jspf que averigue si ese atributo de sesion es valido e incluyendolo en todas tus jsps con el tag <@include.

Saludos.
  #3 (permalink)  
Antiguo 02/04/2009, 10:22
 
Fecha de Ingreso: octubre-2008
Ubicación: Madrid
Mensajes: 352
Antigüedad: 15 años, 6 meses
Puntos: 5
Respuesta: Comprobar session en jsp

Y me puedes decir como seria ese jsp...
  #4 (permalink)  
Antiguo 03/04/2009, 02:29
Avatar de elAntonie  
Fecha de Ingreso: febrero-2007
Mensajes: 894
Antigüedad: 17 años, 2 meses
Puntos: 10
Respuesta: Comprobar session en jsp

Lo unico que tiene que hacer esa jsp es obtener un atributo de sesion, por ejemplo el login y mirar su valor, si es null, el pajaro que se ha conectado ha perdido la sesion.

Con un simple javascript, le mandas a la pantalla de login, o le sacas un alert, o ....

if (milogin == null)
{
%>
<script>
alert("atomarporculo");
</script>

<%
}
%>


No son mas de 5 lineas de codigo.

Que es lo que no entiendes??
  #5 (permalink)  
Antiguo 12/04/2009, 10:46
 
Fecha de Ingreso: octubre-2008
Ubicación: Madrid
Mensajes: 352
Antigüedad: 15 años, 6 meses
Puntos: 5
Respuesta: Comprobar session en jsp

He puesto el include como dices.

<jsp:include page="jspaux/comprobarlogin.jsp"></jsp:include>

que contiene:

<%
String nombre=(String)session.getAttribute("nombre");
if(nombre==null)
{
request.getRequestDispatcher("index.html");
}
%>

Pero no hace ni caso cuando el nombre es null....entra dentro del if pero no redirige a index.html.
  #6 (permalink)  
Antiguo 13/04/2009, 05:24
Avatar de elAntonie  
Fecha de Ingreso: febrero-2007
Mensajes: 894
Antigüedad: 17 años, 2 meses
Puntos: 10
Respuesta: Comprobar session en jsp

Se supone que index.html esta en el mismo sitio que tu jsp??, es decir, dentro de jspaux. porque si no es asi, no me extraña que no te funcione.


De todos modos, por que no usas response.sendRedirect??
  #7 (permalink)  
Antiguo 14/04/2009, 07:16
 
Fecha de Ingreso: octubre-2008
Ubicación: Madrid
Mensajes: 352
Antigüedad: 15 años, 6 meses
Puntos: 5
Respuesta: Comprobar session en jsp

Justo era eso...

con "response" me va bien...

Gracias...
  #8 (permalink)  
Antiguo 14/04/2009, 10:26
 
Fecha de Ingreso: marzo-2009
Mensajes: 11
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: Comprobar session en jsp

yo estoy haciendo algo parecido. sin embargo, despues de deslogearme (y haber hecho session.invalidate() ), redirecciono a index, donde pide usuario y contraseña. pero si ahi le doy a atras, me vuelve a la pagina correctamente, aunque el atributo deberia ser null. he estado mirando y creo q esto es porque se guarda la pagina en cache, pero es q no encuentro solucion. he probado con:

<meta http-equiv="Expires" CONTENT="0">
<meta http-equiv="Cache-Control" CONTENT="no-cache">
<meta http-equiv="Pragma" CONTENT="no-cache">


pero sigue yendo "atras" correctamente.

alguien sabe solucionar esto? estoy desesperado!!!!

muchas gracias
  #9 (permalink)  
Antiguo 14/04/2009, 13:10
 
Fecha de Ingreso: abril-2009
Mensajes: 66
Antigüedad: 15 años
Puntos: 0
Respuesta: Comprobar session en jsp

Cita:
Iniciado por neheb Ver Mensaje
yo estoy haciendo algo parecido. sin embargo, despues de deslogearme (y haber hecho session.invalidate() ), redirecciono a index, donde pide usuario y contraseña. pero si ahi le doy a atras, me vuelve a la pagina correctamente, aunque el atributo deberia ser null. he estado mirando y creo q esto es porque se guarda la pagina en cache, pero es q no encuentro solucion. he probado con:

<meta http-equiv="Expires" CONTENT="0">
<meta http-equiv="Cache-Control" CONTENT="no-cache">
<meta http-equiv="Pragma" CONTENT="no-cache">


pero sigue yendo "atras" correctamente.

alguien sabe solucionar esto? estoy desesperado!!!!

muchas gracias
Yo encontré este apaño, pero no me termina de convencer mucho

Código:
<script>
    if (history.forward(1)){
        location.replace(history.forward(1))
    }
</script>
  #10 (permalink)  
Antiguo 15/04/2009, 06:40
Avatar de elAntonie  
Fecha de Ingreso: febrero-2007
Mensajes: 894
Antigüedad: 17 años, 2 meses
Puntos: 10
Respuesta: Comprobar session en jsp

Cita:
Iniciado por neheb Ver Mensaje
yo estoy haciendo algo parecido. sin embargo, despues de deslogearme (y haber hecho session.invalidate() ), redirecciono a index, donde pide usuario y contraseña. pero si ahi le doy a atras, me vuelve a la pagina correctamente, aunque el atributo deberia ser null. he estado mirando y creo q esto es porque se guarda la pagina en cache, pero es q no encuentro solucion. he probado con:

<meta http-equiv="Expires" CONTENT="0">
<meta http-equiv="Cache-Control" CONTENT="no-cache">
<meta http-equiv="Pragma" CONTENT="no-cache">


pero sigue yendo "atras" correctamente.

alguien sabe solucionar esto? estoy desesperado!!!!

muchas gracias
Cuando le das atras al boton del navegador, estas volviendo atras, NO se carga otra vez la pagina. De todos modos la sesion esta invalidada, no podra operar y volvera al login.

Y eso, creo que, no esta en la cache (que tiene tambien su telita) sino en el historial del navegador local.

Contra eso no podras hacer nada. Por otro lado, Leunamal, que es lo que pretendes hacer con ese script??

Saludos.
  #11 (permalink)  
Antiguo 16/04/2009, 08:46
 
Fecha de Ingreso: abril-2009
Mensajes: 66
Antigüedad: 15 años
Puntos: 0
Respuesta: Comprobar session en jsp

Cita:
Iniciado por elAntonie Ver Mensaje
Cuando le das atras al boton del navegador, estas volviendo atras, NO se carga otra vez la pagina. De todos modos la sesion esta invalidada, no podra operar y volvera al login.

Y eso, creo que, no esta en la cache (que tiene tambien su telita) sino en el historial del navegador local.

Contra eso no podras hacer nada. Por otro lado, Leunamal, que es lo que pretendes hacer con ese script??

Saludos.
Hola, con ese script lo que ocurre es que al cerrar sesión, si le das al botón atras y refrescas la página se cierra la sesión de esa página y si le das al botón atras del navegador se queda en la misma página. Lo ideal es que fuese que al pulsar al botón atras se refrescase automaticamente la página pero no sé como es.

Saludos
  #12 (permalink)  
Antiguo 20/04/2009, 01:52
Avatar de elAntonie  
Fecha de Ingreso: febrero-2007
Mensajes: 894
Antigüedad: 17 años, 2 meses
Puntos: 10
Respuesta: Comprobar session en jsp

Tu lo has dicho, si refrescas la pagina.

Lo ideal en tu caso seria como tu dices, pero es eso lo ideal en todos los casos del mundo mundial, ademas del tuyo??

Por logica, el boton atras, significa volver atras.

Saludos.
  #13 (permalink)  
Antiguo 20/04/2009, 01:57
 
Fecha de Ingreso: abril-2009
Mensajes: 66
Antigüedad: 15 años
Puntos: 0
Respuesta: Comprobar session en jsp

Cita:
Iniciado por elAntonie Ver Mensaje
Tu lo has dicho, si refrescas la pagina.

Lo ideal en tu caso seria como tu dices, pero es eso lo ideal en todos los casos del mundo mundial, ademas del tuyo??

Por logica, el boton atras, significa volver atras.

Saludos.
Hola, espero que estes de broma porque si no en fin... Parece que no piensas las cosas. Cuando se cierra la sesión y se pulsa al botón atras del navegador, ¿qué ocurre en la mayoría de las páginas? ¿Puedes ver la misma ventana con la sesión abierta? En fin... No sé de que vas.

Saludos
  #14 (permalink)  
Antiguo 20/04/2009, 02:54
 
Fecha de Ingreso: abril-2009
Mensajes: 66
Antigüedad: 15 años
Puntos: 0
Respuesta: Comprobar session en jsp

Bueno, ya he encontrado la solución al problema. Os cuento lo que he hecho por si le sirve a alguien.

He añadadido las siguientes lineas :

Código:
response.setHeader("Cache-Control","no-cache");
response.setHeader("Cache-Control","no-store");
response.setDateHeader("Expires", 0);
Los metatags los he dejado por si acaso:

Código:
        <META HTTP-EQUIV="Expires" CONTENT="-1">
        <META HTTP-EQUIV="Pragma" CONTENT="no-cache">
        <META HTTP-EQUIV="Cache-Control" CONTENT="no-cache">
Funciona todo perfectamente. Ahora mismo si cierro la sesión y pulso el botón atrás del navegador me aparece la página anterior con la sesión cerrada. Al final he quitado el script que limitaba las páginas a visitar desde botón atrás del navegador ya que se abrirán con la sesión cerrada.

Saludos
  #15 (permalink)  
Antiguo 20/04/2009, 03:53
Avatar de elAntonie  
Fecha de Ingreso: febrero-2007
Mensajes: 894
Antigüedad: 17 años, 2 meses
Puntos: 10
Respuesta: Comprobar session en jsp

Ahora el que no te entiendo soy yo.

Tu dices:

Cita:
Iniciado por Leunamal Ver Mensaje
Lo ideal es que fuese que al pulsar al botón atras se refrescase automaticamente la página pero no sé como es.
Y yo te he dicho que en tu caso, efectivamente, seria lo ideal pero no tiene por que ser asi en la mayoria de los casos. No solo cuando hay sesiones de por medio.

No se a que viene el resto, pero en fin.

Saludos.

http://support.microsoft.com/kb/222064/
  #16 (permalink)  
Antiguo 20/04/2009, 04:04
 
Fecha de Ingreso: abril-2009
Mensajes: 66
Antigüedad: 15 años
Puntos: 0
Respuesta: Comprobar session en jsp

Ya está solucionado todo, paso de discutir tontamente.
  #17 (permalink)  
Antiguo 20/04/2009, 04:13
Avatar de elAntonie  
Fecha de Ingreso: febrero-2007
Mensajes: 894
Antigüedad: 17 años, 2 meses
Puntos: 10
Respuesta: Comprobar session en jsp

Muy bien.

Saludos.
  #18 (permalink)  
Antiguo 20/04/2009, 08:07
 
Fecha de Ingreso: marzo-2009
Mensajes: 11
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: Comprobar session en jsp

Muchas gracias por el codigo Leunamal!!! Es justo lo que queria!! Funciona perfectamente! Me has salvado la vida!!
  #19 (permalink)  
Antiguo 20/04/2009, 09:03
 
Fecha de Ingreso: abril-2009
Mensajes: 66
Antigüedad: 15 años
Puntos: 0
Respuesta: Comprobar session en jsp

Cita:
Iniciado por neheb Ver Mensaje
Muchas gracias por el codigo Leunamal!!! Es justo lo que queria!! Funciona perfectamente! Me has salvado la vida!!
De nada :) A mi tambien me ha servido para mi proyecto. Llevaba varios dias buscando la manera de hacerlo correctamente.

Saludos
  #20 (permalink)  
Antiguo 22/04/2010, 16:01
Avatar de Solrac_JC  
Fecha de Ingreso: mayo-2009
Mensajes: 15
Antigüedad: 15 años
Puntos: 0
Respuesta: Comprobar session en jsp

me sirvio gracias :D
  #21 (permalink)  
Antiguo 12/11/2010, 21:36
 
Fecha de Ingreso: noviembre-2010
Mensajes: 1
Antigüedad: 13 años, 5 meses
Puntos: 0
Respuesta: Comprobar session en jsp

Cita:
Iniciado por Leunamal Ver Mensaje
Bueno, ya he encontrado la solución al problema. Os cuento lo que he hecho por si le sirve a alguien.

He añadadido las siguientes lineas :

Código:
response.setHeader("Cache-Control","no-cache");
response.setHeader("Cache-Control","no-store");
response.setDateHeader("Expires", 0);
Los metatags los he dejado por si acaso:

Código:
        <META HTTP-EQUIV="Expires" CONTENT="-1">
        <META HTTP-EQUIV="Pragma" CONTENT="no-cache">
        <META HTTP-EQUIV="Cache-Control" CONTENT="no-cache">
Funciona todo perfectamente. Ahora mismo si cierro la sesión y pulso el botón atrás del navegador me aparece la página anterior con la sesión cerrada. Al final he quitado el script que limitaba las páginas a visitar desde botón atrás del navegador ya que se abrirán con la sesión cerrada.

Saludos
olle que pena la parecer está muy bien tu respuesta pero todavía tengo la duda de donde pones las nuevas lineas las del response? es que no veo donde ponerlas, en un servlet o en cerrarSession.jsp o donde?
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

SíEste tema le ha gustado a 2 personas




La zona horaria es GMT -6. Ahora son las 22:43.