Select de busca login e senha imprimir busca

9 respostas
P

Pessoal sou iniciante em java e bd,

está é minha classe;

O que eu quero?

quero fazer uma busca no banco de dados, pegar o login e senha desejado, declara uma variável como o valor deles Ex: “login = “o login que vier da busca”” senha = “a senha que vier da busca” para que eu possa imprimir esses valores com um system.out.print();

package actions;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.PreparedStatement;

import java.sql.ResultSet;

public class LoginUsuario {

static Connection conn;

public static void main(String[] args) {

    try {
        
        initConnection();
        
        PreparedStatement ps = conn.prepareStatement("select usu_login, usu_password from usuario where usu_login = ? and usu_password = ?");
        
        ps.setString(1, "[email removido]");
        ps.setString(2, "wasenotsok");

        ps.executeQuery();
        
        ps.close();            

        String name = null;
        
        System.out.print(name);
    } catch (Exception ex) {
        ex.printStackTrace();
    }
}

public static void initConnection() throws Exception {
    String DRIVER = "oracle.jdbc.driver.OracleDriver";
    String URL = "jdbc:oracle:thin:@localhost:1521:xe";
    String USER = "puudia";
    String PASSWORD = new String("puudia");
    
    Class.forName(DRIVER);
    conn = DriverManager.getConnection(URL, USER, PASSWORD);
    
}

}

se alguém souber fazer isso, ficaria grato!!!

obrigado pessoal :slight_smile:

9 Respostas

F

Obs.: Quando for colocar código utilize a tag code.

Não sei se é exatamente isso que vc precisa...

package actions; 

import java.sql.Connection; 
import java.sql.DriverManager; 
import java.sql.PreparedStatement; 
import java.sql.ResultSet; 

public class LoginUsuario { 

static Connection conn; 

public static void main(String[] args) { 

try { 

initConnection(); 

PreparedStatement ps = conn.prepareStatement("select usu_login, usu_password from usuario where usu_login = ? and usu_password = ?"); 

ps.setString(1, "[email removido]"); 
ps.setString(2, "wasenotsok"); 

ResultSet rs = ps.executeQuery(); //armazena o resultado da consulta em um ResultSet

if( rs.next() ){//coloca o cursor do ResultSet na primeira posição se ela existir
   System.out.prinlnt( rs.getString( "usu_login" )  );
   System.out.prinlnt( rs.getString( "usu_password " )  );
}

ps.close(); 

String name = null; 

System.out.print(name); 
} catch (Exception ex) { 
ex.printStackTrace(); 
} 
} 

public static void initConnection() throws Exception { 
String DRIVER = "oracle.jdbc.driver.OracleDriver"; 
String URL = "jdbc:oracle:thin:@localhost:1521e"; 
String USER = "puudia"; 
String PASSWORD = new String("puudia"); 

Class.forName(DRIVER); 
conn = DriverManager.getConnection(URL, USER, PASSWORD); 

} 

}

se foi isso esta ai... flw

P

hum cara deu certo aqui vlw :DDDDD

agora só uma duvidazinha :frowning:

sabe como eu faço pra colocar o usu_login = name?

ResultSet rs = ps.executeQuery(); //armazena o resultado da consulta em um ResultSet  
              
            if( rs.next() ){//coloca o cursor do ResultSet na primeira posição se ela existir  
              System.out.print( rs.getString( "usu_login" )  );  
              System.out.print( rs.getString( "usu_password " )  );  
            }  
            
            ps.close();            

            String name = null; // aqui eu queria que name fosse = usu_login para no system.out.print aqui embaixo,
            
            System.out.print(name); // imprimisse ele.

tem como?

MUITÍSSIMO OBRIGADO :slight_smile:

F

kara tenta alterar o sql... colocando apelidos para os compos

segue exemplo...

package actions;   
  
import java.sql.Connection;   
import java.sql.DriverManager;   
import java.sql.PreparedStatement;   
import java.sql.ResultSet;   
  
