Criando Login

18 respostas
L

Salve Lords do Java…

Estou novamente precisando de vossa ajuda…sou iniciante java e estou criando um sistema de academia, até ai tudo bem…o problema é que não estou conseguindo criar o login, tipo…o sistema inicia e pede login e senha…mas como criar? como vincular isso ao banco?

aguardo qualquer ajuda.

18 Respostas

R

A forma mais simples, comum e que muita gente conhece é através de sessão. Em java, dá uma pesquisada em HttpSession. Para ter uma ideia melhor de sessão, assista esse vídeo depois. https://www.youtube.com/watch?v=j89td4FfZBc. É em ASP.net, mas o importante é a explicação de sessions.

A

Acesse este endereço: https://minhabibliotecablog.wordpress.com/2016/01/05/tela-de-login/ nele disponibilizo o código de meu form de login de um programa que ainda está em desenvolvimento, mas não se preocupe, a parte de login está uma beleza :wink:
Caso sinta mais dúvidas fique à vontade para vasculhar o blog, lá também contém meu contato.
O método para fazer a verificação dos dados:

public boolean acessarSistema(String username, String password){
        boolean result = false;
        /* Testa se há conexão com o Banco de Dados 
         * If is connected with the database */
        if(fabrica.abrirConexao()){
            try {
                PreparedStatement statement = fabrica.connection.prepareStatement(consultaAdministrador);
                ResultSet resultSet = statement.executeQuery(); // Executa a consulta; Execute the Query
                resultSet.first();
                /* Verifica se nome de usuário e senha estão Ok. 
                 * checks if the username and password be ok. */
                if(username.equals(resultSet.getString("Username"))
                        && password.equals(resultSet.getString("password"))){
                    result = true;
                } else {
                    result = false;
                }
            } catch(SQLException erro){
                result = false;
            }
        }
        return result;
    }
L

Rodrigo…valeu a dica…vou ver o video…

L

AllefT…valeu pelo código…mas assim…se eu pegar esse código e inserir no meu projeto eu nao vou aprender como faz…so vou copiar e colar…mas valeu a dica…

T

Tenho um projeto que faz esta funcionalidade . Mas como voce disse se voce for usar o codigo nao vai aprender. Porem se voce ja entende JDBC nao vejo a dificuldade em que entenda o codigo…

L

E verdade Tec.ER…Estava vendo o codigo do AllefT…e vi que realmente é simples…poderia enviar o seu para que eu possa anailizar tambem?

A

Bom dia, Legolas!
Cara, o segredo do bom programador é saber ler código e ir aprendendo a entendê-los para poder fazer os teus de modo que outros também entendam. Talvez esta seja a característica que mais pesou na hora que escolhi programar em Java, portabilidade e reutilização do código.

T

Minha Classe LoginBO:
`public class LoginBO {

public boolean logar(LoginDTO loginDTO) throws NegocioException{
	boolean resultado = false;
	try{
		if(loginDTO.getNome() == null || "".equals(loginDTO)){
			throw new NegocioException("Logn Obrigatorio");
		}else if(loginDTO.getSenha() == null || "".equals(loginDTO.getSenha())){
			throw new NegocioException("Logn Obrigatorio");

		}else{
			LoginDAO loginDAO = new LoginDAO();
			resultado= loginDAO.logar(loginDTO);
				
			}
		
	}catch(Exception e){
		e.printStackTrace();
		throw new NegocioException(e.getMessage(),e);
	}
	return resultado;
}

}`

Minha Classe LoginDTO:

`public class LoginDTO {

private Integer id;
private String nome;
private String senha;
public Integer getId() {
	return id;
}
public void setId(Integer id) {
	this.id = id;
}
public String getNome() {
	return nome;
}
public void setNome(String nome) {
	this.nome = nome;
}
public String getSenha() {
	return senha;
}
public void setSenha(String senha) {
	this.senha = senha;
}

}
`
Minha Classe LoginDAO:

