opa! certinho!
vamos la!
primeiramente, eu nao sou expert… hehehe
em segundo, parabéns por optar em escolher JSP + Servlets + Beans… sempre q possível, é mto bom usar Orientação a Objetos… se tiver duvidas como isso funciona, aconselho primeiramente a vc a ler um tutorial (de minha autoria
) sobre OO… está em Artigos e Tutoriais > Iniciantes e Conceitos.
bom… mas vamos a explicação…
vc deve criar primeiro a classe Conecta… onde os Beans se conectar ao banco pra poder realizar os seus métodos.
vou passar uns códigos básicos, uma vez q o código depente do tipo e necessidades da sua aplicação.
Conecta.java
package app.beans;
import java.sql.*;
public class Conecta
{
protected String url="jdbc:mysql://.....";
protected String user=".....";
protected String pwd=".....";
private static Connection connection=null;
private static Conecta conecta=null;
/**
* Faz a conexao.
* verifica se já não está conectado, e se não estiver, conecta.
* @return conecta - objeto do tipo Conecta dessa mesma classe
*/
public static Conecta getConecta(){
if(conecta == null){
conecta=new Conecta();
}
return conecta;
}
/**
* Construtor da classe.
* ja chama o método @link setConnection para fazer a conexão ao BD
*
*/
public Conecta() { this.setConnection();}
/**
* método sincronizado que faz a conexão com o BD
* @return true ou false, dependendo se a conexão foi feita ou não
*/
public synchronized boolean setConnection()
{
try
{ if(connection == null){
Class.forName("org.gjt.mm.mysql.Driver");
connection = DriverManager.getConnection(url,user,pwd);
}
return true;
} catch(Exception ex) {ex.printStackTrace();return false;}
}
/**
* Pega a conexão com o BD.
* @return a conexão.
*/
public Connection getConnection()
{
try { return connection;
} catch(Exception ex)
{ex.printStackTrace(); return null;}
}
}//fim da classe Conecta
agora um bean do Usuário
Usuario.java
package app.beans;
import java.sql.*;
public class Usuario {
private String usuario;
private String senha;
private Vector usuarios = null;
private PreparedStatement ps=null;
private ResultSet rs=null;
private Conecta c1= null;
private Connection connection = null;
public Usuario() { }
public Usuario(String usuario,String senha)
{
this.usuario = usuario;
this.senha = senha;
}
/**
* Método sincronizado que permite fazer login no sistema.
* @return <b>true</b> ou <b>false</b> caso encontre ou não o usuário no BD
*/
public synchronized boolean fazLogin()
{
try
{
if(connection == null) conectar();
ps = connection.prepareStatement("select * from tbl_usuarios where usuario = ? and senha = ?");
ps.setString(1,this.usuario);
ps.setString(2,this.senha);
rs = ps.executeQuery();
if(rs.isBeforeFirst())
{
return true;
}
else
{
return false;
}
}
catch(Exception ex)
{
ex.printStackTrace();
return false;
}
}
/**
* Liga-se com o bean Conecta para fazer a conexão com o BD
*
*/
public void conectar(){
try
{
if(c1==null) c1= Conecta.getConecta();
connection = c1.getConnection();
}
catch(Exception e)
{
System.out.println("Erro em Conectar!!");
}
}
}
aí vc faz um Servlet q importa o bean…
e usa ele assim… usuario.fazLogin
caso retornar true ele passa pra frente, senao, nao…
espero ter ajudado!
flw!