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

Aplicação de Login em JSP e MySql

Boa Tarde, amigos! Estou criando uma aplicação de login em JSP que busca dados de login e senha no BD MySQL, contudo, ao digitar a senha "certa ou errada", nada acontece, apenas volta a tela de login. Com certeza é um erro de logica, pois o Netbeans não aponta erros, mas não sei mais onde pesquisar. Segue abaixo a descrição. Agradeço desde já a ajuda.

Classe ConnectionFactory:

import java.sql.Connection;  
import java.sql.DriverManager;  
import java.sql.SQLException;  

public class ConnectionFactory {  
    public static Connection getConnection() throws SQLException{  
        String url = "jdbc:mysql://localhost:3306/tcc";  
        String login = "root";  
        String senha = "";  

        try{  

            Class.forName("com.mysql.jdbc.Driver");  
            return DriverManager.getConnection(url, login, senha);    
        }catch(ClassNotFoundException e){  
            throw new SQLException(e.getMessage());  
        }  

    }  
}

Classe ContatoDao:

package tcc.nilson.controle;

import java.sql.Connection;
import java.sql.Date;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.List;
import tcc.nilson.modelo.Contato;

/**
 *
 * @author Nilson
 */
public class ContatoDao {

    private Connection connection;

    public ContatoDao() throws SQLException  {
        this.connection = new ConnectionFactory().getConnection();
        }

    public void adiciona(Contato contato) {
        String sql = "insert into clientes " +
                     "(nome,email,telefone,endereco,dataNascimento,login,senha)" +
                     " values (?,?,?,?,?,?,?)";

        try {
            PreparedStatement stmt = connection.prepareStatement(sql);

            stmt.setString(1, contato.getNome());

            stmt.setString(3, contato.getTelefone());

            stmt.setString(2, contato.getEmail());

            stmt.setString(4, contato.getEndereco());

            stmt.setDate(5, new Date(
                    contato.getDataNascimento().getTimeInMillis()));

            stmt.setString(6, contato.getLogin());

            stmt.setString(7, contato.getSenha());

            stmt.execute();
            stmt.close();

        } catch (SQLException e) {
            throw new RuntimeException(e);
        }

    }

    public List<Contato> getLista() {
        try {
            List<Contato> contatos = new ArrayList<Contato>();
            PreparedStatement stmt = this.connection.prepareStatement("SELECT * FROM contatos;");
            ResultSet rs = stmt.executeQuery();

            while (rs.next()) {
                Contato contato = new Contato();
                contato.setId(rs.getLong("id"));
                contato.setNome(rs.getString("nome"));
                contato.setTelefone(rs.getString("telefone"));
                contato.setEmail(rs.getString("email"));
                contato.setEndereco(rs.getString("endereco"));

                Calendar data = Calendar.getInstance();

                data.setTime(rs.getDate("dataNascimento"));
                contato.setDataNascimento(data);
                contato.setLogin("login");
                contato.setSenha("senha");

                contatos.add(contato);
            }
            rs.close();
            stmt.close();
            return contatos;

        } catch (SQLException e) {
            throw new RuntimeException(e);
        }
    }

    public void pesquisar (Contato contato){
        String sql = "select from contatos where id=?";
        try {
            PreparedStatement stmt = connection.prepareStatement(sql);

            stmt.setLong(1, contato.getId());

            stmt.execute();
            stmt.close();
        } catch (SQLException e){
            throw new RuntimeException(e);
        }
    }

    public void altera(Contato contato){
        String sql = "update contatos set nome=?, telefone=?, email=?, endereco=?, login=?, senha=?, dataNascimento=? where id=?";

        try {
            PreparedStatement stmt = connection.prepareStatement(sql);
            stmt.setString(1, contato.getNome());
            stmt.setString(2, contato.getTelefone());
            stmt.setString(3, contato.getEmail());
            stmt.setString(4, contato.getEndereco());
            stmt.setDate(5, new Date(contato.getDataNascimento().getTimeInMillis()));
            stmt.setLong(6, contato.getId());
            stmt.setString(7, contato.getLogin());
            stmt.setString(8, contato.getSenha());

            stmt.execute();
            stmt.close();

        } catch (SQLException e) {
            throw new RuntimeException(e);
        }
    }

