Olá
Comecei agora a programa páginas JSP e estou com uma dúvida procedimental sobre o assunto.
Como teste fiz uma tela de autenticação de usuário (login e senha). Os recursos funcionam normalmente só que não sei se o que fiz é acetável. Iniciei um estudo sobre Struts porque acho que o que fiz funciona, mas não tem padrão algum.
O código está logo abaixo. Poderiam me ajudar por favor?
Olhando o código, o que eu poderia melhorar, refazer ou seguir?
Muito obrigado
Classe DAOpackage br.com.sce.persistencia.db.user;
import br.com.sce.bean.UsuarioBean;
import br.com.sce.persistencia.db.conect.Conectar;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
/**
*
* @author Leandro
*/
public class DaoUsario {
private Connection conn = null;
public DaoUsario(){
}
public DaoUsario(Connection conn){
this.conn = conn;
}
/**
* @return the conn
*/
public Connection getConn() {
return conn;
}
/**
* @param conn the conn to set
*/
public void setConn(Connection conn) {
this.conn = conn;
}
public UsuarioBean getLoginSenhaUsuario(String login, String senha)throws Exception{
UsuarioBean us = new UsuarioBean();
try {
String sql = "select idpessoa," +
"nome," +
"sexo," +
"nacionalidade," +
"email," +
"data_nascimento," +
"login," +
"senha," +
"fone_residencial," +
"fone_celular," +
"fone_recado," +
"cidade," +
"estado" +
" from pessoa where login=? and senha=?";
PreparedStatement ps = conn.prepareStatement(sql);
ps.setString(1, login);
ps.setString(2, senha);
ResultSet rs = ps.executeQuery();
if(rs.next()){
us.setIdpessoa(rs.getInt("idpessoa"));
us.setNome(rs.getString("nome"));
us.setSexo(rs.getString("sexo"));
us.setNacionalidade(rs.getString("nacionalidade"));
us.setEmail(rs.getString("email"));
us.setData_nascimento(rs.getString("data_nascimento"));
us.setLogin(rs.getString("login"));
us.setSenha(rs.getString("senha"));
us.setFone_residencial(rs.getString("fone_residencial"));
us.setFone_celular(rs.getString("fone_celular"));
us.setFone_recado(rs.getString("fone_recado"));
us.setCidade(rs.getString("cidade"));
us.setEstado(rs.getString("estado"));
}
ps.close();
rs.close();
}catch(Exception e){
System.out.println("ERRO DETECTADO 'busca' "+e);
}
return us;
}
}
package br.com.sce.bean;
/**
*
* @author Leandro
*/
public class UsuarioBean {
private int idpessoa;
private String nome;
private String sexo;
private String nacionalidade;
private String email;
private String data_nascimento;
private String login;
private String senha;
private String fone_residencial;
private String fone_celular;
private String fone_recado;
private String cidade;
private String estado;
/**
* @return the idpessoa
*/
public int getIdpessoa() {
return idpessoa;
}
/**
* @param idpessoa the idpessoa to set
*/
public void setIdpessoa(int idpessoa) {
this.idpessoa = idpessoa;
}
/**
* @return the nome
*/
public String getNome() {
return nome;
}
/**
* @param nome the nome to set
*/
public void setNome(String nome) {
this.nome = nome;
}
/**
* @return the sexo
*/
public String getSexo() {
return sexo;
}
/**
* @param sexo the sexo to set
*/
public void setSexo(String sexo) {
this.sexo = sexo;
}
/**
* @return the nacionalidade
*/
public String getNacionalidade() {
return nacionalidade;
}
/**
* @param nacionalidade the nacionalidade to set
*/
public void setNacionalidade(String nacionalidade) {
this.nacionalidade = nacionalidade;
}
/**
* @return the email
*/
public String getEmail() {
return email;
}
/**
* @param email the email to set
*/
public void setEmail(String email) {
this.email = email;
}
/**
* @return the data_nascimento
*/
public String getData_nascimento() {
return data_nascimento;
}
/**
* @param data_nascimento the data_nascimento to set
*/
public void setData_nascimento(String data_nascimento) {
this.data_nascimento = data_nascimento;
}
/**
* @return the login
*/
public String getLogin() {
return login;
}
/**
* @param login the login to set
*/
public void setLogin(String login) {
this.login = login;
}
/**
* @return the senha
*/
public String getSenha() {
return senha;
}
/**
* @param senha the senha to set
*/
public void setSenha(String senha) {
this.senha = senha;
}
/**
* @return the fone_residencial
*/
public String getFone_residencial() {
return fone_residencial;
}
/**
* @param fone_residencial the fone_residencial to set
*/
public void setFone_residencial(String fone_residencial) {
this.fone_residencial = fone_residencial;
}
/**
* @return the fone_celular
*/
public String getFone_celular() {
return fone_celular;
}
/**
* @param fone_celular the fone_celular to set
*/
public void setFone_celular(String fone_celular) {
this.fone_celular = fone_celular;
}
/**
* @return the fone_recado
*/
public String getFone_recado() {
return fone_recado;
}
/**
* @param fone_recado the fone_recado to set
*/
public void setFone_recado(String fone_recado) {
this.fone_recado = fone_recado;
}
/**
* @return the cidade
*/
public String getCidade() {
return cidade;
}
/**
* @param cidade the cidade to set
*/
public void setCidade(String cidade) {
this.cidade = cidade;
}
/**
* @return the estado
*/
public String getEstado() {
return estado;
}
/**
* @param estado the estado to set
*/
public void setEstado(String estado) {
this.estado = estado;
}
}
package br.com.sce.negocio.autenticar;
import br.com.sce.bean.UsuarioBean;
import br.com.sce.persistencia.db.conect.Conectar;
import br.com.sce.persistencia.db.user.DaoUsario;
import java.sql.Connection;
/**
*
* @author Leandro
*/
public class AutenticarUsuario {
private String login;
private String senha;
private boolean autorizado = false;
private Connection conn = null;
/**
* @return the login
*/
public String getLogin() {
return login;
}
/**
* @param login the login to set
*/
public void setLogin(String login) {
this.login = login;
}
/**
* @return the senha
*/
public String getSenha() {
return senha;
}
/**
* @param senha the senha to set
*/
public void setSenha(String senha) {
this.senha = senha;
}
/**
* @return the autorizado
*/
public boolean isAutorizado() {
return autorizado;
}
/*
* Autentica o usuário no sistema
*/
public void setAutenticar(){
try {
/*
* Seta a conexão com o banco de dados
*/
setConn(new Conectar().getConector());
UsuarioBean us = new UsuarioBean();
us = new DaoUsario(getConn()).getLoginSenhaUsuario(getLogin(), getSenha());
if((getLogin().equals(us.getLogin())) && (getSenha().equals(us.getSenha()))){
/*
* Retorna no método isAutenticado()
*/
autorizado = true;
}
} catch (Exception ex) {
System.out.println(" --> "+ ex);
}
}
/*
* Verifica se a conexão ainda está ativa
*/
public boolean isConectado(){
if(conn != null){
return true;
}else{
return false;
}
}
/**
* @return the conn
*/
public Connection getConn() {
return conn;
}
/**
* @param conn the conn to set
*/
public void setConn(Connection conn) {
this.conn = conn;
}
<html>
<head><title>Bem-vindo</title></head>
<body>
<form name="login" method="post" action="fazerLogin.jsp">
Usuário: <input type="text" name="usuario"><br>
Senha: <input type="password" name="senha"><br>
<input type="submit" value="Enviar!">
</form>
</body>
</html>
<%@page import="br.com.sce.negocio.autenticar.AutenticarUsuario"
contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head><title>Bem-vindo</title></head>
<body>
<%
AutenticarUsuario auth = new AutenticarUsuario();
// dados informados no formulário
auth.setLogin(request.getParameter("usuario"));
auth.setSenha(request.getParameter("senha"));
auth.setAutenticar();
// verifica se os dados informados estão corretos
if(auth.isAutorizado()){
// login efetuado com sucesso.
out.println("Login efetuado com sucesso!");
}else{
// dados não conferem. Direcione o usuário para a página de
// login novamente
response.sendRedirect("ErrologinSenha.jsp");
}
%>
</body>
</html>
<%@page contentType="text/html" 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">
<title>Escola XXX - Erro</title>
</head>
<body>
<h1><font color ="red"> Seu login ou senha está(ão) errado(s)</font></h1>
</body>
</html>