Kita
akan mencoba membuat aplikasi web “Login” menggunakan web server Netbeans dan
JSP. Langkah–langkahnya
:
1.
Buatlah sebuah tabel bernama Login di Sql Server 2005 dengan kolom
id, username dan password. Pastikan
kolom id bertipe integer dan identity serta password bertipe nvarchar(50).
2.
Buat sebuah projek bernama Login dan buat file Login_Utama.jsp
sebagai berikut, yang menampilkan kotak input serta button submit, jika button
submit ditekan akan dikirim form login.jsp menggunakan method POST.
<%@include file="header.jsp"%>
<html><head>
<title>Form Login
<%=nama_server%></title> </head>
<body bgcolor="yellow">
<form name="form1"
method="post" action="login.jsp">
<font
color=green><h1 align=center><strong >Server :
<%=nama_server%></strong></h1></font><br>
<h3>
Mohon masukkan Nama dan Password Anda</h3><br>
Username :
<input name="idk" type="text"
id="idk"><br>
Password :
<input name="sandi" type="password"
id="sandi"><br>
<input
type="submit" name="Submit"
value="Login"><br>Mau ikutan ?<a
href="daftar.jsp">Daftar disini</a>
<%
String
pesanerror=request.getParameter("pesanerror");
if(pesanerror==null)
{
pesanerror="";
}
%>
<%=pesanerror%>
</form>
</body>
<h5>Copyright Binus Students and Www.Widodo.Com 2007</h5>
</html>
Pada
program diatas, karena kita menggunakan sintask sql, maka paket java.sql.*
harus disertakan. Program juga menyertakan file header.jsp yang berisi
informasi koneksi database menggunakan pernyataan :
<%@include file="header.jsp"%>
Program juga akan menampilkan nama server kita dengan pernyataan :
Server <
%= nama_server%>h1>
2. Setelah itu, buat form login.jsp untuk melakukan proses login ke
database sql server.
<%@include file="header.jsp" %>
<%@ page import="java.sql.*"
errorPage=”error.jsp”%>
<%@include file="buatkoneksi.jsp" %>
<%
String idk=request.getParameter("idk");
if(idk==null)
idk="";
String
sandi=request.getParameter("sandi");
if(sandi==null)
sandi="";
hasil_query=statement_sql.executeQuery("select
* from login");
String idk_sql=null;
String sandi_sql=null;
boolean login=false;
while(hasil_query.next())
{
idk_sql=hasil_query.getString("username");
sandi_sql=hasil_query.getString("password");
if(idk.equals(idk_sql)
&& sandi.equals(sandi_sql))
{
session.setAttribute("idk",
idk);//buat session
login=true;//set
jadi true
break;
}
}
%>
<%
if(login)
{
%>
<jsp:forward
page="main.jsp">
<jsp:param
name="link" value="home" />
</jsp:forward>
<%
}
else
{
%>
<jsp:forward page="main.jsp" >
<jsp:param
name="pesanerror" value="Anda gagal, periksa username dan
password anda." />
</jsp:forward>
<%
}
%>
<%
statement_sql.close();
koneksi_sql.close();
%>
Pada program diatas, biasanya untuk menampilkan pesan
error jika terjadi error pada dokumen, digunakan property errorPage yang akan
memanggil file error.jsp buatan kita. Program
diatas akan membandingkan apakah usename dan password yang dimasukkan user ada
di table user denga pernyataan sebagai berikut :
hasil_query=statement_sql.executeQuery("select
* from login");
3. Setelah itu, anda harus membuat file pendukung untuk koneksi yang terdiri
dari file header.jsp dan buatkoneksi.jsp dalam bentuk modul sehingga dapat digunakan
oleh banyak form sebagai berikut :
header.jsp
<%
String
driver_sql = "sun.jdbc.odbc.JdbcOdbcDriver"; //driver
String
nama_server="widodolaptop"; // Nama website
String
namadb="java"; // database yang digunakan
String
user_sql="sa"; // user untuk sql server
String pass_sql="password_anda";
// password untuk sql server Anda
java.util.Date tanggal = new java.util.Date();
int tgl =
tanggal.getDate();
int
bln = tanggal.getMonth()+1;
int
thn = tanggal.getYear()+1900;
int
jam = tanggal.getHours();
String
hari;
if(jam <= 3 || jam
>= 20) hari = "Malam";
else if(jam > 3 || jam < 11) hari ="Pagi";
else
if(jam >= 11 || jam <= 16) hari = "Siang";
else hari =
"Sore";
%>
buatkoneksi.jsp :
<%
Class.forName(driver_sql);
String
urldb="jdbc:odbc:Kopi";
Connection
koneksi_sql=DriverManager.getConnection(urldb, user_sql, pass_sql);
Statement
statement_sql=koneksi_sql.createStatement();
ResultSet
hasil_query=null;
Statement
statement_sql2=koneksi_sql.createStatement();
ResultSet
hasil_query2=null;
%>
Kode diatas akan membuat koneksi ke
database dan menggunakan objek tanggal untuk mengecek tanggal dari komputer
yang sedang mengakses aplikasi tersebut.
1.
Buatlah form main.jsp untuk
menampilkan status login Anda
<%@ page
import="java.util.*"%>
<%@ page
import="java.sql.*"%>
<%@include file="header.jsp"%>
<%@include file="buatkoneksi.jsp" %>
<%
String
idk=(String)session.getAttribute("idk");
if(idk==null)
{
%>
<%
}
else
{
%>
Selamat <%=idk%> , Anda telah sukses Login
<%
}
%>
5. Jika telah selesai, coba
anda jalankan aplikasi dimulai dari Login_Utama.jsp :
6. Jika anda mengklik button Submit maka form
akan dipanggil dengan tampilan sebagai berikut :
Tampilan dari form
main.jsp
import java.io.*;
import java.util.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class SessionExample extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException
{
response.setContentType("text/html");
PrintWriter out = response.getWriter();
HttpSession session = request.getSession(true);
// print info session
Date created = new Date(session.getCreationTime());
Date accessed = new Date(session.getLastAccessedTime());
out.println("ID " + session.getId());
out.println("Created: " + created);
out.println("Last Accessed: " + accessed);
// set session info if needed
String dataName = request.getParameter("dataName");
if (dataName != null && dataName.length() > 0) {
String dataValue = request.getParameter("dataValue");
session.setAttribute(dataName, dataValue);
}
// print isi session
Enumeration e = session.getAttributeNames();
while (e.hasMoreElements()) {
String name = (String)e.nextElement();
String value = session.getAttribute(name).toString();
out.println(name + " = " + value);
}
}
}


Tidak ada komentar:
Posting Komentar