HELP! Session - como identificar quando ela se expirar

1 resposta
M

Olá!!!

Tenho uma session que se expirra em 30 minutos,

mas quando ela expirrar quero que apareça uma mensagem e volte para a tela de login!!!

alguem sabe como identificar quando a sessão expirar???

muito obrigado!!

1 Resposta

miguel.horlle

Tem que ver qual é o seu servido de aplicação.

O que você pode fazer é um filtro que verifica o estado da sessao redirecionando para uma pagina especifica quando necessario.

O filtro você cria com uma entrada no arquivo web.xml:

<filter>
		<filter-name>ExceptionHandlerFilter</filter-name>
		<filter-class>br.com.meupacote.ExceptionHandlerFilter</filter-class>
	</filter>

        <filter-mapping>
		<filter-name>ExceptionHandlerFilter</filter-name>
		<url-pattern>/action/*</url-pattern>
	</filter-mapping>

Classe exemplo de filtro:

public class ExceptionHandlerFilter implements Filter {

    public void doFilter(ServletRequest request,
            ServletResponse response,
            FilterChain chain)
    throws IOException {
      HttpServletRequest httpRequest = (HttpServletRequest) request;
      HttpServletResponse httpResponse = (HttpServletResponse) response;
      HttpSession session = httpRequest.getSession(false);
      try {
            if (!httpRequest.isRequestedSessionIdValid()) {

                 this.redirect(httpRequest, httpResponse,
                    "action.da.pagina.de.expiracao");

            } else {
                 chain.doFilter(request, response);
            }
            
        } catch (Exception e) {
		
			
            httpResponse.sendRedirect(httpRequest.getContextPath()
                    + "url.do.jsp.de.erro.jsp");
        }
    //demais metodos da interface filter podem ficar vazios
}

Acho que é isso, qualquer dúvida é só falar.

Sorte

Criado 30 de maio de 2008
Ultima resposta 30 de mai. de 2008
Respostas 1
Participantes 2