Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

jennerguimaraes

sistema de login jsp com mysql

Recommended Posts

Olá,

 

 

estou desenvolvendo um sistema de acesso, onde o usuario efetua o login e é direcionado a uma pagina com uma saudação.

já criei o banco.

o problema é que nao consigo a validação no banco de dados.

o sistema é composto de:

 

a-um formulario de login-login.jsp;

b-um servlet para verificar se o login e senha estao corretos no BD-ServletControle.java;

c-uma classe-Usuario.java;

d-uma pagina de saudação, após o login ter sido efetuado corretamente-saudacao.jsp;

e-o web.xml;

f-um banco de dados: clientes, com os campos usuario e senha;

g-e os pacotes: com.plixsite.controle e com.plixsite.modelo.

 

peço que alguem possa testar esses codigos.

obrigado.

 

abaixo seguem os codigos das paginas:

 

a-login.jsp

codigo:

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
         pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
        <link href="estilo/estilo.css" rel="stylesheet" type="text/css" />
        <title>hipervagas-vagas em informatica</title>
    </head>
    <script language = "Javascript">
        function Validate(){
            var user=document.frm.user
            var pass=document.frm.pass

            if ((user.value==null)||(user.value=="")){
                alert("Por favor entre com o nome de usuario")
                user.focus()
                return false
            }
            if ((pass.value==null)||(pass.value=="")){
                alert("Por favor entre com a senha")
                pass.focus()
                return false
            }
            return true
        }
    </script>

    <body>
        <div id="prehome">
            <div class="subtitulo" id="cabecalho-conteudo-home" align="left"><img src="imagens/logologin.png" width="233" height="57" alt="hipervagaslogin" /></div>
            <p> </p>
            <p> </p>
            <div id="conteudo_esquerdo" >
                <form id="frm" name="form1" method="post" action="ServletControle" onSubmit="return Validate()" >
                    <table width="271" border="0" align="center" cellpadding="3" cellspacing="0">
                        <tr>
                            <td colspan="3" class="corpo_do_texto"><label class="titulo">Cadastrar Curriculo</label></td>
                        </tr>
                        <tr>
                            <td width="64" class="corpo_do_texto">Usuario:</td>
                            <td colspan="2" class="corpo_do_texto"><input name="user" type="text" id="login" /></td>
                        </tr>
                        <tr>
                            <td class="corpo_do_texto">Senha:</td>
                            <td colspan="2" class="corpo_do_texto"><label>
                                    <input name="pass" type="password" id="senha" />
                                </label></td>
                        </tr>
                        <tr>
                            <td class="corpo_do_texto"> </td>
                            <td colspan="2" class="corpo_do_texto"><label>
                                    <input type="submit" class="corpo_do_texto" value="Enviar" />
                                    <input type="reset" class="corpo_do_texto" value="Limpar" />
                                </label></td>
                        </tr>
                        <tr>
                            <td colspan="2" class="corpo_do_texto"><a href="#">Não sou cadastrado</a></td>
                            <td width="132" class="corpo_do_texto"><a href="#">Esqueci minha senha</a></td>
                        </tr>
                    </table>
                </form>
            </div>
        </div>
    </body>
</html>

b-ServletControle.java

codigo:

package com.plixsite.controle;

import java.io.*;
import java.util.*;
import java.sql.*;
import javax.servlet.*;
import javax.servlet.http.*;

public class ServletControle extends HttpServlet {

    private ServletConfig config;

    public void init(ServletConfig config)
            throws ServletException {
        this.config = config;
    }

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

        PrintWriter out = response.getWriter();
        String connectionURL = "jdbc:mysql://localhost:3306/clientes?user=root&password=123";
        Connection connection = null;
        ResultSet rs;
        String userName = new String("");
        String passwrd = new String("");
        response.setContentType("text/html");
        try {
            // Load the database driver
            Class.forName("com.mysql.jdbc.Driver");
            // Get a Connection to the database
            connection = DriverManager.getConnection(connectionURL, "root", "root");
            //Add the data into the database
            String sql = "select user,password from usuario";
            Statement s = connection.createStatement();
            s.executeQuery(sql);
            rs = s.getResultSet();
            while (rs.next()) {
                userName = rs.getString("user");
                passwrd = rs.getString("password");
            }
            rs.close();
            s.close();
        } catch (Exception e) {
            System.out.println("Exception is ;" + e);
        }
        if (userName.equals(request.getParameter("user"))
                && passwrd.equals(request.getParameter("pass"))) {
            out.println("Olá " + userName);
            String url = "saudacao.jsp";
        } else {
            out.println("Por favor entre com usuario ou senha correto.");
            out.println("<a href='login.jsp'><br>Tente novamente</a>");
        }
    }
}

Usuario.java

codigo:

