Ao fazer o get na tarefa de alguma classe, uma mesma exception sempre é lançada. Exemplo: ao acessar a URI http://localhost:8080/gerenciador/fazTudo?tarefa=BuscaEmpresas a seguinte exception é lançada: HTTP Status 500 - javax.el.PropertyNotFoundException: Property 'id' not found on type java.util.HashMap$Values
O mesmo ocorre para as demais classes que eu passar.
Segue a classe fazTudo:
@WebServlet(urlPatterns = "/fazTudo")
public class FazTudo extends HttpServlet {
@Override
protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
String tarefa = req.getParameter("tarefa");
if (tarefa == null) {
throw new IllegalArgumentException("Você esqueceu de passar a tarefa!");
}
tarefa = "br.com.alura.gerenciador.web." + tarefa;
try {
Class type = Class.forName(tarefa);
Tarefa2 instancia = (Tarefa2) type.newInstance();
String pagina = instancia.executa(req, resp);
RequestDispatcher dispatcher = req.getRequestDispatcher(pagina);
dispatcher.forward(req, resp);
} catch (ClassNotFoundException | InstantiationException | IllegalAccessException e) {
throw new ServletException(e);
}
}
}