public class LoginUsuario {   
  
static Connection conn;   
  
public static void main(String[] args) {   
  
try {   
  
initConnection();   
  
PreparedStatement ps = conn.prepareStatement("select usu_login as nome, usu_password as senha from usuario where usu_login = ? and usu_password = ?");   
  
ps.setString(1, "[email removido]");   
ps.setString(2, "wasenotsok");   
  
ResultSet rs = ps.executeQuery(); //armazena o resultado da consulta em um ResultSet  
  
if( rs.next() ){//coloca o cursor do ResultSet na primeira posição se ela existir  
   System.out.prinlnt( rs.getString( "nome" )  );  
   System.out.prinlnt( rs.getString( "senha" )  );  
}  
  
ps.close();   
  
String name = null;   
  
System.out.print(name);   
} catch (Exception ex) {   
ex.printStackTrace();   
}   
}   
  
public static void initConnection() throws Exception {   
String DRIVER = "oracle.jdbc.driver.OracleDriver";   
String URL = "jdbc:oracle:thin:@localhost:1521e";   
String USER = "puudia";   
String PASSWORD = new String("puudia");   
  
Class.forName(DRIVER);   
conn = DriverManager.getConnection(URL, USER, PASSWORD);   
  
}   
  
}
F
Desculpa nao tinha lido sua pergunta inteira... segue novo...
package actions;     
    
import java.sql.Connection;     
import java.sql.DriverManager;     
import java.sql.PreparedStatement;     
import java.sql.ResultSet;     
    
public class LoginUsuario {     
    
static Connection conn;     
    
public static void main(String[] args) {     
    
try {     
    
initConnection();     
    
PreparedStatement ps = conn.prepareStatement("select usu_login, usu_password from usuario where usu_login = ? and usu_password = ?");     
    
ps.setString(1, "[email removido]");     
ps.setString(2, "wasenotsok");     
    
ResultSet rs = ps.executeQuery(); //armazena o resultado da consulta em um ResultSet    
    String nome;
    String senha;
if( rs.next() ){//coloca o cursor do ResultSet na primeira posição se ela existir  
   nome =   rs.getString( "usu_login" );
   senha = rs.getString( "usu_password" );
   System.out.prinlnt( nome  );    
   System.out.prinlnt(  senha );    
}    
    
ps.close();     
    
String name = null;     
    
System.out.print(name);     
} catch (Exception ex) {     
ex.printStackTrace();     
}     
}     
    
public static void initConnection() throws Exception {     
String DRIVER = "oracle.jdbc.driver.OracleDriver";     
String URL = "jdbc:oracle:thin:@localhost:1521e";     
String USER = "puudia";     
String PASSWORD = new String("puudia");     
    
Class.forName(DRIVER);     
conn = DriverManager.getConnection(URL, USER, PASSWORD);     
    
}     
    
}
P

agora sim cara muito obrigado mesmo :DDDD

problema resolvido.

mais uma pergunta; eu não sintetizei a informação ainda do porque do if?

sabe me explicar?

e pq o

System.out.print(nome);              
System.out.print(senha);

não sai quando eu dou run ?

só o

String name = null;           
System.out.print(name);

aparece quando eu dou run.

F

A questão do if

