1. java
  2. android
  3. c#
  4. .net
  5. javascript
  6. php
  7. jquery
  8. html
  9. sql

Ajuda com a parte de login do meu sistema. POR FAVOOOOOOR <\3

Tenho que entregar esse sistema pro meu projeto da faculdade, e a parte de login estava funcionando perfeitamente até quinta-feira. Depois do fim de semana, fui implementar a parte de cadastro e simplesmente o login não está funcionando mais, fica dando "Credenciais inválidas" (que no caso é minha página de erro). Conto com a ajuda de vocês, sendo que o projeto é pra quarta feira.

Essa é a parte do Controller:

protected void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {

        HttpSession sessao = request.getSession(true);

        String b = request.getParameter("botao");

        if (b.equals("Login")) {

            String email = request.getParameter("email");
            String senha = request.getParameter("senha");

            DaoUser dao = new DaoUser();
            User u = dao.read(email, senha);

            if (u != null) {
                sessao.setAttribute("usuario", u);
                response.sendRedirect("pages/index.jsp");

            } else {
                sessao.setAttribute("usuario", null);
                response.sendRedirect("pages/Error.jsp");

            }

        }

E esse seria o Dao:

public User read(String email, String senha) {
        User u = null;
        Oracle oracle = new Oracle();
        if (oracle.carregaDriver() && oracle.conecta() && oracle.comando()) {
            String sql = " SELECT * FROM USUARIO WHERE EMAIL='" + email + "'" + " AND SENHA='" + senha + "'";
            try {
                ResultSet r = oracle.read(sql);
                if ((r != null) && (r.next())) {
                    u = new User();
                    u.setId(r.getInt("id"));
                    u.setNome(r.getString("nome"));
                    u.setSobrenome(r.getString("sobrenome"));
                    u.setBairro(r.getString("bairro"));
                    u.setRua(r.getString("rua"));
                    u.setNumero(r.getInt("numero"));
                    u.setEmail(r.getString("email"));
                    u.setSenha(r.getString("senha"));                
                }
            } catch (SQLException ex) {
                ex.printStackTrace();
            }
        }
        return u;
    }

Sendo que o User está devidamente criado (acho eu kkkkkk(poupei de vocês dos getters e setters)):

public class User {
    private int id;
    private String nome;
    private String sobrenome;
    private String bairro;
    private String rua;
    private int numero;
    private String email;
    private String senha;

    public User() {
        super();
    }
    public User(int id, String nome, String sobrenome, String bairro, String rua, int numero, String email, String senha) {
        super();
        this.id = id;
        this.nome = nome;
        this.sobrenome = sobrenome;
        this.bairro = bairro;
        this.rua = rua;
        this.numero = numero;
        this.email = email;
        this.senha = senha;
    }

E essa é a página de login:

<div class="container">
        <div class="row">
            <div class="col-md-4 col-md-offset-4">
                <div class="login-panel panel panel-default">
                    <div class="panel-heading">
                        <h3 class="panel-title">Insira seus dados</h3>
                    </div>
                    <div class="panel-body">
                        <form action="..\ControllerUser"method"post">
                            <fieldset>
                                <div class="form-group">
                                    <input class="form-control" placeholder="Email" name="email"
                                        autofocus>
                                </div>
                                <div class="form-group">
                                    <input class="form-control" placeholder="Senha" name="senha"
                                        type="password" value="">
                                </div>
                                <!-- Change this to a button or input when using this as a form -->
                                <input type="submit" class="btn btn-lg btn-success btn-block" name="botao" value="Login"/> 
                                <a href="register.html" class="btn btn-lg btn-warning btn-block">Cadastrar-se</a>
                            </fieldset>
                        </form>
                    </div>
                </div>
            </div>
        </div>
    </div>

Sei que é muita coisa, até peço desculpas... Mas já to quebrando a cabeça com esse código faz duas semanas. Agradeço desde já pessoal!

  • Cara, vc já viu se o usuário e a senha estão chegando certinho na query? Pode ser que algum deles esteja indo errado, em branco, etc. Outra coisa: vc já viu se dá algum erro, explode alguma exceção? Caso tenha algum stacktrace, posta aí.

    Cruz   2 meses atrás
  1. Você vai ver essas setas em qualquer página de pergunta. Com elas, você pode dizer se uma pergunta ou uma resposta foram relevantes ou não.
  2. Edite sua pergunta ou resposta caso queira alterar ou adicionar detalhes.
  3. Caso haja alguma dúvida sobre a pergunta, adicione um comentário. O espaço de respostas deve ser utilizado apenas para responder a pergunta.
  4. Se o autor da pergunta marcar uma resposta como solucionada, esta marca aparecerá.
  5. Clique aqui para mais detalhes sobre o funcionamento do GUJ!

1 resposta

Não é a resposta que estava procurando? Procure outras perguntas com as tags login java controller ou faça a sua própria pergunta.