1. java
  2. android
  3. c#
  4. .net
  5. javascript
  6. php
  7. jquery
  8. html
  9. sql

Login Utilizando MySql + Java SE + MVC

Boa noite pessoal primeiramente, essa é a primeira vez que faço perguntas aqui, então perdoem eventuais faltas de atenção. Então, estou precisando desenvolver uma tela de login no padrão MVC (pois todo o projeto está assim), e o projeto depende deste login, cada login feito, o sistema grava um log no banco e de acordo este log, o sistema sabe quem é a pessoa conectada, isso serve pra gravar log para todas as funcionalidades do sistema (para relatorios), acontece que eu acertei fazer este login utilizando tudo no Jframe de login, mas não estou acertando fazer em MVC devido aos inserts e selects que devem ser feitos, estou me atrapalhando para transitar os dados entre as telas, alguém poderia me dar algum exemplo ou uma sugestão?

segue o meu código, ele funciona dentro do jframe, mas preciso implementar isso em MVC.

        String login = jTextField_LOGAR_USUARIO.getText();
        String senha = new String(jPasswordField_LOGAR_SENHA.getPassword());

        try {

            String SQLVerificar = "select * from funcionario,pessoa where funcionario.id_pessoa_fk = pessoa.id_pessoa;";
            PreparedStatement STM = Conexao.getConection().prepareStatement(SQLVerificar);
            ResultSet RS = STM.executeQuery();

            while (RS.next()) {
                //VERIFICA SE O CAMPO LOGIN ESTA VAZIO
                if (login.equals("")) {
                    JOptionPane.showMessageDialog(null, "Você precisa informar o Login");
                    break;
                } else {
                    //VERIFICA SE O CAMPO SENHA ESTA VAZIO                   
                    if (senha.equals("")) {
                        JOptionPane.showMessageDialog(null, "Você precisa informar a Senha");
                        break;
                    } else {
                        //COMPARA O login DIGITADO COM O LOGIN DO BANCO.
                        if (RS.getString("funcionario.login").equals(login)) {
                            //COMPARA A senha DIGITADA COM A SENHA DO BANCO CORRESPONDENTE AO LOGIN A CIMA.
                            if (RS.getString("funcionario.senha").equals(senha)) {
                                if (RS.getString("funcionario.login").equals(login) != RS.getString("funcionario.senha").equals(senha)) {
                                    JOptionPane.showMessageDialog(null, "Login ou senha invalidos.");
                                } else if (RS.getString("funcionario.status_login").equals("Bloqueado(a)")) {
                                    JOptionPane.showMessageDialog(null, "Seu Login está temporariamente bloqueado.");
                                } else {
                                    JOptionPane.showMessageDialog(null, "Bem vindo(a) " + RS.getString("pessoa.nome"));
                                    Login_Model.setNome(RS.getString("pessoa.nome"));
                                    JOptionPane.showMessageDialog(null, "NOME É: " + Login_Model.getNome());

Login_Model.setLogin(jTextField_LOGAR_USUARIO.getText());
Login_Model.setSenha(String.valueOf(jPasswordField_LOGAR_SENHA.getPassword()));                                    Login_Model.setId_funcionario(RS.getInt("funcionario.id_funcionario"));

                                    Login_Contr.verifcarLogLogin(Login_Model);

                                    new JFramePRINCIPAL().setVisible(true);
                                    dispose();
                                }
                                break;
                            }
                            break;
                        }
                    }
                }
            }
        } catch (SQLException ex) {
            Logger.getLogger(Funcionario_DAO.class.getName()).log(Level.SEVERE, null, ex);
        }
  • Pessoal, a título de informação eu conseguir fazer tudo e ficou perfeito, se melhorar estraga, era bem simples. Acho que café d+ e dormir d- está consumindo os neoroneos, é por que tenho urgência no sistema, ele é um TCC e será implantado a alguns dias já. Agora se alguém poder me ajudar, eu estou com um outro problema que já tinha pensado em maneiras de resolve-lo. Fechar um Frame por outra classe. na prática, depois das validações, a classe Login_Dao registra o log do Login feito e manda fechar a tela de login e abrir a tela principal

    Jessé Alves   30 de set de 2015
  • Mas não está fechando a tela de login, alguém sabe dizer por que?

    JFrame_Principal framePrincipal = new JFrame_Principal();
                                framePrincipal.setVisible(true);
                                JFrame_Login frameLogin = new JFrame_Login();
                                frameLogin.dispose();
    Jessé Alves   30 de set de 2015
  • alterei com oresposta.

    Anderson CALERA   30 de set de 2015
  1. Você vai ver essas setas em qualquer página de pergunta. Com elas, você pode dizer se uma pergunta ou uma resposta foram relevantes ou não.
  2. Edite sua pergunta ou resposta caso queira alterar ou adicionar detalhes.
  3. Caso haja alguma dúvida sobre a pergunta, adicione um comentário. O espaço de respostas deve ser utilizado apenas para responder a pergunta.
  4. Se o autor da pergunta marcar uma resposta como solucionada, esta marca aparecerá.
  5. Clique aqui para mais detalhes sobre o funcionamento do GUJ!

1 resposta

Não é a resposta que estava procurando? Procure outras perguntas com as tags java mysql login ou faça a sua própria pergunta.