Alguém sabe como faço pra pegar o status do response do HttpServletResponse
?
Tenta isso:
int status = ((HttpServletResponse) response).getStatus();
Já tentei, erro:
The method getStatus() is undefined for the type HttpServletResponse
Posta seu código para eu ver.
Você usa servlet 3? caso contrario precisa fazer um wrapper.
public class AudFilter implements Filter {
@Override
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
throws IOException, ServletException {
final HttpServletRequest req = (HttpServletRequest) request;
final HttpServletResponse resp = (HttpServletResponse) response;
if (isAuthenticated(req)) {
AudTrilha trilha = new AudTrilha();
trilha.setStatus("setar o status aqui");
}
chain.doFilter(req, resp);
}
private boolean isAuthenticated(final ServletRequest request) {
final HttpServletRequest req = (HttpServletRequest) request;
if (req.getSession().getAttribute(USUARIO_KEY) == null)
return false;
return true;
}
}
você vai ter que usar Wrapper como o aix disse.
se fosse no servlet, bastava fazer aquilo que disse anteriormente, mas como está usando filtro, vai que que criar um HttpServletResponseWrapper
Obrigado pela ajuda pessoal, eu alterei a versão do Servlet para 3.0 e consegui usar o int status = ((HttpServletResponse) response).getStatus();
Deu tudo certo.
Abraço