Jump to content
Fórum Script Brasil
  • 0

Trazendo Para O Formulário Outro Campo Do Bd


frnd
 Share

Question

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 to comment
Share on other sites

6 answers to this question

Recommended Posts

  • 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 to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share



  • Forum Statistics

    • Total Topics
      150.2k
    • Total Posts
      647.4k
×
×
  • Create New...