Exibir dados do usuario logado

2 respostas Resolvido
javamysql
E

boa noite, eu criei uma interface onde o usuario realiza o login, agora quero criar outra interface aonde mostra os dados cadastrais do usuario logado. quero saber como faço isso?

seria mais ou menos assim?(eu criei uma classe separada da interface para realizar consulta no banco de dados) eu instanciei a interface e fiz que o textField enviasse o resultado do ResultSet

public boolean checkLogin(String nick, String senha) {

    Connection con = JBancoDeDados.getConnection();
    PreparedStatement stmt = null;
    ResultSet rs = null;

    boolean check = false;

    try {

        stmt = con.prepareStatement("SELECT * FROM usuario WHERE Nick = ? and Senha = ?");
        stmt.setString(1, nick);
        stmt.setString(2, senha);
        rs = stmt.executeQuery();

        if (rs.next()) {
            check = true;
            Interface_Perfil ip = new Interface_Perfil();
            setNome(rs.getString("Nome"));
            ip.txtExibirNickPerfil.setText(rs.getString("Nick"));
            ip.txtExibirSenha.setText("Senha");
            ip.txtExibirEmailPerfil.setText(rs.getString("Email"));
            
        }

    } catch (SQLException ex) {
        Logger.getLogger(UsuarioDAO.class.getName()).log(Level.SEVERE, null, ex);
    } finally {
        JBancoDeDados.closeConnection(con, stmt, rs);
    }

    return check;

}

2 Respostas

peczenyj
Solucao aceita

o que normalmente se faz é criar um objeto que represente a “sessão”.

ou seja, quando vc abre a aplicação, ela exige login e senha pois não existe uma “sessão ativa”. quando vc efetura a operação de login, então vc passa a ter uma sessão ativa e isso vai continuar existindo por um determinado tempo ou enquanto a programa não for fechado ( ou vc deslogar ).

quando falamos de Web, a sessão normalmente fica do lado do servidor e um cookie de sessão é gerado. o browser envia o cookie de sessão a cada request e o servidor pode verificar quem é vc.

o que é a sessão? vc pode imaginar que é uma coleção de informações que devem persistir entre operações. pode ser um objeto sem nada, um Object mesmo, não importa o que seja.

se a sessão existe, vc esta logado.

e se vc esta logado, vc pode armazenar o login na sessão!

e se vc armazena o login. vc pode armazenar muitas coisas e mostrar na tela, ou armazenar apenas o login e, quando necessario, vc usa isso para pegar mais informações no banco de dados.

Portanto se vc criar uma classe Session com apenas um atributo, getter e setter para o Nick do usuario, e vc armazenar esse objeto na memoria em algum lugar facil de acessar por todas as suas telas, então vc matou como resolver o seu problema.

vc não precisa chamar de Session. Pode chamar de qq coisa. pode chamar de DadosDoUsuarioLogado. chame de qq coisa q faça sentido para vc.

E

Opa, vlw pela ajuda!!

Criado 30 de setembro de 2018
Ultima resposta 1 de out. de 2018
Respostas 2
Participantes 2