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

Dúvida no exercício 3.

Olá, Quando clico para fazer o logout, o usuário é deslogado corretamente vendo pelas informações no console do servidor, mas no momento de ser redirecionado para logout.html ocorre o erro:

Request Method:POST Status Code:404 Not Found

Coloquei a página logout.html dentro do WEB-INF/paginas corretamente.

@Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        req.getSession().removeAttribute("usuario.logado");
        RequestDispatcher dispatcher = req.getRequestDispatcher("/WEB-INF/paginas/logout.html");
        dispatcher.forward(req, resp);
    }
8 respostas

Oi Jonathas, o erro não mente, alguma coisa está fora do lugar. O doPost realmente está sendo invocado? Onde está a pasta WEB-INF?

A pasta WEB-INF está na mesma estrutura do projeto original. O doPost está sendo invocado, pois no console do Eclipse mostra o acesso ao /logout e o usuário é deslogado. A questão é que ele não localiza o logout.html

Então Jonathas, se ele não localiza, é pq o caminho passado não existe. Uma coisa que pode estar acontecendo que é que sua página html não foi publicada no tomcat. Você pode fazer um teste removendo e adicionando o projeto ou dando um clean nele.

Já realizei os procedimentos acima, ainda assim continua com status 404.

Bom, se puder post o link do seu projeto no github, posso dar uma olhada. Apenas com as informações que vc passou aqui, não vejo nada de errado...

Segue link: https://github.com/Jhoucgarcia/alura

solução!

Você escreveu assim => /WebContent/WEB-INF/paginas/logout.html . Não precisa colocar a pasta WebContent, ela é o seu root folder. O servidor já sabe que é para procurar a partir dela.

Ah, sim. Obrigado.