Oi, quem puder me ajudar ja agradeço,
quando tento chamar uma acao, exemplo: http://localhost:8080/gerenciador/entrada?acao=ListaEmpresas
ele da o erro:
meu codigo do controler, UnicaEntradaServlet:
@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 = "import br.com.alura.gerenciador.acao." + paramAcao;
String nome;
try {
Class classe = Class.forName(nomeDaClasse); // carrega a classe com o nome da string!
Acao acao = (Acao) classe.newInstance();
nome = acao.executa(request,response);
} catch (ClassNotFoundException | InstantiationException | IllegalAccessException | ServletException
| IOException e) {
throw new ServletException(e);
}
String[] tipoEndereco = nome.split(":");
if(tipoEndereco[0].equals("dispatcher")) {
RequestDispatcher rd = request.getRequestDispatcher("WEB-INF/view/"+tipoEndereco[1]);
rd.forward(request, response);
}else {
response.sendRedirect(tipoEndereco[1]);
}
}
}
meu codigo da ListaEmpresas.java:
public class ListaEmpresas implements Acao{
public String executa(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
Banco banco = new Banco();
List<Empresa> lista = banco.getEmpresas();
request.setAttribute("empresas", lista);
return "dispatcher:listaEmpresas.jsp";
}
}