Pernyataan: Asli oleh penulis, semua hak dilindungi undang-undang.
Reproduksi yang tidak sah tidak diperbolehkan. Gunakan kacang dan servletuntuk
bersama-sama mengimplementasikan registrasi pengguna dan login di jsp
Hak Cipta: imagebear
Perangkat lunak dan lingkungan pengoperasian diperlukan untuk contoh ini:
1. Sistem operasi Server Windows2000
2.jdk1.4
3. JCreator2.5 (debugger pengeditan kode sumber java, direkomendasikan bagi mereka yang muntah darah!)
4. Macromedia JRun MX
5. Macromedia Dreamweaver MX (opsional)
6. Database MySQL (yang terbaik adalah menginstal MySQL Control Center)
1. Desain database Buka database MySQL dengan MySQL Control Center, buat belanja database baru, dan buat tabel baru tbl_user di bawahnya, dengan setiap bidang ditetapkan sebagai berikut:
2. Tulis kacang database koneksi: DBConn.java
//DBConn.java
//sertakan kelas yang diperlukan
impor java.sql.*;
//============ = =
// Definisikan ClassDBConn
//=============
kelas publikDBConn
{
String publik sql_driver = "org.gjt.mm.mysql.Driver";
String publik sql_url = "jdbc:mysql://localhost:3306";
String publik sql_DBName = "belanja";
String publik pengguna = "sa";
string publik pwd = "";
Sambungan koneksi = null;
Pernyataan stmt = null;
ResultSet rs = null;
setDriver boolean publik(String drv)
{
ini.sql_driver = drv;
kembali benar;
}
String publik getDriver()
{
kembalikan ini.sql_driver;
}
boolean publik setUrl(String url)
{
ini.sql_url = url;
kembali benar;
}
boolean publik setDBName (String dbname)
{
this.sql_DBName = nama db;
kembali benar;
}
String publik getDBName()
{
kembalikan ini.sql_DBName;
}
setUser boolean publik (Pengguna string)
{
this.pengguna = pengguna;
kembali benar;
}
String publik getUser()
{
kembalikan this.user;
}
boolean publik setPwd(String pwd)
{
ini.pwd = pwd;
kembali benar;
}
String publik getPwd()
{
kembalikan ini.pwd;
}
publikDBConn()
{
mencoba{
Class.forName(sql_driver);//Muat driver basis data
this.conn = DriverManager.getConnection(sql_url + "/" + sql_DBName + "?user=" + pengguna + "&password=" + pwd + "&useUnicode=true&characterEncoding=gb2312");
this.stmt = ini.conn.createStatement();
}menangkap(Pengecualian e){
Sistem.keluar.println(e.toString());
}
}
//Melakukan operasi kueri
ResultSet publik mengeksekusiQuery (String strSql)
{
mencoba{
this.rs = stmt.executeQuery(strSql);
kembalikan ini.rs;
}menangkap(SQLException e){
Sistem.keluar.println(e.toString());
kembalikan nol;
}menangkap(NullPointerException e){
Sistem.keluar.println(e.toString());
kembalikan nol;
}
}
//Melakukan operasi penyisipan, penghapusan, dan modifikasi data
eksekusi boolean publik (String strSql)
{
mencoba{
if(ini.stmt.executeUpdate(strSql) == 0)
kembali salah;
kalau tidak
kembali benar;
}menangkap(SQLException e){
Sistem.keluar.println(e.toString());
kembali salah;
}menangkap(NullPointerException e){
Sistem.keluar.println(e.toString());
kembali salah;
}
}
//Penunjuk kumpulan hasil melompat ke baris tertentu
boolean publik rs_absolute(int baris)
{
mencoba{
this.rs.absolute(baris);
kembali benar;
}menangkap(SQLException e){
Sistem.keluar.println(e.toString());
kembali salah;
}
}
kekosongan publik rs_afterLast()
{
mencoba{
this.rs.afterLast();
}menangkap(SQLException e){
Sistem.keluar.println(e.toString());
}
}
kekosongan publik rs_beforeFirst()
{
mencoba{
this.rs.beforeFirst();
}menangkap(SQLException e){
Sistem.keluar.cetak(e.toString());
}
}
kekosongan publik rs_close()
{
mencoba{
this.rs.close();
}menangkap(SQLException e){
Sistem.keluar.cetak(e.toString());
}
}
kekosongan publik rs_deleteRow()
{
mencoba{
this.rs.deleteRow();
}menangkap(SQLException e){
Sistem.keluar.cetak(e.toString());
}
}
boolean publik rs_first()
{
mencoba{
ini.rs.pertama();
kembali benar;
}menangkap(SQLException e){
Sistem.keluar.cetak(e.toString());
kembali salah;
}
}
String publik rs_getString(kolom string)
{
mencoba{
kembalikan this.rs.getString(kolom);
}menangkap(SQLException e){
Sistem.keluar.println(e.toString());
kembalikan nol;
}
}
//Metode ini digunakan untuk mendapatkan bagian teks yang besar,
//Ganti carriage return dan line feed dengan <br>
//Keluaran ke halaman html
String publik rs_getHtmlString(kolom string)
{
mencoba{
String str1 = this.rs.getString(kolom);
String str2 = "rn";
String str3 = "<br>";
kembalikan ini.replaceAll(str1,str2,str3);
}menangkap(SQLException e){
Sistem.keluar.println(e.toString());
kembalikan nol;
}
}
//Ganti string str2 pada string str1 dengan string str3
String statis pribadi gantiSemua(String str1,String str2,String str3)
{
StringBuffer strBuf = StringBuffer baru(str1);
int indeks=0;
while(str1.indexOf(str2,index)!=-1)
{
indeks=str1.indexOf(str2,indeks);
strBuf.replace(str1.indexOf(str2,index),str1.indexOf(str2,index)+str2.length(),str3);
indeks=indeks+str3.panjang();
str1=strBuf.toString();
}
kembalikan strBuf.toString();
}
public int rs_getInt(kolom string)
{
mencoba{
kembalikan this.rs.getInt(kolom);
}menangkap(SQLException e){
Sistem.keluar.println(e.toString());
kembali -1;
}
}
int publik rs_getInt(kolom int)
{
mencoba{
kembalikan this.rs.getInt(kolom);
}menangkap(SQLException e){
Sistem.keluar.println(e.toString());
kembali -1;
}
}
boolean publik rs_next()
{
mencoba{
kembalikan ini.rs.next();
}menangkap(SQLException e){
Sistem.keluar.println(e.toString());
kembali salah;
}
}
//Tentukan apakah ada data di kumpulan hasil
boolean publik hasData()
{
mencoba{
boolean has_Data = this.rs.first();
this.rs.beforeFirst();
kembalikan has_Data;
}menangkap(SQLException e){
Sistem.keluar.println(e.toString());
kembali salah;
}
}
boolean publik rs_last()
{
mencoba{
kembalikan ini.rs.last();
}menangkap(SQLException e){
Sistem.keluar.println(e.toString());
kembali salah;
}
}
boolean publik rs_previous()
{
mencoba{
kembalikan ini.rs.sebelumnya();
}menangkap(Pengecualian e){
Sistem.keluar.println(e.toString());
kembali salah;
}
}
//metode utama, digunakan untuk debugging
public static void main(String args[])
{
mencoba{
DBConn myconn = DBConn baru();
//myconn.setDBName("belanja");
//myconn.DBConn();
//myconn.execute("Masukkan Ke tbl_test(id,nama) value('10','shandaer')");
//myconn.execute("Perbarui tbl_test set name='yyyyyyyyyyyy' di mana id=10");
//myconn.execute("Hapus dari tbl_test di mana id=1");
ResultSet rs = myconn.executeQuery("pilih * dari tbl_pengguna diurutkan berdasarkan id desc limit 1");
//boolean hasData = myconn.hasData();
//System.out.println("memiliki data:" + hasData);
//rs.pertama();
sementara (myconn.rs.next())
{
int id = myconn.rs_getInt("id") + 1;
Sistem.keluar.cetak(id);
System.out.println(myconn.rs_getInt("id") + myconn.rs_getString("nama"));
//System.out.println('n' + myconn.rs_getHtmlString("nama"));
//Sistem.keluar.println(myconn.rs.getString("nama") + myconn.rs_getInt(1));
}
}menangkap(Pengecualian e){
Sistem.err.println(e.toString());
}
}
}
Pernyataan: Karena Anda menggunakan database MySQL, Anda perlu mendownload driver database MySQL. Setelah mendownload, silakan letakkan paket org di direktori tempat DBConn.java berada untuk memastikan bean dapat berjalan normal.
3. Tulis kacang untuk registrasi pengguna: reg.java
//reg.java
//impor kelas yang diperlukan
import java.sql.*;
reg kelas publik
{
publik int ID baru = 0;
hasil boolean publik = false;
reg boolean publik (Nama pengguna string, Kata sandi string, Konfirmasi string, Email string)
{
mencoba{
if(!this.checkUser(nama pengguna))
kembali salah;
if(!ini.checkPwd(kata sandi))
kembali salah;
if(!this.verifyPwd(kata sandi,konfirmasi))
kembali salah;
if(!ini.periksaEmail(email))
kembali salah;
if(!this.userNotExit(nama pengguna))
kembali salah;
ini.getNewID();
this.result = this.register(nama pengguna, kata sandi, konfirmasi, email);
kembalikan ini.hasil;
}menangkap(Pengecualian e){
Sistem.keluar.println(e.toString());
kembali salah;
}
}//Akhiri reg boolean
checkUser boolean publik (Pengguna string)
{
mencoba{
if(pengguna.indexOf("'")!=-1)
{
System.out.println("Nama mengandung karakter ilegal!");
kembali salah;
}kalau tidak
kembali benar;
}menangkap(Pengecualian e){
Sistem.keluar.println(e.toString());
kembali salah;
}
}
check boolean publikPwd(String pwd)
{
mencoba{
if(pwd.indexOf("'")!=-1)
{
System.out.println("Kata sandi mengandung karakter ilegal!");
kembali salah;
}kalau tidak
kembali benar;
}menangkap(Pengecualian e){
Sistem.keluar.println(e.toString());
kembali salah;
}
}
verifikasi boolean publikPwd(String pwd,String konfirmasi)
{
mencoba{
if(!pwd.equals(konfirmasi))
{
System.out.println("Password yang dimasukkan dua kali tidak konsisten!");
kembali salah;
}kalau tidak
kembali benar;
}menangkap(Pengecualian e){
Sistem.keluar.println(e.toString());
kembali salah;
}
}
check boolean publikEmail(String email)
{
mencoba{
if(email.indexOf("'")!=-1)
{
System.out.println("Email mengandung karakter ilegal!");
kembali salah;
}kalau tidak
kembali benar;
}menangkap(Pengecualian e){
Sistem.keluar.println(e.toString());
kembali salah;
}
}
pengguna boolean publikNotExit(Pengguna string)
{
mencoba{
DBConn penggunaDBConn = DBConn baru();
userDBConn.executeQuery("pilih * dari tbl_user di mana nama='" + pengguna + "'");
jika(penggunaDBConn.rs_next())
{
System.out.println("Nama pengguna sudah ada, silakan pilih nama pengguna lain!");
kembali salah;
}kalau tidak
kembali benar;
}menangkap(Pengecualian e){
Sistem.keluar.println(e.toString());
kembali salah;
}
}
int publik getNewID()
{
mencoba{
DBConn newIDDBConn = DBConn baru();
newIDDBConn.executeQuery("pilih * dari tbl_pengguna diurutkan berdasarkan id desc limit 1");
if(newIDDBConn.rs_next())
{
this.newID = newIDDBConn.rs_getInt("id") + 1;
System.out.println(ini.ID Baru);
}kalau tidak{
this.newID = 1;
}
kembalikan this.newID;
}menangkap(Pengecualian e){
Sistem.keluar.println(e.toString());
kembali -1;
}
}
getID int publik()
{
kembalikan this.newID;
}
register boolean publik (String nama pengguna, String kata sandi, Konfirmasi string, String email)
{
mencoba{
DBConn regDBConn = DBConn baru();
String strSQL = "masukkan ke tbl_user(id,nama,pwd,email) nilai('" + this.newID +"','" + nama pengguna + "','" + kata sandi + "','" + email + " ')";
regDBConn.eksekusi(strSQL);
kembali benar;
}menangkap(Pengecualian e){
Sistem.keluar.println(e.toString());
kembali salah;
}
}
public static void main(String args[])
{
mencoba{
reg newreg = reg baru();
System.out.println(newreg.reg("sssssssss","ssssss","ssssss"," [email protected] "));
DBConn myconn = DBConn baru();
myconn.executeQuery("pilih * dari tbl_user");
while(myconn.rs_next())
{
Sistem.out.println(myconn.rs_getInt("id") + " " + myconn.rs_getString("nama") + " " + myconn.rs_getString("pwd") + " " + myconn.rs_getString("email") );
}
Sistem.keluar.println(newreg.getID());
}menangkap(Pengecualian e){
Sistem.err.println(e.toString());
}
}
};
ilustrasikan:
1. File bean harus ditempatkan di direktori yang sama dengan file DBConn.class yang disebutkan di atas.
2. Contoh ini terutama mempelajari proses pendaftaran. Deteksi email dan metode lainnya tidak sempurna.
4. Tulis Servlet untuk login pengguna: login.java
//login.java
//impor kelas yang diperlukan
import java.io.*;
import javax.servlet.*;
impor javax.servlet.http.*;
impor java.sql.*;
//login kelas
login kelas publik memperluas HttpServlet
{
public void doGet(Permintaan HttpServletRequest, HttpServletResponse res)
throwsIOException,ServletException
{
String nama pengguna = req.getParameter("nama pengguna");
String kata sandi = req.getParameter("kata sandi");
if(ini.checklogin(nama pengguna, kata sandi))
{
Cookie mylogin = Cookie baru("nama pengguna",nama pengguna);
login saya.setVersion(1);
login saya.setPath("/");
mylogin.setComment("Nama pengguna login Anda");
res.addCookie(login saya);
}
//Kue[]Kukiku = req.getCookie();
//String nameValue = this.getCookieValue(myCookies,"nama pengguna","tidak ditemukan");
//PrintWriter keluar = res.getWriter();
//out.println("nama pengguna" + ":" + namaNilai);
//out.println("Uji Keberhasilan Cookie!");
res.sendRedirect("/index.jsp");
}
public void doPost(Permintaan HttpServletRequest, HttpServletResponse res)
throwsIOException,ServletException
{
doGet(permintaan,res);
}
String statis publik getCookieValue(Cookie[] cookie,String cookieName,String defaultValue)
{
for(int i=0;i<cookies.length;i++) {
Kue kue = kue[i];
if (cookieName.equals(cookie.getName()))
return(cookie.getValue());
}
kembali(Nilai Default);
}
checklogin boolean publik (nama pengguna string, kata sandi string)
{
mencoba{
DBConn loginConn = DBConn baru();
loginConn.executeQuery("pilih * dari tbl_user di mana nama='" + nama pengguna + "'");
if(loginConn.rs_next())
{
System.out.println("Koneksi dibuat!");
if(loginConn.rs_getString("pwd").trim().equals(kata sandi))
{
System.out.println(loginConn.rs_getString("nama"));
kembali benar;
}
kalau tidak
{
kembali salah;
}
}
System.out.println("Uji Keberhasilan Login!");
kembali salah;
}menangkap(Pengecualian e){
Sistem.keluar.println(e.toString());
kembali salah;
}
}
public static void main(String args[])
{
login mylogin = login baru();
System.out.println(mylogin.checklogin("shandong","shandong"));
}
}
menggambarkan:
1. Tidak ada paket servlet di jdk1.4 default. Silakan kunjungi situs web sun company untuk mengunduh servlet.jar, letakkan di direktori jrelib di bawah direktori jdk, dan tambahkan paket servlet.jar ke setting jdk di JCreator
2. Servlet ini digunakan untuk verifikasi username dan password, jika benar maka username akan dituliskan ke dalam cookie. Setelah selesai, halaman saat ini akan dialihkan ke halaman index.jsp.
5. Tulis kacang untuk mendeteksi apakah pengguna telah login: checkLogin.java
//checkLogin.java
//import kelas yang diperlukan
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
//kelas checkLogin
checkLogin kelas publik
{
String publik nama pengguna = "";
pemeriksaan boolean publik (permintaan HttpServletRequest, HttpServletResponse res)
throwsIOException,ServletException
{
String cookieName = "nama pengguna";
Kue[] kueku = req.getCookies();
this.username = this.getCookieValue(myCookies,cookieName,"tidak ditemukan");
PrintWriter keluar = res.getWriter();
if(ini.nama pengguna != null)
{
//out.println("Selamat pagi," + ini.nama pengguna + "!");
kembali benar;
}kalau tidak{
out.println("Login gagal!");
kembali salah;
}
}
String publik dapatkan NamaPengguna()
{
kembalikan ini.nama pengguna;
}
String statis publik getCookieValue(Cookie[] cookie,String cookieName,String defaultValue)
{
for(int i=0;i<cookies.length;i++) {
Kue kue = kue[i];
if (cookieName.equals(cookie.getName()))
return(cookie.getValue());
}
kembali(Nilai Default);
}
}
Keterangan: Kacang ini mendeteksi nama pengguna di cookie. Jika tidak kosong berarti Anda sudah login, jika tidak berarti Anda belum login. Caranya belum sempurna, Anda bisa mengembangkannya sendiri.
6. Buat server belanja di JRun. Buka JRun Administrator dan buat server belanja baru. Port di sini adalah 8101.
Salin semua file kelas yang dikompilasi yang disebutkan di atas bersama dengan paket org ke folder kelas di direktori tempat server belanja JRun berada.
C:JRun4serversshoppingdefault-eardefault-warWEB-INFclasses
7. Buat aplikasi file jsp DW di direktori C:JRun4serversshoppingdefault-eardefault-war Buat file jsp baru sebagai berikut:
indeks.jsp:
<%@ halaman contentType="teks/html;charset=gb2312" pageEncoding="gb2312" %>
<html>
<kepala>
<title>Belanja123</title>
<meta http-equiv="Jenis Konten" content="teks/html; charset=gb2312">
<link href="styles/shoppingstyle.css" rel="stylesheet" type="text/css">
</kepala>
<tubuh bgcolor="#FFFFFF" leftmargin="0" topmargin="0">
<jsp:useBean id="checklogin" class="checkLogin" scope="page"/>
<%
boolean login = checklogin.check(permintaan,respons);
%>
<tabel lebar="100%" height="100%" border="0" cellpadding="0" Cellspacing="0">
<tr bgcolor="#990000">
<td height="80" colspan="5"><table width="100%" height="100%" border="0" cellpadding="0" Cellspacing="0">
<tr>
<td lebar="120"> </td>
<td class="caption">Belanja123</td>
<td lebar="200"> </td>
</tr>
</tabel></td>
</tr>
<tr>
<td width="200" align="center" valign="top"><table width="100%" height="20" border="0" cellpadding="0" Cellspacing="0">
<tr>
<td> </td>
</tr>
</tabel>
<%
jika(!login){
%>
<tabel lebar="90%" border="0" align="center" cellpadding="0" Cellspacing="1" bgcolor="#CCCCCC">
<form nama="form1" metode="posting" action="/servlet/login">
<tr align="center" bgcolor="#CCCCCC">
<td height="30" colspan="2" class="deepred">Pintu masuk penyimpanan</td>
</tr>
<tr>
<td width="50%" height="24" align="center" bgcolor="#FFFFFF">Anggota</td>
<td align="center" bgcolor="#FFFFFF"><input name="username" type="text" id="username" size="10"></td>
</tr>
<tr>
<td height="24" align="center" bgcolor="#FFFFFF">Sandi</td>
<td align="center" bgcolor="#FFFFFF"><input name="password" type="text" id="password" size="10"></td>
</tr>
<tr>
<td height="24" align="center" bgcolor="#FFFFFF"><a href="reg.jsp" target="_blank" class="red">Daftar</a></td>
<td align="center" bgcolor="#FFFFFF"><input type="submit" name="Submit" value="Enter"></td>
</tr>
</bentuk>
</tabel>
<%
}
kalau tidak
{
out.println("Halo," + checklogin.getUserName() + "!");
}
%>
</td>
<td lebar="1" valign="atas" bgcolor="#CCCCCC"></td>
<td lebar="400"> </td>
<td lebar="1" valign="atas" bgcolor="#CCCCCC"></td>
<td lebar="200"> </td>
</tr>
<tr align="center" bgcolor="#990000">
<td height="60" colspan="5" class="white">hak cipta©
</tr>
</tabel>
</tubuh>
</html>
reg.jsp<%@ page contentType="text/html;charset=gb2312" pageEncoding="gb2312" %>
<html>
<kepala>
<title>Belanja123</title>
<meta http-equiv="Jenis Konten" content="teks/html; charset=gb2312">
<link href="styles/shoppingstyle.css" rel="stylesheet" type="text/css">
</kepala>
<tubuh bgcolor="#FFFFFF" leftmargin="0" topmargin="0">
<tabel lebar="100%" height="100%" border="0" cellpadding="0" Cellspacing="0">
<tr bgcolor="#990000">
<td height="80" colspan="5"><table width="100%" height="100%" border="0" cellpadding="0" Cellspacing="0">
<tr>
<td lebar="120"> </td>
<td class="caption">Belanja123</td>
<td lebar="200"> </td>
</tr>
</tabel></td>
</tr>
<tr>
<td width="100" align="center" valign="top"> </td>
<td lebar="1" valign="atas"></td>
<td width="400" align="center" valign="top"><table width="100%" height="20" border="0" cellpadding="0" Cellspacing="0">
<tr>
<td> </td>
</tr>
</tabel>
<lebar tabel="100%" border="0" cellpadding="0" Cellspacing="1" bgcolor="#CCCCCC">
<formulir tindakan="regpost.jsp" metode="posting" nama="form1">
<tr menyelaraskan="tengah">
<td height="30" colspan="2" bgcolor="#CCCCCC" class="deepred">Pendaftaran anggota</td>
</tr>
<tr>
<td width="50%" height="24" align="center" bgcolor="#FFFFFF">Anggota</td>
<td align="center" bgcolor="#FFFFFF"><input name="username" type="text" id="username" size="16"></td>
</tr>
<tr>
<td width="50%" height="24" align="center" bgcolor="#FFFFFF">Sandi</td>
<td align="center" bgcolor="#FFFFFF"><input name="password" type="password" id="password" size="16"></td>
</tr>
<tr>
<td width="50%" height="24" align="center" bgcolor="#FFFFFF">Verifikasi sandi</td>
<td align="center" bgcolor="#FFFFFF"><input name="confirm" type="password" id="confirm" size="16"></td>
</tr>
<tr>
<td width="50%" height="24" align="center" bgcolor="#FFFFFF">Email</td>
<td align="center" bgcolor="#FFFFFF"><input name="email" type="text" id="email" size="16"></td>
</tr>
<tr>
<td width="50%" height="24" align="center" bgcolor="#FFFFFF"><input type="submit" name="Submit" value="Rewrite"></td>
<td align="center" bgcolor="#FFFFFF"><input type="submit" name="Submit2" value="Daftar"></td>
</tr>
</bentuk>
</tabel></td>
<td lebar="1" valign="atas"></td>
<td lebar="100"> </td>
</tr>
<tr align="center" bgcolor="#990000">
<td height="60" colspan="5" class="white">hak cipta©
</tr>
</tabel>
</tubuh>
</html>
regpost.jsp: Halaman pengiriman formulir pendaftaran <%@ page contentType="text/html;charset=gb2312" pageEncoding="gb2312" %>
<%@ halaman import="reg"%>
<html>
<kepala>
<title>Belanja123</title>
<meta http-equiv="Jenis Konten" content="teks/html; charset=gb2312">
<link href="styles/shoppingstyle.css" rel="stylesheet" type="text/css">
</kepala>
<tubuh bgcolor="#FFFFFF" leftmargin="0" topmargin="0">
<%
String nama pengguna = String baru(permintaan.getParameter("nama pengguna").getBytes("ISO8859_1")).trim();
Kata sandi string = String baru(request.getParameter("kata sandi").getBytes("ISO8859_1")).trim();
String konfirmasi = String baru(request.getParameter("confirm").getBytes("ISO8859_1")).trim();
String email = String baru(permintaan.getParameter("email").getBytes("ISO8859_1")).trim();
%>
<tabel lebar="100%" height="100%" border="0" cellpadding="0" Cellspacing="0">
<tr bgcolor="#990000">
<td height="80" colspan="5"><table width="100%" height="100%" border="0" cellpadding="0" Cellspacing="0">
<tr>
<td lebar="120"> </td>
<td class="caption">Belanja123</td>
<td lebar="200"> </td>
</tr>
</tabel></td>
</tr>
<tr>
<td width="100" align="center" valign="top"> </td>
<td lebar="1" valign="atas"></td>
<td width="400" align="center" valign="top">
<tabel lebar="100%" height="20" border="0" cellpadding="0" Cellspacing="0">
<tr>
<td> </td>
</tr>
</tabel>
<jsp:useBean id="regID" class="reg" scope="sesi"/>
<%
if(regID.reg(nama pengguna, kata sandi, konfirmasi, email))
{
keluar.print("ok");
String newID = regID.getID() + "";
%>
<lebar tabel="100%" border="0" cellpadding="0" Cellspacing="1" bgcolor="#CCCCCC">
<tr menyelaraskan="tengah">
<td height="30" colspan="2" bgcolor="#CCCCCC" class="deepred">Selamat, pendaftaran Anda berhasil! </td>
</tr>
<tr>
<td width="50%" height="24" align="center" bgcolor="#FFFFFF">Nomor</td>
<td align="center" bgcolor="#FFFFFF"><%=newID%></td>
</tr>
<tr>
<td width="50%" height="24" align="center" bgcolor="#FFFFFF">Anggota</td>
<td align="center" bgcolor="#FFFFFF"><%=nama pengguna%></td>
</tr>
<tr>
<td width="50%" height="24" align="center" bgcolor="#FFFFFF">Sandi</td>
<td align="center" bgcolor="#FFFFFF"><%=kata sandi%></td>
</tr>
<tr>
<td width="50%" height="24" align="center" bgcolor="#FFFFFF">Email</td>
<td align="center" bgcolor="#FFFFFF"><%=email%></td>
</tr>
</tabel>
<%
keluar.cetak("<br>");
out.print("<a href=javascript:window.close()>Tutup</a>");
}kalau tidak{
out.print("Pendaftaran gagal!<br>");
out.print("Nama pengguna ini sudah terpakai, silakan gunakan nama pengguna lain!");
out.print("<a href=javascript:history.go(-1)>Kembali</a>");
}
%>
</td>
<td lebar="1" valign="atas"></td>
<td lebar="100"> </td>
</tr>
<tr align="center" bgcolor="#990000">
<td height="60" colspan="5" class="white">hak cipta©
</tr>
</tabel>
</tubuh>
</html>
Sejauh ini, kami telah menyelesaikan sistem registrasi pengguna dan login. Karena ini saya selesaikan sendiri sambil belajar, pasti banyak kekurangan dalam kodenya. Semua orang boleh mengkritik dan mengoreksi saya. Semua kode di atas telah saya uji.