Login simples, na mão

6 respostas
C

Bom galera, quero implementar um login para minha aplicação.
Coisa simples, não uso nenhum framework (sou leigo no assunto, até gostaria de alguma dica pra aumentar a eficiência).

Tenho as classes:
ClienteDAO

  • Só a parte de comparar com o banco
public Cliente verificarLogin(Cliente cliente) throws Exception {
        abrirDB();
        String SQL = "SELECT id_cliente, nome, login, senha"
                   + "FROM cliente WHERE login = ? AND senha = ?";
        pstm = con.prepareStatement(SQL);
        pstm.setString(1, cliente.getLogin());
        pstm.setString(2, cliente.getSenha());
        rs = pstm.executeQuery();
        if(rs.next()){
            cliente.setId(rs.getInt("id_cliente"));
            cliente.setLogin(rs.getString("login"));
            cliente.setSenha(rs.getString("senha"));
        }
        fecharDB();
        return cliente;
    }

A classe Cliente tem apenas os getters e setters (id, nome, endereço, telefone, login e senha).
Tenho um servlet chamado controle. Gostaria de concentrar toda ou quase parte da parte de programação nele. Todos os exemplos que vi, faz a programação na própria página de login. Gostaria de saber como fazer nessa outra parte.
Aqui, também, segue um trecho do controle, que eu tentei fazer:

if (action.equalsIgnoreCase("entrar")) {
                Cliente cliente = new Cliente();
                cliente.setLogin(request.getParameter("txtLogin"));
                cliente.setSenha(request.getParameter("txtSenha"));
                ClienteDAO cd = new ClienteDAO();
                try {
                cd.login(cliente);
                request.getRequestDispatcher("main.jsp").forward(request, response);
                JOptionPane.showMessageDialog(null, "Logado com sucesso!");
                } catch (Exception e) {
                JOptionPane.showMessageDialog(null, "Erro ao logar: " + e.getMessage());
                }
                }

Gostaria de saber o que tá errado, qual o jeito certo.

Desde já, obrigado.

6 Respostas

Hebert_Coelho

Boa noite.

Nesse post eu descrevo um passo a passo de como montar um login utilizando servlet e filter. Classes nativas do java.

Autenticação de Usuários (Filter/Servlet)

C

Eu queria algo bem simples mesmo.
Ou isso daí já é o simples?

Hebert_Coelho

Até então não consigo imaginar mais simples.

Desse modo você não vai precisar em cada ação validar login.

C

Entendo.
Obrigado, então. Vou estudar o link que me passou. :wink:

Hebert_Coelho

Cara, só uma observação… Eu vi um código seu que me deixou mei cabrera…

JOptionPane.showMessageDialog(null, "Erro ao logar: " + e.getMessage());

Em web isso não é utilizado não…

Faça assim, System.out.println("Erro ao logar: " + e.getMessage());

C

Ah sim, sim.
É que estou fazendo esse projeto em dupla. Meu amigo pensou que fosse desktop. Valeu pelo toque!

Criado 8 de novembro de 2011
Ultima resposta 8 de nov. de 2011
Respostas 6
Participantes 2