Ola pessoal… estou com um probleminha… tenho um filtro para verifica se o usuario esta ou nao logado no sistema mas ele esta me dando a seguinte excecao:
java.lang.IllegalStateException: Cannot forward after response has been committed
com.sun.faces.context.ExternalContextImpl.dispatch(ExternalContextImpl.java:322)
com.sun.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:130)
org.ajax4jsf.framework.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:101)
esse e meu codigo :
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain ) throws IOException, ServletException {
// TODO Auto-generated method stub
if (((HttpServletRequest)request).getSession().getAttribute("autenticado")==null) { //sessão não autenticada
((HttpServletResponse)response).sendRedirect("Login.jsf");
}
chain.doFilter(request,response);
}
valeu pela força
Olá,
Acho que o código certo seria:
[code] public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain ) throws IOException, ServletException {
// TODO Auto-generated method stub
if (((HttpServletRequest)request).getSession().getAttribute("autenticado")==null) { //sessão não autenticada
((HttpServletResponse)response).sendRedirect("Login.jsf");
} else {
chain.doFilter(request,response);
}
}
[/code]
Não tenho certeza que é isto, mas espero que isto te ajude
Abraços
Consegui… abaixo a solucao :
if (((HttpServletRequest)request).getSession().getAttribute("autenticado")==null) { //sessão não autenticada
((HttpServletResponse)response).sendRedirect("Login.jsf");
((HttpServletResponse)response).getWriter().flush();
((HttpServletResponse)response).getWriter().close();
return;
}
chain.doFilter(request,response);
}
valeu pela força