Senin, 30 Agustus 2010

Membuat LoginAuthentication di dalam JSP

Pada pembahasan kali ini saya akan menunjukkan bagaimana cara untuk meng-authentikasi dan login pengguna terhadap database username dan password. Program yang akan dibuat ini terdiri dari halaman JSP dan Servlet untuk mengauthentikasi pengguna terhadap database username dan password.

Pengguna memasukkan username dan password pada halaman JSP dan melakukan event klik pada tombol Sign-In.Pada event form submit, data diposting ke servlet untuk authentikasi pengguna. Servlet membuat koneksi JDBC dan authentikasi pengguna. Sebelum melakukan pengiriman data ke servlet, javascript akan memastikan terlebih dahulu bahwa tidak ada bidang yang kosong.

Server Tomcat digunakan dalam percobaan kali ini untuk menjalankan servlet dan JSP. Anda dapat menggunakan browser apapun untuk menguji aplikasinya. Saya menggunakan dua file, yaitu AuthenticLogin.jsp dan LoginAuthentication.java dan saya juga akan membuat aplikasi tersebut di "webapps /JSPMultipleForms" di server tomcat. saya juga menggunakan MySQL untuk koneksi database guna menempatkan nilai ke dalam table user. Berikut ini adalah stucture dari tabel user.

Struktur Tabel User pada MySQL


CREATE TABLE `user` (
`user` varchar(256) default NULL,
`password` varchar(256) default NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

/*Data for the table `user` */

insert into `user`(`user`,`password`) values ('amit','kumar');



AuthenticLogin.jsp akan memanggil servlet "LoginAuthentication" untuk mengauthentikasi input pengguna. Servlet "LoginAuthentication.java" yang pertama akan menetapkan koneksi JDBC ke database di komputer dengan IP Address 192.168.10.58 . Database yang digunakan pada aplikasi ini adalah messagepaging. anda dapat melakukan perubahan database sebelum mencoba menjalankan program ini di komputer anda. Maka hasilnya program akan mengauthentikasi pengguna terhadap database. Jika input yang diberikan oleh pengguna benar maka akan muncul pesan (alert) pada browser berupa "Welcome" dan jika nama pengguna berbeda "Please enter correct username and password" dan anda akan diberikan link untuk login kembali.

LoginAuthentication.java


import java.io.*;
import java.util.*;
import java.sql.*;
import javax.servlet.*;
import javax.servlet.http.*;

public class LoginAuthentication extends HttpServlet{

private ServletConfig config;

public void init(ServletConfig config)
throws ServletException{
this.config=config;
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException,IOException{

PrintWriter out = response.getWriter();
String connectionURL = "jdbc:mysql://192.168.10.59/messagepaging";
Connection connection=null;
ResultSet rs;
String userName=new String("");
String passwrd=new String("");
response.setContentType("text/html");
try {
// Load the database driver
Class.forName("com.mysql.jdbc.Driver");
// Get a Connection to the database
connection = DriverManager.getConnection(connectionURL, "root", "root");
//Add the data into the database
String sql
= "select user,password from User";
Statement s = connection.createStatement();
s.executeQuery (sql);
rs = s.getResultSet();
while (rs.next ()){
userName=rs.getString("user");
passwrd=rs.getString("password");
}
rs.close ();
s.close ();
}catch(Exception e){
System.out.println("Exception is ;"+e);
}
if(userName.equals(request.getParameter("user"))
&& passwrd.equals(request.getParameter("pass"))){
out.println("WELCOME "+userName);
}
else{
out.println("Please enter correct username and password");
out.println("<a href='AuthenticLogin.jsp'><br>Login again</a>");
}
}
}


2. AuthenticLogin.jsp


<%@ page language="java" %>
<html>
<head>
<title>Login Page</title>
<script language = "Javascript">
function Validate(){
var user=document.frm.user
var pass=document.frm.pass

if ((user.value==null)||(user.value=="")){
alert("Please Enter user name")
user.focus()
return false
}
if ((pass.value==null)||(pass.value=="")){
alert("Please Enter password")
pass.focus()
return false
}
return true
}
</script>
</head>
<body>
<h1>Login
<br>
</h1>
<form name="frm" action="/JSPMultipleForms/LoginAuthentication" method="Post" onSubmit="return Validate()" >
Name:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type="text" name="user" value=""/><br>
Password:<input type="password" name="pass" value=""/><br>
<br>&nbsp;&nbsp;&nbsp;<input type="submit" value="Sign-In" />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type="reset" value="Reset" />
</form>
</body>
</html>


Untuk servlet invoking di server tomcat
kita harus menyertakan baris berikut ke dalam "file web.xml"

3. web.xml

<!--web.xml code -->

<servlet>
<servlet-name>LoginAuthentication</servlet-name>
<servlet-class>LoginAuthentication</servlet-class>
</servlet>

<servlet-mapping>
<servlet-name>LoginAuthentication</servlet-name>
<url-pattern>/LoginAuthentication</url-pattern>
</servlet-mapping>



Langkah-langkah yang harus dilakukan adalah sebagai berikut:
1. Create dan simpan LoginAuthentication.java
2. Compile LoginAuthentication.java dan tempat file folder kelas ke dalam kelas.
3. insert nama servlet dan mapping di web.xml
4. Create dan simpan file AuthenticLogin.jsp ke dalam folder JSPMultipleForms
5. Deploy Tomcat server.
6. Pada Address bar masukan "http://localhost:8080/JSPMultipleForms/AuthenticLogin.jsp"







Dengan memasukan alamat email dibawah ini, berarti anda akan dapat kiriman artikel terbaru dari Q-Learning di inbox anda:



Not the Article you Wanted? Search This Site

Google

0 komentar:

←   →

Update Lewat Email

Gratis berlangganan artikel via RSS FEED

Dengan memasukan alamat email dibawah ini, berarti anda akan dapat kiriman artikel terbaru dari Q-Learning di inbox anda:

Tinggalkan Pesan Anda Di sini

Recent Post

 

Recent Comment

Statistik

Mengenai Saya

Foto Saya
adalah seorang mahasiswa yang mencoba untuk belajar bekerja dengan kata, menulis dengan kalimat dan bersuara dengan lantang. Seorang pria muslim biasa yang hobi membaca, menulis walau corat coret doang, minat pada banyak hal: IT, Web Design, Interior dan Eksterior Design, Drawing, Sastra Sampai Kuliner.