Ir para conteúdo
Fórum Script Brasil
  • 0

Trazendo Para O Formulário Outro Campo Do Bd


frnd

Pergunta

Olá...

Estou com dificuldades em passar um campo da tabela para no servlet... na tabela existe, campos user, pass e fullname. Quando o usuario logar-se no sistema e seus dados estiverem OK, mostrar, Olá "fullname do usuario"!..

Tentei fazer, já na classe de conexao com o banco(AcessoSistema) criando um atributo fullname e criando um metodo get. Mas retorna (Olá, null!)

Para isso,

Existe a classe que faz a conexao com o banco

import java.sql.*;

public class AcessoSistema
{
    
   private Connection con; // faz a conexao com o Banco de Dados
   private Statement st; // executa instruções SQL    
   private ResultSet rs; // armazena o resultado de uma consulta 
   private String fullname;
   
   public boolean conectar()
   {
       
          try {
                //carre o driver JDBC
                 Class.forName("org.firebirdsql.jdbc.FBDriver");
                 
                 //obtem a conexao com o BD
                 con = DriverManager.getConnection("jdbc:firebirdsql:localhost/3050:C:/Arquivos de programas/Apache Software Foundation/Tomcat 5.5/webapps/login/banco/login.fdb","sysdba","masterkey");
                 
                 return true;//retorna verdadeiro
                 //se não ele cai no catch
          }
          
          catch(Exception e) {
                e.printStackTrace();//informa o erro caso exista de uma melhor forma
                return false;//
          }
       
   }
   
   public boolean desconectar()
   {
         
         try {
              con.close();
               
              return true;
         }
         
         catch (Exception e){
             e.printStackTrace();//informa o erro caso existe de uma melhor forma
             
        return false;
             
         }
         
   }
   
   public boolean validarUsuario(String username, String password)
   {
       
           try{
               //obtem um objeto Statement
               st = con.createStatement();
               
               rs = st.executeQuery("select * from usuario where username = '" + username + "' AND pass = '"+ password + "'");
               
             if ( rs.next() )    // esse if é para verificar se existe 1 registro no rs(variavel acima que recebe o st.executeQuery)
             {
                st.close();
                return true; // encontrou usuario
             }  
             else
             {
                  st.close();
                return false; // não encontrou usuario
             }   
           }
           
           catch(Exception e){
              e.printStackTrace();    
              return false;
           }
   }
   
   public String getFullname(){
       return fullname;
   }
   
 /*      
       public static void main (String args[])
       {
           
           AcessoSistema as = new AcessoSistema();
           
           if ( as.conectar() ) {
               System.out.println("Conexao OK");
               if ( as.validarUsuario("toy", "poodle"));
                   System.out.println("Alo Toy!!");
               as.desconectar();
               
           }    
       }
       */
}
e temos o servlet
import javax.servlet.*; // pacote para utilizar com o servlet
import javax.servlet.http.*; // pacote para utilizar com o servlet
import java.io.*;


public class LoginServlet extends HttpServlet {
    
  public void doPost(HttpServletRequest request, HttpServletResponse response)
           throws    IOException, ServletException
  {
    
    //diz que o tipo de resposta será o texto html              
    response.setContentType("text/html"); 
    
    
    AcessoSistema as = new AcessoSistema();
       String resposta;
       String usuario = request.getParameter("user");
       String senha = request.getParameter("pass");
           
           if ( as.conectar() ) {
               System.out.println("Conexao OK");
               if ( as.validarUsuario(usuario, senha))
                   resposta = "Olá, " + as.getFullname() + " !!!";
               else
                   resposta = "Nome de usuário/senha inválidos!";
               as.desconectar();
       }        
    else
       resposta = "Não foi possível conectar no BD!";
    
    //obtem um objeto para montar a resposta
    PrintWriter out = response.getWriter();
          
      out.println("<html>");
      out.println("<title>Acesso ao Sistema</title>");
      out.println("</head>");
      out.println("<body>");
      out.println("<h2>" + resposta + "</h2>");
      out.println("</body>");
      out.println("</html>");
               
  }
    
}

Link para o comentário
Compartilhar em outros sites

6 respostass a esta questão

Posts Recomendados

  • 0

é dificil achar algo vendo o código assim, mas não achei onde você seta o valor da variável fullName..

tenta

...
             if ( rs.next() )    // esse if é para verificar se existe 1 registro no rs(variavel acima que recebe o st.executeQuery)
             {
                //SETA O VALOR de fullName aqui
                st.close();
                return true; // encontrou usuario
             }  
..

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...