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

HTTP Status 404 – Não Encontrado

Fiz todos os passos conforme a aula, porém não consigo acessar utilizando urlPatterns. Já reconfigurei o tomcat, excluí e nada ainda. O que fazer nesses casos? Abaixo segue meu código:

package br.com.alura.gerenciador.servlet;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

@WebServlet(urlPatterns="/oi")
public class OiMundoServlet extends HttpServlet {

    private static final long serialVersionUID = 1L;

    @Override
    protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

         PrintWriter out = resp.getWriter();
         out.println("<html>");
         out.println("<body>");
         out.println("oi mundo, parabens vc escreveu o primeiro servlets.");
         out.println("</body>");
         out.println("</html>");

    }
}    
3 respostas
solução!

Olá Ewerton!

Acredito que o erro está acontecendo pois você está usando o parametro no plural: urlPatterns e está passando somente uma URL.

Geralmente quando usamos no plural é esperado chaves informando as outras URL's que irão atender a requisição.

@WebServlet(urlPatterns={"/url1", "/url2"})

Tenta usar no singular e veja se funciona:

@WebServlet(urlPattern="/oi")

Uma outra observação: Quando só passamos uma URL podemos omitir o parametro "urlPattern" ficando assim:

@WebServlet("/url")

Veja se funciona pra ti!

Aguardo seu retorno.

Olá Guilherme!

Funcionou sim, tanto usando @WebServlet(urlPatterns={"/url1", "/url2"}), como também @WebServlet("/url").

Já no caso do @WebServlet(urlPattern="/oi"), não funcionou.

As alterações só são refletidas após eu dar vários "refresh" no meu projeto...

Muito obrigado.

Boa noite, Ewerton! Como vai?

Só um adendo importante: o urlPattern não funcionou pois esse cara não existe! O correto é apenas urlPatterns, no plural!

Para saber mais: Caso queira se aprofundar um pouco mais, recomendo fortemente dar uma olhada na documentação da anotação @WebServlet!

Grande abraço e bons estudos, meu aluno!