Pular para o conteúdo principal

Criando um sistema de login em Java.

Login
Pessoal, nesse exemplo vou demonstrar como criar um sistema de login em Java, usando servlet, jsp, e html. A IDE usada será o Netbeans,
Bom a primeira coisa a ser feita é criar um projeto web pelo NetBeans.
Para isso, siga os seguintes passos.

Menu    
File → New Project

Agora clique em Java Web, depois aplicação WEB.












Agora clique em Next.

Coloque um nome para sua aplicação WEB, e clique em finish.













Novamente clique em Next.


Feito isso, agora vamos criar o formulário para que o usuário entre com o Login e a senha.

Formário HTML

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
   "http://www.w3.org/TR/html4/loose.dtd">

<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title> Sistema de login em JSP </title>
    </head>
    <body>

        Digite o nome do usuário e senha </br>
        <form name="frmlogin" method="post" action="login">
              <input type="text" id ="user" name="user">
              <input type="text" id="pwd" name="pwd">
              <input type="submit" id="btSalvar" value="Entrar" />
          </form>
       
    </body>
</html>


O código acima deve estar o arquivo index.jsp


Não vou explicar o HTML dessa página então se você tem alguma duvida entre em contato.

Bom isso feito agora vamos criar o o servlet, para isso, clique com o botão direito em cima do projeto, vá até  “New” agora escolha  servel, ou Java Servlet, coloque o nome “login”e acabe de criar o servlet.

O Código servlet desse ser esse.
 Servlet

import java.io.IOException;
import java.io.PrintWriter;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
   @WebServlet(name="login", urlPatterns="/login")

public class login extends HttpServlet {
    java.sql.Connection cnx;
   
    @Override

    protected void doPost(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
       // response.setContentType("text/html;charset=UTF-8");

        PrintWriter out = response.getWriter();
              // Essa parte recebe os dados enviados do formulário HTML.

        String  user = request.getParameter("user");
        String  pwd = request.getParameter("pwd");

        try {
           //Conexão com o Banco.
            Class.forName("com.mysql.jdbc.Driver");
           
           
        } catch (ClassNotFoundException ex) {

        }

            try {
           
             
           //     System.out.println("Abrindo conexão com o MySQL...");
            //Determina o Servidor o usuario e a senha para o banco de dados
              //não se esqueça de mudar.

                cnx = DriverManager.getConnection("jdbc:mysql://localhost/java", "usuario", "senha");
                
                Statement buscar = null;
                  ResultSet rs;
                  String sqlVerifica = "select nome,senha from login.usuarios where nome='" + user + "'";
                  buscar = cnx.createStatement();
                  rs  = buscar.executeQuery(sqlVerifica);
                  //java.sql.ResultSetMetaData dados = rs.getMetaData();
                  rs.next();
               //   out.print("senha digitada é " + pwd);
                //  out.print(" Senha correta é " + rs.getObject(2));
                  String senhacerta = "" +  rs.getObject(2) + "";

                  if (pwd.equals(senhacerta))  request.getRequestDispatcher("/WEB-INF/home.jsp").forward(request, response);
                  else request.getRequestDispatcher("/index.jsp").forward(request, response);
                //String sqlVerifica = "select nome,senha from login.usuarios where nome='" + user + "'";
                //java.sql.PreparedStatement VerLogin = cnx.prepareStatement(sqlVerifica);
                //ResultSetMetaData teste = VerLogin.getMetaData();

            } catch (SQLException ex1) {
                Logger.getLogger(login.class.getName()).log(Level.SEVERE, null, ex1);
            }
       

    }
   
}

Banco de dados
O código acima deve funcionar, antes de terminar nós precisamos criar o Banco de dados.

Para isso siga os passas abaixo no Mysql.

CREATE DATABASE login;
Use login;
create table usuarios(
nome varchar(30),
senha varchar(20))

Isso vai criar a tabela que usaremos para testar o login.

A página home.jsp é essa.

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
   "http://www.w3.org/TR/html4/loose.dtd">

<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title></title>
    </head>
    <body>
        <h1>Seja bem vindo a sistema</h1>
        <img src="javinha.jpg" width="350" height="350" alt="Imagem de Teste" align="center">
  
   &amp;nbsp;   
    </body>
</html>


Bom é isso.



Postagens mais visitadas deste blog

Minha revisão de REDES

O Modelo internet. É composto por 5 camadas ( Aplicação, Transporte, Rede, Enlace e Física), as camadas superiores utilizam serviços oferecidos pelas camadas inferiores. Assim como as camadas inferiores recursos das camadas superiores, na imagem abaixo da pra se observar que por exemplo. A Camada Transporte REDE, recebe segmentos da tabela Transporte. O que é o RTT. Round-trip time, é o calculo que determina o tempo que um pacote leva para sair da fonte, e ir até o destino. Clique Aqui se quer saber como fazer esse calculo. O que é o Slow start. É o método que ao começar algum tipo de tráfego na rede, o host manda pequenas quantidades de pacotes, de acordo com o Janela, o receptor que não está havendo congestionamento. O que é um Socket ? Segundo Marcoratti, "Um socket pode ser entendido como uma porta de um canal de comunicação que permite a um processo executando em um computador enviar/receber mensagens para/de outro processo que pode estar sendo executado

Problema de charset OTRS

Tive um problema com apache e OTRS, nosso banco ORACLE estava no charset iso-8859-1. Foi necessário jogar essas linhas no arquivos /etc/init.d/httpd LANG='AMERICAN_AMERICA.WE8ISO8859P1'; export LANG NLS_LANG='AMERICAN_AMERICA.WE8ISO8859P1'; export NLS_LANG NLS_NUMERIC_CHARACTERS=,.; export NLS_NUMERIC_CHARACTERS Feito isso de um restart no apache service httpd restart Com isso deve resolver o problema.