Java

3 respostas
J

sou iniciante no java e queria saber com eu crio um algoritmo que solicite do usuário sua senha e seu login
e depois valide-os

3 Respostas

D

Primeiro. Os dados para fazer a validação vão estar onde? Em um banco de dado, em um arquivo local?
Aí é simples. Você recebe o login e senha como String. busca no banco de dado ou no arquivo local. Se ele existir em um dos 2 e usuário e senha baterem você retorna verdadeiro, caso não retorna falso

Andre_Rosa

juka2011:
sou iniciante no java e queria saber com eu crio um algoritmo que solicite do usuário sua senha e seu login
e depois valide-os

Além do péssimo título, você não deu quase informação nenhuma. Assim fica difícil ajudar.

Gustavo_Marques

Olá juka bem vindo ao guj, coloque como título do tópico algo mais específico ex.: “como receber e validar login e senha” ou algo assim.
Bom se é iniciante saiba primeiro a orientação a objetos e mvc além da linguagem é claro.

Crie uma classe que processe separadamente o login e senha, essa classe fornecerá o serviço de validação de login e senha
Algo tipo:

public class ValidaLogin{
   public boolean ehValido(String login, String senha){
      if(login.equals("fulano") && senha.equals("123456") ){
         return true;
      }
      return false;
   }
}

Pronto, essa classe fornece o serviço de validação de senha, é claro que “fulano” e “123456” são valores fictícios, você deve buscar esses valores ou num banco de dados (estude JDBC) ou num arquivo local (estude java.io).

Agora você precisa criar a classe que solicitará o serviço de validação de loging da classe anterior que criamos,
Se for ambiente web talvez seja um servlet, pode ficar assim

primeiro o form html login.jsp

<form action="ValidarLoginServlet" method="post">
Nome: <input name="usuario" type="text"/>
Senha: <input name="senha" type="text"/>
<input type="submit" value="Efetuar Login" />
</form>

Agora o servlet mapeado no web.xml para ValidarLoginServlet

//método que recebe solicitações post
public void doPost(HttpServletRequest request, HttpServletResponse response){
   if(new ValidaLogin().ehValido(request.getParameter("usuario"), request.getParameter("senha"))){
      //sucesso, 
      request.getRequestDispatcher("sucesso.jsp").forward(request, response);
   }else{
      //erro, volta pra tela de login para tentar novamente
      request.getRequestDispatcher("login.jsp").forward(request, response);
   }
}

Agora se for ambiente desktop, talvez uma aplicação swing poderia ficar:
crie um Jframe com 2 jtextfields e um JButton (vou deixar para vc estudar como criar telas em swing)
Aí você aprenderá que para processar um clique de jbutton chamamos uma classe que implementa ActionListner
Crie esta classe:

public class ProcessaLogin implements ActionListner{
   public void actionPerformed(ActionEvent e) {
      //aqui vc chama a classe que criamos para a validação de loging e senha passando como parametro os valores dos jtextfields
      if(new ValidaLogin().ehValido(userTextField.getText().trim(), senhaTextField.getText().trim())){
         JOptionPane.showMessageDialog(null, "Sucesso");
      }else{
         JOptionPane.showMessageDialog(null, "Erro");
      }

   }
}

Em ambos os ambientes (web ou desktop) perceba que o serviço da primeira classe que criamos (ValidaLogin) foi utilizado, o mesmo código desta classe foi reaproveitado em diferentes ambientes,

Se começar a estudar java para iniciantes e orientação a objetos logo você pega o jeito.

att

Criado 17 de dezembro de 2011
Ultima resposta 17 de dez. de 2011
Respostas 3
Participantes 4