Me parece que a solução do professor para a classe NovaEmpresa mantém a inclusão no "request" de um atributo "empresa" com o nome da empresa que não mais é necessário, uma vez que o retorno do método "executa()" não mais orienta para um "despacho" e sim para um "redirect" sem parâmetros. Também funciona, mas testei sem este "setAttribute" e deu certo.
public class NovaEmpresa {
public String executa(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
System.out.println("Cadastrando nova empresa");
String nomeEmpresa = request.getParameter("nome");
String paramDataEmpresa = request.getParameter("data");
Date dataAbertura = null;
try {
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
dataAbertura = sdf.parse(paramDataEmpresa);
} catch (ParseException e) {
throw new ServletException(e);
}
Empresa empresa = new Empresa();
empresa.setNome(nomeEmpresa);
empresa.setDataAbertura(dataAbertura);
Banco banco = new Banco();
banco.adiciona(empresa);
request.setAttribute("empresa", empresa.getNome());
return "redirect:entrada?acao=ListaEmpresas";
}
}