Aplikasi Login dengan Java dan MySQL

Aplikasi Login dengan Java dan MySQL
Setelah postingan kemarin tentang Menyimpan Password Terenkripsi ke Database. Ada yang tanya, lalu bagaimana cara loginnya, kalo passwordnya terenkripsi. Jadi saya coba lanjutin project kemarin untuk buat Aplikasi Login dengan Java MySQL. Buat yang belom baca postingan tentang aplikasi registrasinya, silakan baca postingan saya tentang Menyimpan Password Terenkripsi ke Database. Dan download projectnya. Buat yang udah nyobain, silakan lanjutkan projectnya dengan menambahkan 2 file yang akan dibahas di tutorial ini. 



Buka lagi project LoginApp dan buat file baru bernama login.jsp. Buat form login seperti ini :
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>Login</title>
    </head>
    <body>
        <center>
        <form action="login" method="post">
            <table align="center"><tr><td><h2>Login</h2></td></tr></table>
            <table width="300px" align="center" style="border:1px solid #000000;background-color:#efefef;">
                <tr><td colspan=2></td></tr>
                <tr><td colspan=2> </td></tr>
                <tr>
                    <td><b>Username</b></td>
                    <td><input type="text" name="username"></td>
                </tr>
                <tr>
                    <td><b>Password</b></td>
                    <td><input type="password" name="password"></td>
                </tr>
                <tr>
                    <td></td>
                    <td><input type="submit" name="Submit" value="Login"></td>
                </tr>
                <tr><td colspan=2> </td></tr>
            </table>
        </form>
    </center>
    </body>
</html>

Selanjutnya buat file java untuk authentikasi username dan password untuk loginnya, seperti ini:
package net.hanivinside;

import java.io.IOException;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.Arrays;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.tomcat.util.codec.binary.Base64;

public class login extends HttpServlet {
 
    
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
                    response.setContentType("text/html");  
      PrintWriter out = response.getWriter();  
                    
      try{
                        String Username = request.getParameter("username"); 
                        String Password = request.getParameter("password");
                        
                        //dari sini mulai enkripsi               
                        byte[] byteArray = Base64.encodeBase64(Password.getBytes()); //mengambil bytes dari Password
                        System.out.println(Arrays.toString(byteArray)); //menyimpan hasil enkrip ke dalam array
                        String base64pass = new String(byteArray); //menyimpan hasil enkrip ke string base64pass

                        if(validate(Username, base64pass)){          
                            out.println("Login berhasil");
                        }    
                        else{   
                            out.println("Login gagal");   
                        } 

         
      }  
      catch (Exception e){  
        out.println(e);  
      }  

 
                    
 }  
    //ini fungsi untuk validasi user+pass ke database
    public static boolean validate(String username,String password){  
    String connectionURL = "jdbc:mysql://localhost:3306/LoginApp"; 
    boolean status=false;  
    try{  
        Class.forName("com.mysql.jdbc.Driver");  
        Connection con=DriverManager.getConnection(connectionURL,"root","haniv");  
        PreparedStatement ps=con.prepareStatement("select * from user where username=? and password=?");  
        ps.setString(1,username);  
        ps.setString(2,password);  
        ResultSet rs=ps.executeQuery();  
        status=rs.next();  
        }
            catch(Exception e){e.printStackTrace();}  
            return status;  
    } 
}

Terakhir, tambahkan script ini untuk konfigurasi servletnya di web.xml
<servlet>  
        <display-name>login</display-name>  
        <servlet-name>login</servlet-name>  
        <servlet-class>net.hanivinside.login</servlet-class>  
    </servlet>  
    
    <servlet-mapping>
        <servlet-name>login</servlet-name>
        <url-pattern>/login</url-pattern>
    </servlet-mapping>


Simpan. sekarang coba jalankan aplikasinya. Hasilnya akan seperti ini :
Aplikasi Login dengan Java dan MySQL

Saat berhasil login, akan tampil seperti ini :
Aplikasi Login dengan Java dan MySQL

Gimana? simple kan.. silakan dikembangkan lagi sesuai kebutuhan, Semoga bermanfaat.
Previous
Next Post »

- Kritik dan saran sangat saya nantikan untuk kemajuan blog ini.
- Silakan report, jika ada link yang mati.
- Mohon untuk berkomentar sesuai dengan tema postingan.
- Dilarang berkomentar yang mencantumkan LINK AKTIF.
ConversionConversion EmoticonEmoticon