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

Construtor, e os métodos init e destroy não são chamados - Dúvida no Ex. 1 da Aula 8 - Mais sobre servlets

Eu inicio o servidor, porém as mensagens do Construtor, e dos métodos Init e Destroy não são exibidas. Segue abaixo o código da classe BuscaEmpresa:

package br.com.alura.gerenciador.web;

import java.io.IOException;
import java.io.PrintWriter;
import java.util.Collection;

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

import br.com.alura.gerenciador.Empresa;
import br.com.alura.gerenciador.dao.EmpresaDAO;

@WebServlet(urlPatterns = "/busca")
public class BuscaEmpresa extends HttpServlet {
    public BuscaEmpresa() {
        System.out.println("Instanciando uma Servlet do tipo BuscaEmpresa " + this);
    }

    @Override
    public void init() throws ServletException {
        super.init();
        System.out.println("Inicializando a servlet " + this);
    }

    @Override
    public void destroy() {
        super.destroy();
        System.out.println("Destruindo a servlet " + this);
    }

    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        PrintWriter writer = resp.getWriter();
        String filtro = req.getParameter("filtro");
        Collection<Empresa> empresas = new EmpresaDAO().buscaPorSimilaridade(filtro);
        writer.println("<html>");
        writer.println("<body>");
        writer.println("Resultado da busca: <br/>");
        writer.println("<ul>");
        for (Empresa empresa : empresas) {
            writer.println("<li>" + empresa.getId() + ": " + empresa.getNome() + "</li>");
        }
        writer.println("</ul>");
        writer.println("</body>");
        writer.println("</html>");
    }
}
3 respostas

Oi Diego, tudo bem?

Eu tentei utilizar sua classe aqui e as mensagens foram exibidas: http://i.imgur.com/5A2ni6C.png

Você abriu o navegador e acessou a URL para esse Servlet? No seu caso deve ser http://localhost:8080/busca?filtro=doceria.

Parece tudo certo com o código dessa classe. Caso já tenha tentado acessra a URL e mesmo assim não apareceu as mensagens no console do Tomcat, algum erro aparece?

Um abraço.

solução!

Olá Lucas,

Continuei fazendo os exercícios dos próximos capítulos, e o Eclipse começou a exibir as mensagens normalmente. Acredito que tenha sido algum bug dele.

Obrigado pela atenção.

Acho que faltou dar um restart no server...