Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Porque o meu código gera o erro java.lang.NullPointerException quando limpo o cookie do navegador e tento reabrir a página? Estou utilizando um if para tratar o valor nulo.

@WebFilter(urlPatterns="/*") public class FiltroDeAuditoria implements Filter {

@Override public void destroy() {

}

@Override public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { HttpServletRequest req = (HttpServletRequest) request; String uri = req.getRequestURI();

Cookie[] cookies = req.getCookies(); String usuario = ""; if (cookies == null) { System.out.println(usuario); } for (Cookie cookie : cookies) { if (cookie.getName().equals("usuario.logado")) { usuario = cookie.getValue(); } }

System.out.println(usuario);

System.out.println("Usuário: " + usuario + " acessando a URI" + uri); chain.doFilter(request, response);

}

@Override public void init(FilterConfig arg0) throws ServletException {

}

}

2 respostas
solução!

Boa noite thiago, quando for colocar códigos nas perguntas, tente clicar em cima de onde vc escreve a pergunta "<> INSERIR CÓDIGO" e ai vc cola seu código entre os pontos que apareceram, assim fica mais fácil de visualizar.

Seu erro acredito que seja nessa linha:

Cookie[] cookies = req.getCookies();

Você está verificando se estão nulos depois de já ter tentado atribui-los, por isso está dando esse erro.

OK. Deu certo, muito obrigado .

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software