if( rs.next() ){//coloca o cursor do ResultSet na primeira posição se ela existir nome = rs.getString( "usu_login" ); senha = rs.getString( "usu_password" ); System.out.prinlnt( nome ); System.out.prinlnt( senha ); }

o rs.next(), coloca o cursos do resultset, na primeira posição, ou seja, no primeiro registro encontrado, e ele retorna um valor boolean, se tiver registro retorna true, caso contrario retorna false, entao se não tiver nenhum registro o retorno é true, e ele entra no if, senao ele nem entre no if.


sabe me explicar?

e pq o

view plaincopy to clipboardprint?

System.out.print(nome);

System.out.print(senha);

não sai quando eu dou run ?

só o

view plaincopy to clipboardprint?

String name = null;

System.out.print(name);

aparece quando eu dou run.


agora este erro, provavelmente esta ocorrendo pq, nao esta entrando no if, ou seja nao seu select nao esta retornando nenhum valor…

P

ahh agora entendi tudo :smiley:

VLW !!!

V

Olá amigos,
Estou com problemas no meu sistema de criptografia de senhas para login.Eu sou novo no java, consegui um codigo que funcionou comigo a um tempo atras, mas como já estou um tempo sem programar, não sei direito aonde estou errando. Eu criei um pacote java com o nome de caminho, e dentro de caminho, criei duas servelets, uma Cadastro e outra Controle.
Estou postando os codigos do mesmo jeito que eles estão no projeto, sei que está dando alguns erros, mas não estou conseguindo identifica-los, e como aqui no forum tem profissionais altamente qualificados, vou precisar de uma ajuda para identificar estes erros. Eu utilizo o netbeans e o mysql.
Vejam os codigos aí:

Na servlet Cadastro:


package caminho;

import java.io.*;
import java.net.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.security.*;
import java.sql.*;
import sun.misc.*;


public class Cadastro extends HttpServlet {
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");

PrintWriter out = response.getWriter();
String login = request.getParameter("login");
String senha = request.getParameter("senha");
String senha2 = request.getParameter("senha2");
if(senha.equals(senha2)){
    byte chave1[] = login.getBytes();
    login = new BASE64Encoder().encode(chave1);
    byte chave2[] = senha.getBytes();
    senha = new BASE64Encoder().encode(chave2);

try{
Class.forName("com.mysql.jdbc.Driver");
        Connection con=DriverManager.getConnection("jdbc:mysql://localhost:3306/login","root","rodrigo");
PreparedStatement stmt=con.prepareStatement("insert into usuario values(?,?)");
            stmt.setString(1,login);
            stmt.setString(2,senha);
            stmt.execute();
            stmt.close();
            out.print("<br>senha:"+senha);
            out.print("<br>Login:"+login);
//catch(Exeption e){
out.print(e.getMessage());
}


}
      }
}



Na servlet Controle:

package caminho;

import java.io.*;
import java.net.*;
import javax.servlet.*;
import javax.servlet.http.*;
import sun.misc.*;
import java.sql.*;

public class Controle extends HttpServlet {
     protected void processRequest(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
        response.setContentType("text/html;charset=UTF-8");
       
        
PrintWriter out = response.getWriter();
String login = request.getParameter("login");
String senha = request.getParameter("senha");
byte chave1[] = login.getBytes();
byte senha[] = senha.getBytes();
    login = new BASE64Encoder().encode(chave1);
    senha = new BASE64Encoder().encode(chave2);
    
    try{
Class.forName("com.mysql.jdbc.Driver");
        Connection con=DriverManager.getConnection("jdbc:mysql://localhost:3306/login","root","rodrigo");
PreparedStatement stmt=con.prepareStatement("select * from usuario where login=? and senha=?");
            stmt.setString(1,login);
            stmt.setString(2,senha);
            ResultSet rs=stmt.executeQuery();
            while (rs.next())
           out.print("Acesso ok,login e senha confere");
            break;
    }
    
     }catch(Exeption e){
             out.print(e.getMessage());
}


Depois criei index.jsp

<form method=post action="Controle">

Login:<br>
    <INPUT TYPE=text name=login VALUE="" size="15">
    <br> Senha:<br>
        <input type=password name=senha value="" size="15">
            <br><br>
                <input type="submit" value="Logar">
            </form>
            <br> 
            <a >Cadastre-se</a>
            

E Cadastro.jsp


<form method=post action="Cadastro">
    Login:<br>
    <INPUT TYPE=text name=login VALUE="" size="15">
    <br> Senha:<br>
        <INPUT TYPE=text name=senha VALUE="" size="15">
    <br> Redigite Senha<br>
        <input type=password name=senha2 value="" size="15">
            <br><br>
                <input type="submit" value="Enviar">
            </form>
Estou postando os codigos da mesma forma que estão no projeto, não sei se esta faltando alguma biblioteca, e sintaxe está dando erro, se alguem dar uma ajuda aí... Agradeço.

Obrigado, abç!!!

V

Olá amigos,
Estou com problemas no meu sistema de criptografia de senhas para login.Eu sou novo no java, consegui um codigo que funcionou comigo a um tempo atras, mas como já estou um tempo sem programar, não sei direito aonde estou errando. Eu criei um pacote java com o nome de caminho, e dentro de caminho, criei duas servelets, uma Cadastro e outra Controle.
Estou postando os codigos do mesmo jeito que eles estão no projeto, sei que está dando alguns erros, mas não estou conseguindo identifica-los, e como aqui no forum tem profissionais altamente qualificados, vou precisar de uma ajuda para identificar estes erros. Eu utilizo o netbeans e o mysql.
Vejam os codigos aí:

Na servlet Cadastro:


package caminho;

import java.io.*;
import java.net.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.security.*;
import java.sql.*;
import sun.misc.*;


public class Cadastro extends HttpServlet {
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");

PrintWriter out = response.getWriter();
String login = request.getParameter("login");
String senha = request.getParameter("senha");
String senha2 = request.getParameter("senha2");
if(senha.equals(senha2)){
    byte chave1[] = login.getBytes();
    login = new BASE64Encoder().encode(chave1);
    byte chave2[] = senha.getBytes();
    senha = new BASE64Encoder().encode(chave2);

try{
Class.forName("com.mysql.jdbc.Driver");
        Connection con=DriverManager.getConnection("jdbc:mysql://localhost:3306/login","root","rodrigo");
PreparedStatement stmt=con.prepareStatement("insert into usuario values(?,?)");
            stmt.setString(1,login);
            stmt.setString(2,senha);
            stmt.execute();
            stmt.close();
            out.print("<br>senha:"+senha);
            out.print("<br>Login:"+login);
//catch(Exeption e){
out.print(e.getMessage());
}


}
      }
}