    public void remove (Contato contato) {
        try {
            PreparedStatement stmt = connection.prepareStatement("delete from contatos where id=?");

            stmt.setLong(1, contato.getId());

            stmt.execute();
            stmt.close();
        } catch (SQLException e){
            throw new RuntimeException(e);
        }
    }

}

Pagina em JSP:

<%-- 
    Document   : suaconta
    Created on : 23/08/2015, 16:41:47
    Author     : Nilson
--%>

<%@page import="java.sql.ResultSet"%>
<%@page import="java.sql.Statement"%>
<%@page import="java.sql.Connection"%>
<%@page import="tcc.nilson.controle.ConnectionFactory"%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
    <head>
        <title>Lilica's Coiffeur - Login </title>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <link rel="stylesheet" type="text/css" href="index.css" />
        <link rel="stylesheet" href="suaconta.css"

    </head>
    <body>
        <header class="container">
            <!-- Script para visualização em IE 6 e 7 -->
            <!--[if lt IE 9]>
            <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
            <![endif]-->

            <h1><img src="img/logo2.png" width="225" height="85" alt="Lilica's Coiffeur"></h1>
            <p class="mapa"><a href="https://www.google.com.br/maps/place/Lilica+Ripilica/@-22.8970968,-43.1243969,17z/data=!3m2!4b1!5s0x9983db21b3cee3:0xe2320e120f879925!4m2!3m1!1s0x9983dae760af2b:0x7e6a20060b51d03d"</a>Nosso Endereço</p>

            <nav class="menu-opcoes">
                <ul>
                    <li><a href="index.html">Página Principal</a></li>
                    <li><a href="#">Blog</a></li>
                    <li><a href="#">Chat</a></li>
                    <li><a href="#">Novidades</a></li>
                    <li><a href="sobre.html">Sobre</a></li>
                    <li><a href="cadastrarcliente.html">Cadastro</a></li>

                </ul>
            </nav>

        </header>
        <hr size="5" width="100%">

        <%
            ConnectionFactory connection = new ConnectionFactory();
            Connection conn = new ConnectionFactory().getConnection();


        %>

        <form id="login" action="suaconta.jsp" method="post">

            <center>
                <div id="campos">
                    <h2>Lilica's Coiffeur - Seja bem vindo!</h2>
                    <h3>Login: <input type="text" name="login" value="" id="valida" /></h3>
                    <h3>Senha: <input type="password" name="senha" value="" id="password"/></h3>
                        <%if (conn != null) {
                                if ((request.getParameter("valida") != null) && (request.getParameter("password") != null)) {

                                    Statement st;
                                    ResultSet rs;
                                    st = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.TYPE_FORWARD_ONLY);
                                    rs = st.executeQuery("SELECT * FROM usuarios WHERE login='"+request.getParameter("valida")+"' and senha='"+request.getParameter("password")+"'");
                                    if(rs.next()){
                                        response.encodeRedirectURL("efetualogin.jsp");
                                        response.sendRedirect("efetualogin.jsp");
                                    }
                                }
                            } else {
                                out.println("Não foi possivel logar");
                            }%>
                    <input type="submit" value="Entrar" name="botaoLogar" id="btnlog"/>
                </div>

            </center>
        </form>


        <footer>
            <div  id="campos">
                <img src="img/logo2.png" alt="Logo Mirror Fashion">

                <ul class="social">
                    <li><a href="http://facebook.com/lilicascoiffeur">Facebook</a></li>
                    <li><a href="http://twitter.com/lilicascoiffeur">Twitter</a></li>
                    <li><a href="http://plus.google.com/lilicascoiffeur">Google+</a></li>
                </ul>
            </div>
        </footer>

    </body>
