Oi pessoal! Estou com um problema no momento da autenticação, toda vez que efetuar a entrada com login e senha, ele não entra mais na tela de "ListaEmpresa". Ele efetua a autenticação pelo Tomcat, mas sempre retorna para a página de autenticação. Já verifiquei tudo e não achei nenhuma diferença. Vocês podem me ajudar?
UnicaEntradaServlet
package br.com.alura.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.alura.gerenciador.acao.Acao;
@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.alura.gerenciador.acao." + paramAcao;
        String nome;
        try {
            Class classe = Class.forName(nomeDaClasse); 
            Acao acao = (Acao) classe.newInstance();
            nome = acao.executa(request, response);
        } catch (ClassNotFoundException | InstantiationException | IllegalAccessException | ServletException
                | IOException 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);
//        }
    }
}
Login
package br.com.alura.gerenciador.acao;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import br.com.alura.gerenciador.modelo.Banco;
import br.com.alura.gerenciador.modelo.Usuario;
public class Login implements Acao {
    @Override
    public String executa(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        String login = request.getParameter("login");
        String senha = request.getParameter("senha");
        System.out.println("Logando " + login);
        Banco banco = new Banco();
        Usuario usuario = banco.existeUsuario(login, senha);
        if (usuario != null) {
            System.out.println("Usuario existe");
            HttpSession sessao = request.getSession();
            sessao.setAttribute("usuarioLogado", usuario);
            return "redirect:entrada?acao=ListaEmpresas";
        } else {
            return "redirect:entrada?acao=LoginForm";
        }
    }
}
Usuário
package br.com.alura.gerenciador.modelo;
public class Usuario {
    private String login;
    private String senha;
    public String getLogin() {
        return login;
    }
    public void setLogin(String login) {
        this.login = login;
    }
    public String getSenha() {
        return senha;
    }
    public void setSenha(String senha) {
        this.senha = senha;
    }
    public boolean ehIgual(String login, String senha) {
        if(!this.login.equals(login)) {
            return false;
        }
        if(!this.senha.equals(senha)) {
            return false;
        }
        return true;
    }
}
 
            