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

Erro 500 ,

erro nessa linha -> String[] tipoEEndereco = nome.split(":");
        if (tipoEEndereco[0].equals("forward")) {
            RequestDispatcher rd = request.getRequestDispatcher(tipoEEndereco[1]);
            rd.forward(request, response);
        } else {
            response.sendRedirect(tipoEEndereco[1]);
        }
7 respostas

Olá Tiago!

Poderia mandar a StackTrace aqui por favor?

´´´ HTTP Status 500 – Internal Server Error Type Exception Report

Description The server encountered an unexpected condition that prevented it from fulfilling the request.

Exception

java.lang.NullPointerException br.com.alura.gerenciador.servlet.UnicaEntradaServlet.service(UnicaEntradaServlet.java:50) javax.servlet.http.HttpServlet.service(HttpServlet.java:741) org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) Note A pilha de erros completa da causa principal está disponível nos logs do servidor.

Apache Tomcat/9.0.22 ´´´

Ainda não consegui identificar o erro.

Poderia me mandar sua classe UnicaEntradaServlet completa por favor?

ublic class UnicaEntradaServlet extends HttpServlet {
    private static final long serialVersionUID = 1L;

    protected void service(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {

        String paramAcao = request.getParameter("acao");
        String nome = null;
        if (paramAcao.equals("listaEmpresas")) {
            ListaEmpresas acao = new ListaEmpresas();
            nome = acao.executa(request, response);

        } else if (paramAcao.equals("removeEmpresa")) {
            RemoveEmpresas acao = new RemoveEmpresas();
            nome = acao.executa(request, response);

        } else if (paramAcao.equals("mostraEmpresas")) {
            System.out.println("mostrando dados da empresas");
            MostraEmpresas acao = new MostraEmpresas();
            nome = acao.executa(request, response);

        } else if (paramAcao.equals("alteraEmpresa")) {
            System.out.println("alterando empresa");
            AlteraEmpresa acao = new AlteraEmpresa();
            nome = acao.executa(request, response);

        } else if (paramAcao.equals("novaEmpresa")) {
            System.out.println("Cadastrando nova empresa");
            NovaEmpresa acao = new NovaEmpresa();
            nome = acao.executa(request, response);

        }
        String[] tipoEEndereco = nome.split(":");
        if(tipoEEndereco[0].equals("forward")) {
            RequestDispatcher rd = request.getRequestDispatcher( tipoEEndereco[1]);
            rd.forward(request, response);
        } else {
            response.sendRedirect(tipoEEndereco[1]);

        }

Olá Tiago!

Você está passando o nome na URL? Dessa forma:

localhost:8080/entrada?acao=listaEmpresas

Sim, o erro ocorre quando vou editar ou remover a empresa.

solução!

Boa noite, Tiago! Como vai?

Vc consegue disponibilizar o seu projeto completo no github e mandar o link aqui? Assim poderemos dar uma olhada melhor no que está acontecendo para tentar te ajudar!

Mas, de acordo com a linha que vc disse ocorrer a exceção, meu chute é que as suas classes de lógica de remoção e edição devem estar devolvendo valores incorretos (provavelmente null). Contudo só poderei ter certeza sobre isso dando uma olhada melhor no projeto!

Qualquer coisa é só falar!

Grande abraço e bons estudos, meu aluno!

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