</html>

Classe Servlet:

<%-- 
    Document   : suaconta
    Created on : 23/08/2015, 16:41:47
    Author     : Nilson
--%>

<%@page import="java.sql.ResultSet"%>
<%@page import="java.sql.Statement"%>
<%@page import="java.sql.Connection"%>
<%@page import="tcc.nilson.controle.ConnectionFactory"%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
    <head>
        <title>Lilica's Coiffeur - Login </title>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <link rel="stylesheet" type="text/css" href="index.css" />
        <link rel="stylesheet" href="suaconta.css"

    </head>
    <body>
        <header class="container">
            <!-- Script para visualização em IE 6 e 7 -->
            <!--[if lt IE 9]>
            <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
            <![endif]-->

            <h1><img src="img/logo2.png" width="225" height="85" alt="Lilica's Coiffeur"></h1>
            <p class="mapa"><a href="https://www.google.com.br/maps/place/Lilica+Ripilica/@-22.8970968,-43.1243969,17z/data=!3m2!4b1!5s0x9983db21b3cee3:0xe2320e120f879925!4m2!3m1!1s0x9983dae760af2b:0x7e6a20060b51d03d"</a>Nosso Endereço</p>

            <nav class="menu-opcoes">
                <ul>
                    <li><a href="index.html">Página Principal</a></li>
                    <li><a href="#">Blog</a></li>
                    <li><a href="#">Chat</a></li>
                    <li><a href="#">Novidades</a></li>
                    <li><a href="sobre.html">Sobre</a></li>
                    <li><a href="cadastrarcliente.html">Cadastro</a></li>

                </ul>
            </nav>

        </header>
        <hr size="5" width="100%">

        <%
            ConnectionFactory connection = new ConnectionFactory();
            Connection conn = new ConnectionFactory().getConnection();


        %>

        <form id="login" action="suaconta.jsp" method="post">

            <center>
                <div id="campos">
                    <h2>Lilica's Coiffeur - Seja bem vindo!</h2>
                    <h3>Login: <input type="text" name="login" value="" id="valida" /></h3>
                    <h3>Senha: <input type="password" name="senha" value="" id="password"/></h3>
                        <%if (conn != null) {
                                if ((request.getParameter("valida") != null) && (request.getParameter("password") != null)) {

                                    Statement st;
                                    ResultSet rs;
                                    st = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.TYPE_FORWARD_ONLY);
                                    rs = st.executeQuery("SELECT * FROM usuarios WHERE login='"+request.getParameter("valida")+"' and senha='"+request.getParameter("password")+"'");
                                    if(rs.next()){
                                        response.encodeRedirectURL("efetualogin.jsp");
                                        response.sendRedirect("efetualogin.jsp");
                                    }
                                }
                            } else {
                                out.println("Não foi possivel logar");
                            }%>
                    <input type="submit" value="Entrar" name="botaoLogar" id="btnlog"/>
                </div>

            </center>
        </form>


        <footer>
            <div  id="campos">
                <img src="img/logo2.png" alt="Logo Mirror Fashion">

                <ul class="social">
                    <li><a href="http://facebook.com/lilicascoiffeur">Facebook</a></li>
                    <li><a href="http://twitter.com/lilicascoiffeur">Twitter</a></li>
                    <li><a href="http://plus.google.com/lilicascoiffeur">Google+</a></li>
                </ul>
            </div>
        </footer>

    </body>
</html>
  • Resolvido

    Descobri o erro. Meu "request.getParameter()" fazia referencia ao "id' do componente HTML e não ao "name" do componente. "

    Login: Senha: <%if (conn != null) { if ((request.getParameter("valida") != null) && (request.getParameter("password") != null)) {".
    Nilson Martins   30 de ago de 2015
  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!

0 resposta

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