Buscar
Social
Ofertas laborales ES

Foro sobre Java EE > Problema ManagedBean en SessionScoped

El problema que tengo es el siguiente, tengo un aplicacion con un bean en SessionScoped, el cual utilizo a lo largo de la aplicacion. Pero cuando pasa un largo tiempo, en el cual el bean caduca, con la ventana del navegador abierta, cuando hago click en un boton que tiene que ejecutar un metodo de ese bean, mi pagina tira un error, diciendo que el bean es nulo (y es por que ya caduco) pero lo que quiero es capturar ese error y redireccionar a alguna lado diciendo que el usuario tiene que loguearse de nuevo.
Alguna sugerencia?

diciembre 26, 2011 | Registered Commenterpemr2002

Puedes implementar un PhaseListener con la lógica requerida, que reaccione a los eventos en PhaseId.RESTORE_VIEW.

Saludos,

diciembre 26, 2011 | Registered Commenterantoniovl

Yo no me manejo con los Listener como ha dicho el compañero ya que estoy empezando, sin embargo, una posible solución sería al principio de cada página poner un "if" que compruebe si la session != null y si se cumple redireccionarlo a la página que quieras.

Así que te aseguras que si algún usuario sin loguear intenta acceder a una página que no debe que no pueda verla.

Salu2!!!

diciembre 27, 2011 | Unregistered CommenterCarmaZone

Saaaludos.

Les comento que el icefaces hace eso por defecto. Si el usuario tiene abierta la web por un largo tiempo sin hacer nada y este tiempo sobrepasa un parametro establecido la session caduca y si el usuario hace clic en algo le sale un mensaje "user session expired".

Este mensaje también es personalizable.

http://www.adictosaltrabajo.com/tutoriales/icefaces_desconexion.php

diciembre 27, 2011 | Registered Commenterjrichard