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!!
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!!
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