ข้อความ: ต้นฉบับโดยผู้เขียน สงวนลิขสิทธิ์
ไม่อนุญาตให้
ทำซ้ำโดยไม่ได้รับอนุญาต ใช้ bean และ servlet เพื่อร่วมกันดำเนินการลงทะเบียนผู้ใช้และเข้าสู่ระบบใน jsp
ลิขสิทธิ์: imagebear
ซอฟต์แวร์และสภาพแวดล้อมการทำงานที่จำเป็นสำหรับตัวอย่างนี้:
1. ระบบปฏิบัติการ Windows2000 เซิร์ฟเวอร์
2.jdk1.4
3. JCreator2.5 (ดีบักเกอร์แก้ไขซอร์สโค้ด Java แนะนำสำหรับผู้ที่อาเจียนเป็นเลือด!)
4.แมคโครมีเดีย JRun MX
5. Macromedia Dreamweaver MX (อุปกรณ์เสริม)
6. ฐานข้อมูล MySQL (ควรติดตั้ง MySQL Control Center ดีที่สุด)
1. การออกแบบฐานข้อมูล เปิดฐานข้อมูล MySQL ด้วย MySQL Control Center สร้างการช็อปปิ้งฐานข้อมูลใหม่ และสร้างตารางใหม่ tbl_user ข้างใต้ โดยแต่ละฟิลด์จะตั้งค่าดังนี้:
2. เขียน bean ฐานข้อมูลการเชื่อมต่อ: DBConn.java
//DBConn.java
//รวมคลาสที่จำเป็น
นำเข้า java.sql.*;
//======================================= ==
// กำหนด ClassDBConn
-
คลาสสาธารณะDBConn
-
สตริงสาธารณะ sql_driver = "org.gjt.mm.mysql.Driver";
สตริงสาธารณะ sql_url = "jdbc:mysql://localhost:3306";
สตริงสาธารณะ sql_DBName = "ช้อปปิ้ง";
ผู้ใช้สตริงสาธารณะ = "sa";
สาธารณะ String pwd = "";
การเชื่อมต่อ conn = null;
คำสั่ง stmt = null;
ResultSet rs = null;
setDriver บูลีนสาธารณะ (String drv)
-
this.sql_driver = drv;
กลับเป็นจริง;
}
สตริงสาธารณะ getDriver()
-
ส่งคืน this.sql_driver;
}
setUrl บูลีนสาธารณะ (URL สตริง)
-
this.sql_url = url;
กลับเป็นจริง;
}
setDBName บูลีนสาธารณะ (String dbname)
-
this.sql_DBName = ชื่อฐานข้อมูล;
กลับเป็นจริง;
}
สตริงสาธารณะ getDBName()
-
กลับ this.sql_DBName;
}
setUser บูลีนสาธารณะ (ผู้ใช้สตริง)
-
this.user = ผู้ใช้;
กลับเป็นจริง;
}
สตริงสาธารณะ getUser()
-
ส่งคืน this.user;
}
setPwd บูลีนสาธารณะ (String pwd)
-
นี่.pwd = pwd;
กลับเป็นจริง;
}
สตริงสาธารณะ getPwd()
-
ส่งคืน this.pwd;
}
publicDBConn()
-
พยายาม{
Class.forName(sql_driver);//โหลดไดรเวอร์ฐานข้อมูล
this.conn = DriverManager.getConnection(sql_url + "/" + sql_DBName + "?user=" + user + "&password=" + pwd + "&useUnicode=true&CharacterEncoding=gb2312");
this.stmt = this.conn.createStatement();
} จับ (ข้อยกเว้นจ) {
System.out.println(e.toString());
-
}
//ดำเนินการค้นหา
ResultSet สาธารณะดำเนินการแบบสอบถาม (สตริง strSql)
-
พยายาม{
this.rs = stmt.executeQuery(strSql);
ส่งคืน this.rs;
} จับ (SQLException e){
System.out.println(e.toString());
กลับเป็นโมฆะ;
} จับ (NullPointerException e){
System.out.println(e.toString());
กลับเป็นโมฆะ;
-
}
//ดำเนินการแทรก ลบ และแก้ไขข้อมูล
การดำเนินการบูลีนสาธารณะ (String strSql)
-
พยายาม{
ถ้า (this.stmt.executeUpdate (strSql) == 0)
กลับเท็จ;
อื่น
กลับเป็นจริง;
} จับ (SQLException e){
System.out.println(e.toString());
กลับเท็จ;
} จับ (NullPointerException e){
System.out.println(e.toString());
กลับเท็จ;
-
}
//ตัวชี้ชุดผลลัพธ์จะข้ามไปยังแถวใดแถวหนึ่ง
บูลีนสาธารณะ rs_absolute (แถว int)
-
พยายาม{
this.rs.สัมบูรณ์ (แถว);
กลับเป็นจริง;
} จับ (SQLException e){
System.out.println(e.toString());
กลับเท็จ;
-
}
โมฆะสาธารณะ rs_afterLast()
-
พยายาม{
นี้.rs.afterLast();
} จับ (SQLException e){
System.out.println(e.toString());
-
}
โมฆะสาธารณะ rs_beforeFirst()
-
พยายาม{
this.rs.beforeFirst();
} จับ (SQLException e){
System.out.print(e.toString());
-
}
โมฆะสาธารณะ rs_close()
-
พยายาม{
this.rs.ปิด();
} จับ (SQLException e){
System.out.print(e.toString());
-
}
โมฆะสาธารณะ rs_deleteRow()
-
พยายาม{
this.rs.deleteRow();
} จับ (SQLException e){
System.out.print(e.toString());
-
}
บูลีนสาธารณะ rs_first()
-
พยายาม{
this.rs.first();
กลับเป็นจริง;
} จับ (SQLException e){
System.out.print(e.toString());
กลับเท็จ;
-
}
สตริงสาธารณะ rs_getString (คอลัมน์สตริง)
-
พยายาม{
กลับ this.rs.getString(คอลัมน์);
} จับ (SQLException e){
System.out.println(e.toString());
กลับเป็นโมฆะ;
-
}
//วิธีนี้ใช้เพื่อรับข้อความส่วนใหญ่
//แทนที่การขึ้นบรรทัดใหม่และการป้อนบรรทัดด้วย <br>
//ส่งออกไปยังหน้า html
สตริงสาธารณะ rs_getHtmlString (คอลัมน์สตริง)
-
พยายาม{
String str1 = this.rs.getString(คอลัมน์);
สตริง str2 = "rn";
สตริง str3 = "<br>";
ส่งคืน this.replaceAll (str1, str2, str3);
} จับ (SQLException e){
System.out.println(e.toString());
กลับเป็นโมฆะ;
-
-
//แทนที่สตริง str2 ในสตริง str1 ด้วยสตริง str3
ส่วนตัวสตริงคงที่แทนที่ทั้งหมด (สตริง str1, สตริง str2, สตริง str3)
-
StringBuffer strBuf = StringBuffer ใหม่ (str1);
ดัชนี int=0;
ในขณะที่(str1.indexOf(str2,ดัชนี)!=-1)
-
ดัชนี=str1.indexOf(str2,ดัชนี);
strBuf.replace(str1.indexOf(str2,ดัชนี),str1.indexOf(str2,ดัชนี)+str2.length(),str3);
ดัชนี=ดัชนี+str3.ความยาว();
str1=strBuf.toString();
-
กลับ strBuf.toString();
}
สาธารณะ int rs_getInt (คอลัมน์สตริง)
-
พยายาม{
ส่งคืน this.rs.getInt (คอลัมน์);
} จับ (SQLException e){
System.out.println(e.toString());
กลับ -1;
-
}
สาธารณะ int rs_getInt (คอลัมน์ int)
-
พยายาม{
ส่งคืน this.rs.getInt (คอลัมน์);
} จับ (SQLException e){
System.out.println(e.toString());
กลับ -1;
-
}
บูลีนสาธารณะ rs_next()
-
พยายาม{
กลับ this.rs.next();
} จับ (SQLException e){
System.out.println(e.toString());
กลับเท็จ;
-
}
//ตรวจสอบว่ามีข้อมูลอยู่ในชุดผลลัพธ์หรือไม่
hasData บูลีนสาธารณะ ()
-
พยายาม{
บูลีน has_Data = this.rs.first();
this.rs.beforeFirst();
ส่งคืน has_Data;
} จับ (SQLException e){
System.out.println(e.toString());
กลับเท็จ;
-
}
บูลีนสาธารณะ rs_last()
-
พยายาม{
กลับ this.rs.last();
} จับ (SQLException e){
System.out.println(e.toString());
กลับเท็จ;
-
}
บูลีนสาธารณะ rs_previous()
-
พยายาม{
กลับ this.rs.previous();
} จับ (ข้อยกเว้นจ) {
System.out.println(e.toString());
กลับเท็จ;
-
}
//วิธีการหลักที่ใช้สำหรับการดีบัก
โมฆะคงสาธารณะหลัก (String args [])
-
พยายาม{
DBConn myconn = DBConn ใหม่();
//myconn.setDBName("ช้อปปิ้ง");
//myconn.DBConn();
//myconn.execute("ใส่ค่า tbl_test(id,name) ลงในค่า ('10','shandaer')");
//myconn.execute("อัพเดต tbl_test set name='yyyyyyyyyy' โดยที่ id=10");
//myconn.execute("ลบออกจาก tbl_test โดยที่ id=1");
ResultSet rs = myconn.executeQuery("select * from tbl_user order by id desc Limit 1");
//บูลีน hasData = myconn.hasData();
//System.out.println("มีข้อมูล:" + hasData);
//rs.first();
ในขณะที่ (myconn.rs.next())
-
int id = myconn.rs_getInt("id") + 1;
System.out.print(id);
System.out.println(myconn.rs_getInt("id") + myconn.rs_getString("ชื่อ"));
//System.out.println('n' + myconn.rs_getHtmlString("ชื่อ"));
//System.out.println(myconn.rs.getString("ชื่อ") + myconn.rs_getInt(1));
-
} จับ (ข้อยกเว้นจ) {
System.err.println(e.toString());
-
-
}
คำชี้แจง: เนื่องจากคุณใช้ฐานข้อมูล MySQL คุณจะต้องดาวน์โหลดไดรเวอร์ฐานข้อมูล MySQL หลังจากดาวน์โหลด โปรดใส่แพ็คเกจ org ลงในไดเร็กทอรีที่มี DBConn.java อยู่เพื่อให้แน่ใจว่า bean สามารถทำงานได้ตามปกติ
3. เขียน bean สำหรับการลงทะเบียนผู้ใช้: reg.java
//reg.java
//นำเข้าคลาสที่จำเป็น
นำเข้า java.sql.*;
reg คลาสสาธารณะ
-
สาธารณะ int newID = 0;
ผลลัพธ์บูลีนสาธารณะ = false;
reg บูลีนสาธารณะ (ชื่อผู้ใช้สตริง, รหัสผ่านสตริง, ยืนยันสตริง, อีเมลสตริง)
-
พยายาม{
ถ้า(!this.checkUser(ชื่อผู้ใช้))
กลับเท็จ;
ถ้า(!this.checkPwd(รหัสผ่าน))
กลับเท็จ;
ถ้า(!this.verifyPwd(รหัสผ่าน,ยืนยัน))
กลับเท็จ;
ถ้า(!this.checkEmail(อีเมล))
กลับเท็จ;
ถ้า(!this.userNotExit(ชื่อผู้ใช้))
กลับเท็จ;
this.getNewID();
this.result = this.register (ชื่อผู้ใช้, รหัสผ่าน, ยืนยัน, อีเมล);
ส่งคืน this.result;
} จับ (ข้อยกเว้นจ) {
System.out.println(e.toString());
กลับเท็จ;
-
}//สิ้นสุดการลงทะเบียนบูลีน
checkUser บูลีนสาธารณะ (ผู้ใช้สตริง)
-
พยายาม{
ถ้า(user.indexOf("'")!=-1)
-
System.out.println("ชื่อมีอักขระที่ไม่ถูกต้อง!");
กลับเท็จ;
}อื่น
กลับเป็นจริง;
} จับ (ข้อยกเว้นจ) {
System.out.println(e.toString());
กลับเท็จ;
-
-
checkPwd บูลีนสาธารณะ (String pwd)
-
พยายาม{
ถ้า(pwd.indexOf("'")!=-1)
-
System.out.println("รหัสผ่านมีอักขระที่ผิดกฎหมาย!");
กลับเท็จ;
}อื่น
กลับเป็นจริง;
} จับ (ข้อยกเว้นจ) {
System.out.println(e.toString());
กลับเท็จ;
-
-
บูลีนสาธารณะ VerifyPwd (String pwd, String ยืนยัน)
-
พยายาม{
ถ้า(!pwd.เท่ากับ(ยืนยัน))
-
System.out.println("รหัสผ่านที่ป้อนสองครั้งไม่สอดคล้องกัน!");
กลับเท็จ;
}อื่น
กลับเป็นจริง;
} จับ (ข้อยกเว้นจ) {
System.out.println(e.toString());
กลับเท็จ;
-
-
checkEmail บูลีนสาธารณะ (อีเมลสตริง)
-
พยายาม{
ถ้า(email.indexOf("'")!=-1)
-
System.out.println("อีเมลมีอักขระที่ผิดกฎหมาย!");
กลับเท็จ;
}อื่น
กลับเป็นจริง;
} จับ (ข้อยกเว้นจ) {
System.out.println(e.toString());
กลับเท็จ;
-
-
ผู้ใช้บูลีนสาธารณะNotExit (ผู้ใช้สตริง)
-
พยายาม{
ผู้ใช้ DBConnDBConn = DBConn ใหม่();
userDBConn.executeQuery("select * from tbl_user โดยที่ name='" + user + "'");
ถ้า(userDBConn.rs_next())
-
System.out.println("มีชื่อผู้ใช้อยู่แล้ว กรุณาเลือกชื่อผู้ใช้อื่น!");
กลับเท็จ;
}อื่น
กลับเป็นจริง;
} จับ (ข้อยกเว้นจ) {
System.out.println(e.toString());
กลับเท็จ;
-
-
สาธารณะ int getNewID()
-
พยายาม{
DBConn newIDDBConn = DBConn ใหม่();
newIDDBConn.executeQuery("select * from tbl_user order by id desc Limit 1");
ถ้า(newIDDBConn.rs_next())
-
this.newID = newIDDBConn.rs_getInt("id") + 1;
System.out.println(this.newID);
}อื่น{
นี้.newID = 1;
-
ส่งคืน this.newID;
} จับ (ข้อยกเว้นจ) {
System.out.println(e.toString());
กลับ -1;
-
-
สาธารณะ int getID()
-
ส่งคืน this.newID;
-
การลงทะเบียนบูลีนสาธารณะ (ชื่อผู้ใช้สตริง, รหัสผ่านสตริง, ยืนยันสตริง, อีเมลสตริง)
-
พยายาม{
DBConn regDBConn = DBConn ใหม่();
สตริง strSQL = "แทรกลงในค่า tbl_user(id,name,pwd,email)('" + this.newID +"','" + ชื่อผู้ใช้ + "','" + รหัสผ่าน + "','" + อีเมล + " ')";
regDBConn.execute(strSQL);
กลับเป็นจริง;
} จับ (ข้อยกเว้นจ) {
System.out.println(e.toString());
กลับเท็จ;
-
}
โมฆะสาธารณะคงหลัก (String args [])
-
พยายาม{
reg newreg = reg ใหม่ ();
System.out.println(newreg.reg("sssssssss", "ssssss", "ssssss", " [email protected] "));
DBConn myconn = DBConn ใหม่();
myconn.executeQuery("เลือก * จาก tbl_user");
ในขณะที่ (myconn.rs_next())
-
System.out.println(myconn.rs_getInt("id") + " " + myconn.rs_getString("name") + " " + myconn.rs_getString("pwd") + " " + myconn.rs_getString("email") );
-
System.out.println(newreg.getID());
} จับ (ข้อยกเว้นจ) {
System.err.println(e.toString());
-
-
};
แสดงให้เห็น:
1. ไฟล์ bean ควรอยู่ในไดเร็กทอรีเดียวกันกับไฟล์ DBConn.class ที่กล่าวถึงข้างต้น
2. ตัวอย่างนี้ศึกษาขั้นตอนการลงทะเบียนเป็นหลัก การตรวจจับอีเมลและวิธีการอื่นๆ ยังไม่สมบูรณ์ หากคุณต้องการใช้ โปรดออกแบบวิธีการของคุณเอง
4. เขียน Servlet สำหรับการเข้าสู่ระบบของผู้ใช้: login.java
//login.java
//นำเข้าคลาสที่จำเป็น
นำเข้า java.io.*;
นำเข้า javax.servlet.*;
นำเข้า javax.servlet.http.*;
นำเข้า java.sql.*;
//class เข้าสู่ระบบ
การเข้าสู่ระบบคลาสสาธารณะขยาย HttpServlet
-
โมฆะสาธารณะ doGet (คำขอ HttpServletRequest, ความละเอียด HttpServletResponse)
พ่น IOException, ServletException
-
ชื่อผู้ใช้สตริง = req.getParameter("ชื่อผู้ใช้");
รหัสผ่านสตริง = req.getParameter("รหัสผ่าน");
ถ้า(this.checklogin(ชื่อผู้ใช้,รหัสผ่าน))
-
คุกกี้ mylogin = คุกกี้ใหม่ ("ชื่อผู้ใช้", ชื่อผู้ใช้);
mylogin.setVersion(1);
mylogin.setPath("/");
mylogin.setComment("ชื่อผู้ใช้สำหรับเข้าสู่ระบบของคุณ");
res.addCookie(mylogin);
-
//คุกกี้[] myCookies = req.getCookies();
//String nameValue = this.getCookieValue(myCookies,"ชื่อผู้ใช้", "ไม่พบ");
//PrintWriter ออก = res.getWriter();
//out.println("ชื่อผู้ใช้" + /// + nameValue);
//out.println("ทดสอบคุกกี้สำเร็จ!");
res.sendRedirect("/index.jsp");
-
โมฆะสาธารณะ doPost (คำขอ HttpServletRequest, ความละเอียด HttpServletResponse)
พ่น IOException, ServletException
-
doGet(ต้องการ,ความละเอียด);
-
สตริงสาธารณะ getCookieValue (คุกกี้ [] คุกกี้, String cookieName, String defaultValue)
-
สำหรับ(int i=0;i<cookies.length;i++) {
คุกกี้ คุกกี้ = คุกกี้[i];
ถ้า (cookieName.equals(cookie.getName()))
กลับ(cookie.getValue());
-
กลับ (ค่าเริ่มต้น);
-
การตรวจสอบบูลีนสาธารณะ (ชื่อผู้ใช้สตริง, รหัสผ่านสตริง)
-
พยายาม{
DBConn loginConn = DBConn ใหม่();
loginConn.executeQuery("select * from tbl_user โดยที่ name='" + ชื่อผู้ใช้ + "'");
ถ้า(loginConn.rs_next())
-
System.out.println("สร้างการเชื่อมต่อแล้ว!");
if(loginConn.rs_getString("pwd").trim().เท่ากับ(รหัสผ่าน))
-
System.out.println(loginConn.rs_getString("ชื่อ"));
กลับเป็นจริง;
-
อื่น
-
กลับเท็จ;
-
-
System.out.println("ทดสอบการเข้าสู่ระบบสำเร็จ!");
กลับเท็จ;
} จับ (ข้อยกเว้นจ) {
System.out.println(e.toString());
กลับเท็จ;
-
-
โมฆะคงสาธารณะหลัก (String args [])
-
เข้าสู่ระบบ mylogin = เข้าสู่ระบบใหม่ ();
System.out.println(mylogin.checklogin("ซานตง", "ซานตง"));
-
}
แสดงให้เห็น:
1. ไม่มีแพ็คเกจเซิร์ฟเล็ตใน jdk1.4 เริ่มต้น โปรดไปที่เว็บไซต์บริษัท sun เพื่อดาวน์โหลด servlet.jar ใส่ไว้ในไดเร็กทอรี jrelib ใต้ไดเร็กทอรี jdk และเพิ่มแพ็คเกจ servlet.jar ลงใน การตั้งค่า jdk ใน JCreator
2 Servlet นี้ใช้เพื่อตรวจสอบชื่อผู้ใช้และรหัสผ่าน หากถูกต้อง ชื่อผู้ใช้จะถูกเขียนลงในคุกกี้ หลังจากเสร็จสิ้น หน้าปัจจุบันจะถูกเปลี่ยนเส้นทางไปยังหน้า index.jsp
5. เขียน bean เพื่อตรวจสอบว่าผู้ใช้เข้าสู่ระบบแล้วหรือไม่: checkLogin.java
//checkLogin.java
//import คลาสที่จำเป็น
นำเข้า java.io.*;
นำเข้า javax.servlet.*;
นำเข้า javax.servlet.http.*;
//class checkLogin
ตรวจสอบชั้นเรียนสาธารณะเข้าสู่ระบบ
-
ชื่อผู้ใช้สตริงสาธารณะ = "";
การตรวจสอบบูลีนสาธารณะ (คำขอ HttpServletRequest, ความละเอียด HttpServletResponse)
พ่น IOException, ServletException
-
สตริง cookieName = "ชื่อผู้ใช้";
คุกกี้[] myCookies = req.getCookies();
this.username = this.getCookieValue(myCookies,cookieName,"ไม่พบ");
PrintWriter ออก = res.getWriter();
ถ้า (this.username != null)
-
//out.println("สวัสดีตอนเช้า" + this.username + "!");
กลับเป็นจริง;
}อื่น{
out.println("การเข้าสู่ระบบล้มเหลว!");
กลับเท็จ;
-
-
สตริงสาธารณะ getUserName()
-
กลับ this.username;
-
สตริงสาธารณะ getCookieValue (คุกกี้ [] คุกกี้, String cookieName, String defaultValue)
-
สำหรับ(int i=0;i<cookies.length;i++) {
คุกกี้ คุกกี้ = คุกกี้[i];
ถ้า (cookieName.equals(cookie.getName()))
กลับ(cookie.getValue());
-
กลับ (ค่าเริ่มต้น);
-
}
คำอธิบาย: bean นี้ตรวจพบชื่อผู้ใช้ในคุกกี้ หากไม่ว่างเปล่า หมายความว่าคุณเข้าสู่ระบบแล้ว หรือหมายความว่าคุณไม่ได้เข้าสู่ระบบ วิธีการนี้ไม่สมบูรณ์แบบคุณสามารถขยายได้เอง
6. สร้างเซิร์ฟเวอร์การช็อปปิ้งใน JRun เปิด JRun Administrator และสร้างเซิร์ฟเวอร์การช็อปปิ้งใหม่ ที่นี่คือ 8101
คัดลอกไฟล์คลาสที่คอมไพล์ทั้งหมดที่กล่าวถึงข้างต้นพร้อมกับแพ็คเกจ org ไปยังโฟลเดอร์คลาสในไดเร็กทอรีซึ่งเป็นที่ตั้งของเซิร์ฟเวอร์การช็อปปิ้งของ JRun
C:JRun4serversshoppingdefault-eardefault-warWEB-INFclasses
7. สร้างไฟล์ jsp แอปพลิเคชัน DW ในไดเร็กทอรี C:JRun4serversshoppingdefault-eardefault-war สร้างไฟล์ jsp ใหม่ดังต่อไปนี้:
ดัชนี jsp:
<%@ หน้า contentType="text/html;charset=gb2312" pageEncoding="gb2312" %>
<html>
<หัว>
<title>ช้อปปิ้ง123</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<link href="styles/shoppingstyle.css" rel="stylesheet" type="text/css">
</หัว>
<body bgcolor="#FFFFFF" leftmargin="0" topmargin="0">
<jsp:useBean id="checklogin" class="checkLogin" scope="page"/>
-
เข้าสู่ระบบบูลีน = checklogin.check (คำขอตอบกลับ);
-
<table width="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 width="120"> </td>
<td class="caption">ชอปปิ้ง123</td>
<td width="200"> </td>
</tr>
</table></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>
</ตาราง>
-
ถ้า(!เข้าสู่ระบบ){
-
<table width="90%" border="0" align="center" cellpadding="0" cellspacing="1" bgcolor="#CCCCCC">
<form name="form1" method="post" action="/servlet/login">
<tr align="center" bgcolor="#CCCCCC">
<td height="30" colspan="2" class="deepred">ทางเข้าห้องเก็บของ</td>
</tr>
<tr>
<td width="50%" height="24" align="center" bgcolor="#FFFFFF">สมาชิก</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">รหัสผ่าน</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">ลงทะเบียน</a></td>
<td align="center" bgcolor="#FFFFFF"><input type="submit" name="Submit" value="Enter"></td>
</tr>
</แบบฟอร์ม>
</ตาราง>
-
-
อื่น
-
out.println("สวัสดี" + checklogin.getUserName() + "!");
-
-
</td>
<td width="1" valign="top" bgcolor="#CCCCCC"></td>
<td width="400"> </td>
<td width="1" valign="top" bgcolor="#CCCCCC"></td>
<td width="200"> </td>
</tr>
<tr align="center" bgcolor="#990000">
<td height="60" colspan="5" class="white">copyright© 2003 Shopping123</td>
</tr>
</ตาราง>
</ร่างกาย>
</html>
reg.jsp<%@ หน้า contentType="text/html;charset=gb2312" pageEncoding="gb2312" %>
<html>
<หัว>
<title>ช้อปปิ้ง123</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<link href="styles/shoppingstyle.css" rel="stylesheet" type="text/css">
</หัว>
<body bgcolor="#FFFFFF" leftmargin="0" topmargin="0">
<table width="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 width="120"> </td>
<td class="caption">ชอปปิ้ง123</td>
<td width="200"> </td>
</tr>
</table></td>
</tr>
<tr>
<td width="100" align="center" valign="top"> </td>
<td width="1" valign="top"></td>
<td width="400" align="center" valign="top"><table width="100%" height="20" border="0" cellpadding="0" cellspacing="0">
<tr>
<td> </td>
</tr>
</ตาราง>
<table width="100%" border="0" cellpadding="0" cellspacing="1" bgcolor="#CCCCCC">
<การกระทำของแบบฟอร์ม = "regpost.jsp" วิธีการ = "โพสต์" ชื่อ = "form1">
<tr align="center">
<td height="30" colspan="2" bgcolor="#CCCCCC" class="deepred">การลงทะเบียนสมาชิก</td>
</tr>
<tr>
<td width="50%" height="24" align="center" bgcolor="#FFFFFF">สมาชิก</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">รหัสผ่าน</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">ยืนยันรหัสผ่าน</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">อีเมล</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="เขียนใหม่"></td>
<td align="center" bgcolor="#FFFFFF"><input type="submit" name="Submit2" value="Register"></td>
</tr>
</แบบฟอร์ม>
</table></td>
<td width="1" valign="top"></td>
<td width="100"> </td>
</tr>
<tr align="center" bgcolor="#990000">
<td height="60" colspan="5" class="white">copyright© 2003 Shopping123</td>
</tr>
</ตาราง>
</ร่างกาย>
</html>
regpost.jsp: หน้าส่งแบบฟอร์มการลงทะเบียน <%@ หน้า contentType="text/html;charset=gb2312" pageEncoding="gb2312" %>
<%@ นำเข้าหน้า = "reg"%>
<html>
<หัว>
<title>ช้อปปิ้ง123</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<link href="styles/shoppingstyle.css" rel="stylesheet" type="text/css">
</หัว>
<body bgcolor="#FFFFFF" leftmargin="0" topmargin="0">
-
ชื่อผู้ใช้สตริง = new String(request.getParameter("username").getBytes("ISO8859_1")).trim();
รหัสผ่านสตริง = new String(request.getParameter("password").getBytes("ISO8859_1")).trim();
สตริงยืนยัน = สตริงใหม่(request.getParameter("confirm").getBytes("ISO8859_1")).trim();
อีเมลสตริง = new String(request.getParameter("email").getBytes("ISO8859_1")).trim();
-
<table width="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 width="120"> </td>
<td class="caption">ชอปปิ้ง123</td>
<td width="200"> </td>
</tr>
</table></td>
</tr>
<tr>
<td width="100" align="center" valign="top"> </td>
<td width="1" valign="top"></td>
<td width="400" align="center" valign="top">
<table width="100%" height="20" border="0" cellpadding="0" cellspacing="0">
<tr>
<td> </td>
</tr>
</ตาราง>
<jsp:useBean id="regID" class="reg" scope="session"/>
-
ถ้า(regID.reg(ชื่อผู้ใช้,รหัสผ่าน,ยืนยัน,อีเมล์))
-
out.print("ตกลง");
สตริง newID = regID.getID() + "";
-
<table width="100%" border="0" cellpadding="0" cellspacing="1" bgcolor="#CCCCCC">
<tr align="center">
<td height="30" colspan="2" bgcolor="#CCCCCC" class="deepred">ขอแสดงความยินดี การลงทะเบียนของคุณสำเร็จแล้ว! </td>
</tr>
<tr>
<td width="50%" height="24" align="center" bgcolor="#FFFFFF">ตัวเลข</td>
<td align="center" bgcolor="#FFFFFF"><%=newID%></td>
</tr>
<tr>
<td width="50%" height="24" align="center" bgcolor="#FFFFFF">สมาชิก</td>
<td align="center" bgcolor="#FFFFFF"><%=ชื่อผู้ใช้%></td>
</tr>
<tr>
<td width="50%" height="24" align="center" bgcolor="#FFFFFF">รหัสผ่าน</td>
<td align="center" bgcolor="#FFFFFF"><%=รหัสผ่าน%></td>
</tr>
<tr>
<td width="50%" height="24" align="center" bgcolor="#FFFFFF">อีเมล</td>
<td align="center" bgcolor="#FFFFFF"><%=อีเมล%></td>
</tr>
</ตาราง>
-
out.print("<br>");
out.print("<a href=javascript:window.close()>ปิด</a>");
}อื่น{
out.print("การลงทะเบียนล้มเหลว!<br>");
out.print("ชื่อผู้ใช้นี้ถูกใช้ไปแล้ว กรุณาใช้ชื่อผู้ใช้อื่น!");
out.print("<a href=javascript:history.go(-1)>กลับมา</a>");
-
-
</td>
<td width="1" valign="top"></td>
<td width="100"> </td>
</tr>
<tr align="center" bgcolor="#990000">
<td height="60" colspan="5" class="white">copyright© 2003 Shopping123</td>
</tr>
</ตาราง>
</ร่างกาย>
</html>
จนถึงขณะนี้ เราได้ดำเนินการลงทะเบียนผู้ใช้และระบบเข้าสู่ระบบเรียบร้อยแล้ว เนื่องจากผมทำด้วยตัวเองในขณะที่เรียนอยู่ จึงต้องมีข้อบกพร่องหลายอย่างในโค้ด ทุกคนสามารถวิจารณ์และแก้ไขผมได้ รหัสข้างต้นทั้งหมดได้รับการทดสอบโดยฉันแล้ว