boa tarde amigos, gostaria de saber uma coisa se possível. em um projeto web com jsf
eu pensava que o jsf só usava o recurso de expirar pagina que tivessem usando
beans com escopo @ViewScoped, mais percebi que as minhas paginas que usam bean com @RequestScoped tambem estão expirando depois de um tempo, fazendo o projeto redirecionar para pagina de login, mesmo quando ficam abertar por muito tempo paginas que usam bean de @RequestScoped. isso é normal ou tem como fazer o a pagina jsf não expirar e nao redirecionar para a pagina de view login expiration do filtro. quando se esta usando na pagina beans @RequestScoped.
<!--web.xml-->
<!--usado para redirecionamento no webxml ViewExpiredException login funcionar -->
<application>
<el-resolver>
org.primefaces.application.exceptionhandler.PrimeExceptionHandlerELResolver
</el-resolver>
</application>
<!--usado para redirecionamento no webxml ViewExpiredException login funcionar -->
<factory>
<exception-handler-factory>
org.primefaces.application.exceptionhandler.PrimeExceptionHandlerFactory
</exception-handler-factory>
</factory>
As paginas mesmo com bean @RequestScoped estão expirando
fazendo o projeto abrir a pagina login através do filtro abaixo.
isso é normal mesmo nas paginas com bean @RequestScoped ?
filtro
@Override
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
HttpSession sessao = ((HttpServletRequest) request).getSession();
//tenta capturar a sessao chamada user
String logado = (String)sessao.getAttribute("user");
//System.out.println("usuario: "+logado);
//verifica se a sessao existe
if(logado != null){
//System.out.println("usuario na sessao");
chain.doFilter(request, response);
}else{
//redireciona para pagina de login
((HttpServletResponse)response).sendRedirect("login.xhtml");
}
}