Login utilizando servlet - e passando parametros na sessão

3 respostas
F

Boa tarde pessoal,

Sou novato em Java e estou apanhando para fazer a validação de um login utilizando servlet.

Preciso que quando eu digitar o login e senha o meu método faz a validação e redirecione para determinada página se usuário existir caso ele não exista uma uma mensagem impressa.

Nesta página devo carregar a sessão dele como por exemplo o seu nome e sobrenome.

Fui até um ponto mas a falta de conhecimento não me deixa seguir em frente.

Seguem os códigos

Classe Pessoa

package br.com.gerais;
/**
 *
 * @author Fabiano
 */
public class Pessoa {

    private String nomePessoa;
    private String rg;
    private String cpf;
    private String email;
    private String telPessoa;
    private String dtNascimento;
    private String codigoPessoa;
    private String login;
    private String senha;
    
    //instancia da classe endereco
    private Endereco endereco;

    public String getNomePessoa() {
        return nomePessoa;
    }

    public void setNomePessoa(String nomePessoa) {
        this.nomePessoa = nomePessoa;
    }

    public String getRg() {
        return rg;
    }

    public void setRg(String rg) {
        this.rg = rg;
    }

    public String getCpf() {
        return cpf;
    }

    public void setCpf(String cpf) {
        this.cpf = cpf;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }

    public String getTelPessoa() {
        return telPessoa;
    }

    public void setTelPessoa(String telPessoa) {
        this.telPessoa = telPessoa;
    }

    public String getDtNascimento() {
        return dtNascimento;
    }

    public void setDtNascimento(String dtNascimento) {
        this.dtNascimento = dtNascimento;
    }

    public String getCodigoPessoa() {
        return codigoPessoa;
    }

    public void setCodigoPessoa(String codigoPessoa) {
        this.codigoPessoa = codigoPessoa;
    }
    
    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;
    }
    

    public Endereco getEndereco() {
        return endereco;
    }

    public void setEndereco(Endereco endereco) {
        this.endereco = endereco;
    }

Classe FuncionarioBean

package br.com.funcionario;

import br.com.gerais.Pessoa;
import br.com.instituicao.InstituicaoBean;



/**
 *
 * @author Fabiano
 */
public class FuncionarioBean extends Pessoa {
    
   private InstituicaoBean instituicao;

    public InstituicaoBean getInstituicao() {
        return instituicao;
    }

    public void setInstituicao(InstituicaoBean instituicao) {
        this.instituicao = instituicao;
    }
   
   
    

}

Classe FuncionarioDao

package br.com.funcionario;

import br.com.conexao.ConectionManager;

//import com.mysql.jdbc.ResultSet;
import java.sql.ResultSet;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;

/**
 *
 * @author Fabiano
 */
public class FuncionarioDao {
    
    
    
    //public void verifica (FuncionarioBean funcionario) throws SQLException
    public void verifica (FuncionarioBean funcionario) throws SQLException
    {
       Connection conn = null;
       PreparedStatement stmt = null;
       ResultSet rs = null;
        
        String sql = "SELECT COUNT(*) AS total FROM edu_funcionario WHERE edu_funcionario.`func_login` = ? AND edu_funcionario.`func_senha` = ?";
               
        try {
            
            conn = ConectionManager.getConexao();
            stmt = conn.prepareStatement(sql);
            stmt.setString(1, "total");
            
            rs =  stmt.executeQuery();
              
            if(rs.next())
            {
                System.out.println("logado");   
                stmt.close();                
            }

Como devo proceder de maneira correta  com este IF?
                  
            
        } catch (SQLException e) {
            
            System.out.println(e);
             stmt.close();
            
        }
        
        finally{
            
        ConectionManager.fecharConexao(conn, stmt);
        }
    }


}

Classe Funcionário

package br.com.funcionario;

import java.io.IOException;
import java.io.PrintWriter;
import java.sql.SQLException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 *
 * @author Fabiano
 */
public class Funcionario extends HttpServlet {
    
    private static final String CONTENT_TYPE = "text/html; charset=windows-1252";
    
    public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
            
    {
        
        response.setContentType(CONTENT_TYPE);
        PrintWriter out = response.getWriter();
        
        
        FuncionarioBean funcionario = new FuncionarioBean();
        
        String login = request.getParameter("login");
        String senha = request.getParameter("senha");
        
        funcionario.setLogin(login);
        funcionario.setSenha(senha);
        
        try {
            
            FuncionarioDao funcionarioDao = new FuncionarioDao();
            funcionarioDao.verifica(funcionario);
            
               
        } catch (SQLException e) {
            
            throw new ServletException(e);
            
        }
        

    }
    
}

O redirecionamento deve ser feita na classe Funcionário ou FuncionárioDao?

Desde já agradeço muito pessoal.

3 Respostas

Lindberg

pode ser aki …

if(rs.next())  
      {  
             System.out.println("logado");     
             stmt.close();
chamar 1111

}  else {

chamar 2222

}
F

Boa tarde amigo,

Obrigado mesmo pela força.

Como devo chama-las?

Consigo fazer isto sem utilizar servlet ou jsp?

Shelson

Lindberg:
pode ser aki …

if(rs.next())  
      {  
             System.out.println("logado");     
             stmt.close();
chamar 1111

}  else {

chamar 2222

}

faltou

if(rs!=null){...
Criado 26 de janeiro de 2011
Ultima resposta 26 de jan. de 2011
Respostas 3
Participantes 3