Na servlet Controle:

package caminho;

import java.io.*;
import java.net.*;
import javax.servlet.*;
import javax.servlet.http.*;
import sun.misc.*;
import java.sql.*;

public class Controle extends HttpServlet {
     protected void processRequest(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
        response.setContentType("text/html;charset=UTF-8");
       
        
PrintWriter out = response.getWriter();
String login = request.getParameter("login");
String senha = request.getParameter("senha");
byte chave1[] = login.getBytes();
byte senha[] = senha.getBytes();
    login = new BASE64Encoder().encode(chave1);
    senha = new BASE64Encoder().encode(chave2);
    
    try{
Class.forName("com.mysql.jdbc.Driver");
        Connection con=DriverManager.getConnection("jdbc:mysql://localhost:3306/login","root","rodrigo");
PreparedStatement stmt=con.prepareStatement("select * from usuario where login=? and senha=?");
            stmt.setString(1,login);
            stmt.setString(2,senha);
            ResultSet rs=stmt.executeQuery();
            while (rs.next())
           out.print("Acesso ok,login e senha confere");
            break;
    }
    
     }catch(Exeption e){
             out.print(e.getMessage());
}


Depois criei index.jsp

<form method=post action="Controle">

Login:<br>
    <INPUT TYPE=text name=login VALUE="" size="15">
    <br> Senha:<br>
        <input type=password name=senha value="" size="15">
            <br><br>
                <input type="submit" value="Logar">
            </form>
            <br> 
            <a >Cadastre-se</a>
            

E Cadastro.jsp


<form method=post action="Cadastro">
    Login:<br>
    <INPUT TYPE=text name=login VALUE="" size="15">
    <br> Senha:<br>
        <INPUT TYPE=text name=senha VALUE="" size="15">
    <br> Redigite Senha<br>
        <input type=password name=senha2 value="" size="15">
            <br><br>
                <input type="submit" value="Enviar">
            </form>
Estou postando os codigos da mesma forma que estão no projeto, não sei se esta faltando alguma biblioteca, e sintaxe está dando erro, se alguem dar uma ajuda aí... Agradeço.

Obrigado, abç!!!

Criado 25 de março de 2009
Ultima resposta 22 de abr. de 2009
Respostas 9
Participantes 3