1
resposta

Melhorando o controlador.

Abaixo estão os codigos para nos permiti usar menos linguagem procedural , conforme explicado por, NICO.

-> Quando carrego no navegador(Chrome), url: Http://localhost:8080/gerenciador/entrada?acao=ListaEmpresas

==>Acontece p seguinte erro:

HTTP Status 500 – Internal Server Error Type Exception Report

Message java.lang.ClassNotFoundException: br.com.dsc.gerenciador.acaoListaEmpresas

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

Exception

javax.servlet.ServletException: java.lang.ClassNotFoundException: br.com.dsc.gerenciador.acaoListaEmpresas br.com.dsc.gerenciador.servlet.UnicaEntradaServlet.service(UnicaEntradaServlet.java:37) javax.servlet.http.HttpServlet.service(HttpServlet.java:733) org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) Root Cause

java.lang.ClassNotFoundException: br.com.dsc.gerenciador.acaoListaEmpresas org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1365) org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1188) java.base/java.lang.Class.forName0(Native Method) java.base/java.lang.Class.forName(Class.java:377) br.com.dsc.gerenciador.servlet.UnicaEntradaServlet.service(UnicaEntradaServlet.java:33) javax.servlet.http.HttpServlet.service(HttpServlet.java:733) 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.

============== Não consegui localizar o erro. Preciso da ajuda dos senhores.

Class Acao

package br.com.dsc.gerenciador.acao;

import java.io.IOException;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public interface Acao {

    String executa(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException;
}insira seu código aqui

UnicaEntradaServlet

package br.com.dsc.gerenciador.servlet;

import java.io.IOException;

import javax.servlet.RequestDispatcher;
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.dsc.gerenciador.acao.Acao;
import br.com.dsc.gerenciador.acao.AlteraEmpresa;
import br.com.dsc.gerenciador.acao.ListaEmpresas;
import br.com.dsc.gerenciador.acao.MostraEmpresa;
import br.com.dsc.gerenciador.acao.NovaEmpresa;
import br.com.dsc.gerenciador.acao.NovaEmpresaForm;
import br.com.dsc.gerenciador.acao.RemoveEmpresa;

@WebServlet("/entrada")
public 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 nomeDaCLasse = "br.com.dsc.gerenciador.acao" + paramAcao;

        String nome;

        try {
            Class classe = Class.forName(nomeDaCLasse); // carrega a classe com o nome;
            Acao acao = (Acao) classe.newInstance();
            nome = acao.executa(request, response);
        } catch (ClassNotFoundException | InstantiationException | IllegalAccessException e) {
            throw new ServletException(e);
        }

        String[] tipoEEndereco = nome.split(":");

        if (tipoEEndereco[0].equals("forward")) {
            RequestDispatcher rd = request.getRequestDispatcher("WEB-INF/view/" + tipoEEndereco[1]);                
            rd.forward(request, response);
        } else {
            response.sendRedirect(tipoEEndereco[1]);
        }

//        String nome = null;
//        
//        if (paramAcao.equals("ListaEmpresas")) {                        
//            ListaEmpresas acao = new ListaEmpresas();                        
//            nome = acao.executa(request, response);
//            
//        } else if (paramAcao.equals("RemoveEmpresa")) {                    
//            RemoveEmpresa acao = new RemoveEmpresa();
//            nome  = acao.executa(request, response);
//            
//        } else if (paramAcao.equals("MostraEmpresa")) {                        
//            MostraEmpresa acao = new MostraEmpresa();
//            nome  = acao.executa(request, response);
//            
//        }else if (paramAcao.equals("AlteraEmpresa")) {                        
//            AlteraEmpresa acao = new AlteraEmpresa();
//            nome  = acao.executa(request, response);
//            
//        }else if (paramAcao.equals("NovaEmpresa")) {                        
//            NovaEmpresa acao = new NovaEmpresa();
//            nome  = acao.executa(request, response);
//            
//        }else if (paramAcao.equals("NovaEmpresaForm")) {                        
//            NovaEmpresaForm acao = new NovaEmpresaForm();
//            nome  = acao.executa(request, response);
//        }


    }

}
1 resposta
O post foi fechado por inatividade. Para continuar o assunto, recomendamos criar um novo tópico. Bons Estudos!