package com.plixsite.modelo;
public class Usuario {
private String login;
private String senha;
public Usuario(){
super();
}
public Usuario(String login, String senha){
super();
this.setLogin(login);
this.setSenha(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;
}
}

d-saudacao.jsp

codigo:

<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link href="estilo/estilo.css" rel="stylesheet" type="text/css" />
<title>hipervagas-vagas em informatica</title>
</head>

<body>
<div id="base">
  <div id="cabecalho">  <!--cabecalho-->
<div id="logo"><img src="imagens/logo.png" width="185" height="31" alt=""/></div><!--logo-->
  </div><!--cabecalho-->
  <div id="conteudo">
     <div id="logo">
<%-- trecho nao funciona--%>
<jsp:useBean
id="usuario"
type="com.plixsite.modelo.Usuario"
scope="session"
/>
<span class="titulo">Oi,
<jsp:getProperty
name="usuario"
property="login" />
</span></div>

<div id="rodape">Hipervagas.com.br© 2009 Todos os direitos reservados.</div><!--rodape-->
</div><!--base-->
</body>
</html>

e-web.xml

codigo

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"'>http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
    <servlet>
        <servlet-name>ServletControle</servlet-name>
        <servlet-class>com.plixsite.controle.ServletControle</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>ServletControle</servlet-name>
        <url-pattern>/ServletControle</url-pattern>
    </servlet-mapping>
    <session-config>
        <session-timeout>
            30
        </session-timeout>
    </session-config>
    <welcome-file-list>
        <welcome-file>index.jsp</welcome-file>
    </welcome-file-list>
</web-app>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ola ! Voce esqueceu de pegar os parametros que o seu jsp esta passando para a sua servlet ! Tente eses codigo, e veja o que acontece...

 

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

        PrintWriter out = response.getWriter();
        String connectionURL = "jdbc:mysql://localhost:3306/clientes?user=root&password=123";
        Connection connection = null;
        ResultSet rs;
        String userName = new String("");
        String passwrd = new String("");
        response.setContentType("text/html");

        // PEGAR OS PARAMETROS DO JSP !!!
        String passDaJsp = request.getParameter("pass");
        String userDaJsp = request.getParameter("user");
        boolean acessoAutorizado = false;  


        try {
            // Load the database driver
            Class.forName("com.mysql.jdbc.Driver");
            // Get a Connection to the database
            connection = DriverManager.getConnection(connectionURL, "root", "root");
            //Add the data into the database
            String sql = "select user,password from usuario";
            Statement s = connection.createStatement();
            s.executeQuery(sql);
            rs = s.getResultSet();
            while (rs.next()) {
                userName = rs.getString("user");
                passwrd = rs.getString("password");
                                    
                // COLOQUE A VERIFICACAO DENTRO DO WHILE !
                if(userName.equals(userDaJsp) && passwrd.equals(passDaJsp))
                { 
                  acessoAutorizado = true;
                }
             }
           ...

Pronto... Agora pra liberar o acesso para a pagina que voce quiser, basta fazer:

if(acessoAutorizado){ redireciona... }

 

Espero ter ajudado !

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ola ! Voce esqueceu de pegar os parametros que o seu jsp esta passando para a sua servlet ! Tente eses codigo, e veja o que acontece...

 

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

        PrintWriter out = response.getWriter();
        String connectionURL = "jdbc:mysql://localhost:3306/clientes?user=root&password=123";
        Connection connection = null;
        ResultSet rs;
        String userName = new String("");
        String passwrd = new String("");
        response.setContentType("text/html");

        // PEGAR OS PARAMETROS DO JSP !!!
        String passDaJsp = request.getParameter("pass");
        String userDaJsp = request.getParameter("user");
        boolean acessoAutorizado = false;  


        try {
            // Load the database driver
            Class.forName("com.mysql.jdbc.Driver");
            // Get a Connection to the database
            connection = DriverManager.getConnection(connectionURL, "root", "root");
            //Add the data into the database
            String sql = "select user,password from usuario";
            Statement s = connection.createStatement();
            s.executeQuery(sql);
            rs = s.getResultSet();
            while (rs.next()) {
                userName = rs.getString("user");
                passwrd = rs.getString("password");
                                    
                // COLOQUE A VERIFICACAO DENTRO DO WHILE !
                if(userName.equals(userDaJsp) && passwrd.equals(passDaJsp))
                { 
                  acessoAutorizado = true;
                }
             }
           ...

Pronto... Agora pra liberar o acesso para a pagina que voce quiser, basta fazer:

if(acessoAutorizado){ redireciona... }

 

Espero ter ajudado !

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara não sou especialista no mysql, porém acho que a string da consulta deveria ser assim : "select * from usuario where password = "+request.getParameter(parametroPassword)+" and user ="+request.getParameter(parametroUser)+";

Atente as aspas.Espero ter ajudado

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.