Como pegar o status do HttpServletResponse

7 respostas
java
J

Alguém sabe como faço pra pegar o status do response do HttpServletResponse ?

7 Respostas

D

Tenta isso:

int status = ((HttpServletResponse) response).getStatus();

J

Já tentei, erro:

The method getStatus() is undefined for the type HttpServletResponse

D

Posta seu código para eu ver.

A

Você usa servlet 3? caso contrario precisa fazer um wrapper.

J
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;
}
}
D

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

J

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

Criado 20 de junho de 2016
Ultima resposta 20 de jun. de 2016
Respostas 7
Participantes 3