`

public class LoginDAO{

public boolean logar(LoginDTO loginDTO) throws PersistenciaExcpetion{

boolean resultado = false;

try {

Connection connection = ConexaoUtil.getInstance().getConnection();

String sql = select * from tb_login where nome = ? and senha = ?;

PreparedStatement statment = connection.prepareStatement(sql);

statment.setString(1, loginDTO.getNome());

statment.setString(2, loginDTO.getSenha());
ResultSet resultSet = statment.executeQuery();
		resultado = resultSet.next();
		connection.close();
	} catch (Exception e) {
		e.printStackTrace();
		throw new PersistenciaExcpetion(e.getMessage(), e);
	}
	return resultado;
	
}`

Exemplo Ao seta no Botão cadastra através do Swing:

`btnLogar.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent evt) {

LoginDTO loginDTO = new LoginDTO();
			loginDTO.setNome(txtLogin.getText());
			//TRANSFORMANDO O GETPASSWORD QUE E CAEACTER PRA STRING
			loginDTO.setSenha(new String (passSenha.getPassword()));
			
			LoginBO loginBO = new LoginBO();
			try{
			
				if(loginBO.logar(loginDTO)){
					LoginFrame.this.dispose(); //se o usuario loga com sucesso ele fecha a tela de login e chama a classe de cadastro MainFrame chamada abaixo.
					MainFrame m =new MainFrame();
					m.setLocationRelativeTo(null);
					m.setVisible(true);
				}else{
					MensagensUtil.addMsg(LoginFrame.this, "Dados Invalidos");
				}
				
			
			
			}catch(Exception e){
				e.printStackTrace();
				MensagensUtil.addMsg(LoginFrame.this, e.getMessage());
			}
		}`

Esta Completo basta voce cria uma tabela no banco com um (id_login que seja auto icremento chave primaria, cria uma coluna nome, uma coluna senha do tipo varchar…

A

T

So lembranco que pra conexao estou usando o padrão Singleton , então e interessante que der uma pesquisada sobre os mesmo, lembrando tambem que estas siglas DAO, DTO, BO, são todos padroes de projetos se nao tem familiriade recomendo que pesquise , pra que o entendimeto do codigo fique mais facil.

L

Tem razão AllefT…vou pegar o teu codigo e o do Tec.ER…valeu ai a ajuda dos dois…

L

valeu…

A

E então @Legolas , conseguiu?! Não esqueça de colocar o tópico como resolvido! :wink:

L

AllefT…consegui o Login…teu código e muito bom…não deu erro…mas como to aprendendo a criar programas no java…não consegui criar o formulário de Cadastro…eu consegui conectar no banco, no postgree com o teu código e tudo…mas na hora de inserir um cadastro no form Cadastro,da sempre um erro…Allef, me diz, tu tem ai um tutorial no teu blog que ensina passo a passo como criar um aplicação…até faço do começo se tu tiver…

A

@Legolas espero estar postando novos código essa semana. Todo o código fonte do meu programa será postado lá.
Caso precise de ajuda: [email removido]
Conta comigo, irmão!
OBS: Lembre de escolher a melhor resposta e encerrar a discussão :wink:

T

qual seu blog @AllefT ?

A

O blog não é exatamente “meu”.
É de uma ferramenta que acabei de desenvolver como meu TCC ( Trabalho de Conclusão de Curso ) lá estou disponibilizando o código fonte e o download da mesma… Ainda não coloquei a maioria das classes, mas em breve estarão lá…

T

Legal seu prjeto cara, na minha faculdade tem um sistema de pega livros emprestados , porem são so tre,s dias pra fazer a devolução do livro, porem o sistema nao avisa e muitas das vezes com corrreria de semestre esquecemos de paga o livro, e cada dia e debitado 2,00 reais , esse esquema que seu programa faz da notificação e muito utlil… Deve ter tirado 10 em rs parabéns

A

Obrigado!

Criado 6 de fevereiro de 2016
Ultima resposta 14 de fev. de 2016
Respostas 18
Participantes 4