日本免费精品_最新日韩一区_亚洲视频一区在线_a在线视频观看_天天射夜夜骑_粉嫩av一区二区三区_欧美中日韩免费视频_综合图区欧美_国内精品美女在线观看_午夜精品久久久久久久男人的天堂

首頁(yè) > 編程 > JSP > 正文

在jsp中用bean和servlet聯(lián)合實(shí)現(xiàn)用戶(hù)注冊(cè)、登錄

2020-07-27 21:50:05
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

聲明:作者原創(chuàng),版權(quán)所有。未經(jīng)授權(quán),不得轉(zhuǎn)載
在jsp中用bean和servlet聯(lián)合實(shí)現(xiàn)用戶(hù)注冊(cè)、登錄

作者:imagebear
版權(quán):imagebear

本例需要的軟件和運(yùn)行環(huán)境:
1、Windows2000 Server操作系統(tǒng)
2、jdk1.4
3、JCreator2.5(java源碼編輯調(diào)試器,吐血推薦!)
4、Macromedia JRun MX
5、Macromedia Dreamweaver MX(非必需)
6、MySQL數(shù)據(jù)庫(kù)(最好安裝MySQL Control Center)

一、數(shù)據(jù)庫(kù)設(shè)計(jì)
用MySQL Control Center打開(kāi)MySQL數(shù)據(jù)庫(kù),新建數(shù)據(jù)庫(kù)shopping,在其下新建表tbl_user,其中各字段設(shè)置如下:


二、編寫(xiě)連接數(shù)據(jù)庫(kù)bean:DBConn.java


//DBConn.java

//include required classes
import java.sql.*;

//==========================================
// Define Class DBConn
//==========================================
public class DBConn
{
 public String sql_driver = "org.gjt.mm.mysql.Driver";
 public String sql_url = "jdbc:mysql://localhost:3306";
 public String sql_DBName = "shopping";
 public String user = "sa";
 public String pwd = ";

 Connection conn = null;
 Statement stmt = null;
 ResultSet rs = null;

 public boolean setDriver(String drv)
 {
  this.sql_driver = drv;
  return true;
 }

 public String getDriver()
 {
  return this.sql_driver;
 }

 public boolean setUrl(String url)
 {
  this.sql_url = url;
  return true;
 }

 public boolean setDBName(String dbname)
 {
  this.sql_DBName = dbname;
  return true;
 }

 public String getDBName()
 {
  return this.sql_DBName;
 }

 public boolean setUser(String user)
 {
  this.user = user;
  return true;
 }

 public String getUser()
 {
  return this.user;
 }

 public boolean setPwd(String pwd)
 {
  this.pwd = pwd;
  return true;
 }

 public String getPwd()
 {
  return this.pwd;
 }

 public DBConn()
 {
  try{
   Class.forName(sql_driver);//加載數(shù)據(jù)庫(kù)驅(qū)動(dòng)程序
   this.conn = DriverManager.getConnection(sql_url + "/" + sql_DBName + "?user=" + user + "&password=" + pwd + "&useUnicode=true&characterEncoding=gb2312");
   this.stmt = this.conn.createStatement();
  }catch(Exception e){
   System.out.println(e.toString());
  }
 }

                //執(zhí)行查詢(xún)操作
 public ResultSet executeQuery(String strSql)
 {
  try{
   this.rs = stmt.executeQuery(strSql);
   return this.rs;
  }catch(SQLException e){
   System.out.println(e.toString());
   return null;
  }catch(NullPointerException e){
   System.out.println(e.toString());
   return null;
  }
 }

                //執(zhí)行數(shù)據(jù)的插入、刪除、修改操作
 public boolean execute(String strSql)
 {
  try{
   if(this.stmt.executeUpdate(strSql) == 0)
    return false;
   else
    return true;
  }catch(SQLException e){
   System.out.println(e.toString());
   return false;
  }catch(NullPointerException e){
   System.out.println(e.toString());
   return false;
  }
 }

                //結(jié)果集指針跳轉(zhuǎn)到某一行
 public boolean rs_absolute(int row)
 {
  try{
   this.rs.absolute(row);
   return true;
  }catch(SQLException e){
   System.out.println(e.toString());
   return false;
  }
 }

 public void rs_afterLast()
 {
  try{
   this.rs.afterLast();
  }catch(SQLException e){
   System.out.println(e.toString());
  }
 }

 public void rs_beforeFirst()
 {
  try{
   this.rs.beforeFirst();
  }catch(SQLException e){
   System.out.print(e.toString());
  }
 }

 public void rs_close()
 {
  try{
   this.rs.close();
  }catch(SQLException e){
   System.out.print(e.toString());
  }
 }

 public void rs_deleteRow()
 {
  try{
   this.rs.deleteRow();
  }catch(SQLException e){
   System.out.print(e.toString());
  }
 }

 public boolean rs_first()
 {
  try{
   this.rs.first();
   return true;
  }catch(SQLException e){
   System.out.print(e.toString());
   return false;
  }
 }

 public String rs_getString(String column)
 {
  try{
   return this.rs.getString(column);
  }catch(SQLException e){
   System.out.println(e.toString());
   return null;
  }
 }

                //此方法用于獲取大段文本,
                //將其中的回車(chē)換行替換為<br>
                //輸出到html頁(yè)面
 public String rs_getHtmlString(String column)
 {
  try{
   String str1 = this.rs.getString(column);
   String str2 = "/r/n";
   String str3 = "<br>";
   return this.replaceAll(str1,str2,str3);
  }catch(SQLException e){
   System.out.println(e.toString());
   return null;
  }
 }

                //把str1字符串中的str2字符串替換為str3字符串
 private static String replaceAll(String str1,String str2,String str3)
 {
  StringBuffer strBuf = new StringBuffer(str1);
     int index=0;
  while(str1.indexOf(str2,index)!=-1)
  {
   index=str1.indexOf(str2,index);
   strBuf.replace(str1.indexOf(str2,index),str1.indexOf(str2,index)+str2.length(),str3);
   index=index+str3.length();

    str1=strBuf.toString();
  }
  return strBuf.toString();
 }

 public int rs_getInt(String column)
 {
  try{
   return this.rs.getInt(column);
  }catch(SQLException e){
   System.out.println(e.toString());
   return -1;
  }
 }

 public int rs_getInt(int column)
 {
  try{
   return this.rs.getInt(column);
  }catch(SQLException e){
   System.out.println(e.toString());
   return -1;
  }
 }

 public boolean rs_next()
 {
  try{
   return this.rs.next();
  }catch(SQLException e){
   System.out.println(e.toString());
   return false;
  }
 }

                //判斷結(jié)果集中是否有數(shù)據(jù)
 public boolean hasData()
 {
  try{
   boolean has_Data = this.rs.first();  
   this.rs.beforeFirst();
   return has_Data;
  }catch(SQLException e){
   System.out.println(e.toString());
   return false;
  }
 }

 public boolean rs_last()
 {
  try{
   return this.rs.last();
  }catch(SQLException e){
   System.out.println(e.toString());
   return false;
  }
 }

 public boolean rs_previous()
 {
  try{
   return this.rs.previous();
  }catch(Exception e){
   System.out.println(e.toString());
   return false;
  }
 }

                //main方法,調(diào)試用
 public static void main(String args[])
 {
  try{
   DBConn myconn = new DBConn();
   //myconn.setDBName("shopping");
   //myconn.DBConn();
   //myconn.execute("Insert Into tbl_test(id,name) values('10','shandaer')");
   //myconn.execute("Update tbl_test set name='yyyyyyyyyyyy' where id=10");
   //myconn.execute("Delete from tbl_test where id=1");
   ResultSet rs = myconn.executeQuery("select * from tbl_user order by id desc limit 1");
   //boolean hasData = myconn.hasData();
   //System.out.println("has data:" + hasData);
   //rs.first();
   while (myconn.rs.next()) 
   {
    int id = myconn.rs_getInt("id") + 1;
    System.out.print(id);
    System.out.println(myconn.rs_getInt("id") + myconn.rs_getString("name"));

    //System.out.println('/n' + myconn.rs_getHtmlString("name"));
    //System.out.println(myconn.rs.getString("name") + myconn.rs_getInt(1));
   }
  }catch(Exception e){
   System.err.println(e.toString());
  }
 }

}

聲明:因?yàn)槭褂玫氖荕ySQL數(shù)據(jù)庫(kù),所以需要MySQL數(shù)據(jù)庫(kù)的驅(qū)動(dòng)
下載后請(qǐng)將org包放至DBConn.java所在目錄下
以確保該bean能正常運(yùn)行

 

三、編寫(xiě)用戶(hù)注冊(cè)的bean:reg.java


//reg.java

//import required classes
import java.sql.*;

public class reg
{
 public int newID = 0;
 public boolean result = false;
 public boolean reg(String username,String password,String confirm,String email)
 {
  try{
   if(!this.checkUser(username))
    return false;
   if(!this.checkPwd(password))
    return false;
   if(!this.verifyPwd(password,confirm))
    return false;
   if(!this.checkEmail(email))
    return false;
   if(!this.userNotExit(username))
    return false;
   this.getNewID(); 
   this.result = this.register(username,password,confirm,email);
   return this.result;
  }catch(Exception e){
   System.out.println(e.toString());
   return false;
  }
 }//End boolean reg

 public boolean checkUser(String user)
 {
  try{  
   if(user.indexOf("'")!=-1)
   {
    System.out.println("姓名中含有非法字符!");
    return false;
   }else
    return true;
  }catch(Exception e){
   System.out.println(e.toString());
   return false;
   }
 }

 public boolean checkPwd(String pwd)
 {
  try{
   if(pwd.indexOf("'")!=-1)
   {
    System.out.println("密碼中含有非法字符!");
    return false;
   }else
    return true;
  }catch(Exception e){
   System.out.println(e.toString());
   return false;
  }
 }

 public boolean verifyPwd(String pwd,String confirm)
 {
  try{
   if(!pwd.equals(confirm))
   {
    System.out.println("兩次輸入的密碼不一致!");
    return false;
   }else
    return true;
  }catch(Exception e){
   System.out.println(e.toString());
   return false;
  }
 }

 public boolean checkEmail(String email)
 {
  try{
   if(email.indexOf("'")!=-1)
   {
    System.out.println("E-mail中含有非法字符!");
    return false;
   }else
    return true;
  }catch(Exception e){
   System.out.println(e.toString());
   return false;
  }
 }

 public boolean userNotExit(String user)
 {
  try{
   DBConn userDBConn = new DBConn();
   userDBConn.executeQuery("select * from tbl_user where name='" + user + "'");
   if(userDBConn.rs_next())
   {
    System.out.println("用戶(hù)名已存在,請(qǐng)選擇其它的用戶(hù)名!");
    return false;
   }else
    return true;
  }catch(Exception e){
   System.out.println(e.toString());
   return false;
   }
 }

 public int getNewID()
 {
  try{
   DBConn newIDDBConn = new DBConn();
   newIDDBConn.executeQuery("select * from tbl_user order by id desc limit 1");
   if(newIDDBConn.rs_next())
   {
    this.newID = newIDDBConn.rs_getInt("id") + 1;
    System.out.println(this.newID);
   }else{
    this.newID = 1;
   }
   return this.newID;
  }catch(Exception e){
   System.out.println(e.toString());
   return -1;
   }   
 }

 public int getID()
 {
  return this.newID;
 }

 public boolean register(String username,String password,String confirm,String email)
 {
  try{
   DBConn regDBConn = new DBConn();
   String strSQL = "insert into tbl_user(id,name,pwd,email) values('" + this.newID +"','" + username + "','" + password + "','" + email + "')";
   regDBConn.execute(strSQL);
   return true;
  }catch(Exception e){
   System.out.println(e.toString());
   return false;
   }
 }

 public static void main(String args[])
 {
  try{

   reg newreg = new reg();  

   System.out.println(newreg.reg("sssssssss","ssssss","ssssss","imagebear@163.com"));

   DBConn myconn = new DBConn();
   myconn.executeQuery("select * from tbl_user");
   while(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());
  }catch(Exception e){
   System.err.println(e.toString());
  }
 }
};

說(shuō)明:
1、該bean文件應(yīng)和上文所述DBConn.class文件放于同一目錄下
2、本例主要研究注冊(cè)的過(guò)程,其中的Email檢測(cè)等方法并不完善,若要應(yīng)用請(qǐng)自行設(shè)計(jì)方法

 


四、編寫(xiě)用戶(hù)登陸的Servlet:login.java


//login.java

//import required classes
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.sql.*;

//class login
public class login extends HttpServlet
{
 public void doGet(HttpServletRequest req,HttpServletResponse res)
 throws IOException,ServletException
 {
  String username = req.getParameter("username");
  String password = req.getParameter("password");
  if(this.checklogin(username,password))
  {
   Cookie mylogin = new Cookie("username",username);
   mylogin.setVersion(1);
   mylogin.setPath("/");
   mylogin.setComment("Your login username");
   res.addCookie(mylogin);
  }
  //Cookie[] myCookies = req.getCookies();
  //String nameValue = this.getCookieValue(myCookies,"username","not found");
  //PrintWriter out = res.getWriter();
  //out.println("username" + ":" + nameValue);
  //out.println("Test Cookie Success!");
  res.sendRedirect("/index.jsp");
 }

 public void doPost(HttpServletRequest req,HttpServletResponse res)
 throws IOException,ServletException
 {
  doGet(req,res);
 }

 public static String getCookieValue(Cookie[] cookies,String cookieName,String defaultValue)
 {
  for(int i=0;i<cookies.length;i++) {
  Cookie cookie = cookies[i];
  if (cookieName.equals(cookie.getName()))
  return(cookie.getValue());
 }
  return(defaultValue);
 }



 public boolean checklogin(String username,String password)
 {
  try{
   DBConn loginConn = new DBConn();
   loginConn.executeQuery("select * from tbl_user where name='" + username + "'");
   if(loginConn.rs_next())
   {
    System.out.println("Connection created!");
    if(loginConn.rs_getString("pwd").trim().equals(password))
    {
     System.out.println(loginConn.rs_getString("name"));
     return true;
    }
    else
    {
     return false;
    }
   }
   System.out.println("Test Login Success!");
   return false;
  }catch(Exception e){
   System.out.println(e.toString());
   return false;
   }
 }

 public static void main(String args[])
 {
  login mylogin = new login();
  System.out.println(mylogin.checklogin("shandong","shandong"));
 }

}

說(shuō)明:
1、默認(rèn)的jdk1.4中并沒(méi)有servlet包,請(qǐng)至sun公司網(wǎng)頁(yè)下載servlet.jar,放至jdk目錄下的jre/lib/目錄下,并在JCreator中設(shè)置jdk處添加servlet.jar包 

2、本Servlet用于檢驗(yàn)用戶(hù)名和密碼,若正確則將用戶(hù)名寫(xiě)入Cookie,完成后將當(dāng)前頁(yè)重定向到index.jsp頁(yè)

 


五、編寫(xiě)檢測(cè)用戶(hù)是否已經(jīng)登陸的bean:checkLogin.java

//checkLogin.java

//import required classes
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;

//class checkLogin
public class checkLogin
{
 public String username = ";

 public boolean check(HttpServletRequest req,HttpServletResponse res)
 throws IOException,ServletException
 {
  String cookieName = "username";
  Cookie[] myCookies = req.getCookies();
  this.username = this.getCookieValue(myCookies,cookieName,"not found");
  PrintWriter out = res.getWriter();
  if(this.username != null)
  {  
   //out.println("早上好," + this.username + "!");
   return true;
  }else{
   out.println("登陸失敗!");
   return false;
   }

 }

 public String getUserName()
 {
  return this.username;
 }

 public static String getCookieValue(Cookie[] cookies,String cookieName,String defaultValue)
 {
  for(int i=0;i<cookies.length;i++) {
  Cookie cookie = cookies[i];
  if (cookieName.equals(cookie.getName()))
  return(cookie.getValue());
 }
  return(defaultValue);
 }
}

說(shuō)明:此bean檢測(cè)cookie中的username,若不為空則說(shuō)明已登錄,反之說(shuō)明沒(méi)有登錄。方法不夠完善,您可以自行擴(kuò)充。

 


六、在JRun中建立shopping服務(wù)器
打開(kāi)JRun Administrator,新建shopping服務(wù)器,這里端口為8101。
將上文所述所有編譯后的class文件連同org包拷至JRun的shopping服務(wù)器所在目錄中的classes文件夾下,路徑為:


C:/JRun4/servers/shopping/default-ear/default-war/WEB-INF/classes/

七、建立jsp文件
應(yīng)用DW,在C:/JRun4/servers/shopping/default-ear/default-war/目錄下新建如下的jsp文件:
index.jsp:


<%@ page contentType="text/html;charset=gb2312" pageEncoding="gb2312" %>
<html>
<head>
<title>Shopping123</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<link href="styles/shoppingstyle.css" rel="stylesheet" type="text/css">
</head>
<body bgcolor="#FFFFFF" leftmargin="0" topmargin="0">
<jsp:useBean id="checklogin" class="checkLogin" scope="page"/>
<%
 boolean login = checklogin.check(request,response);
%>
<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">&nbsp;</td>
          <td class="caption">Shopping123</td>
          <td width="200">&nbsp;</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>&nbsp;</td>
        </tr>
      </table>
   <%
    if(!login){
   %>
      <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">賣(mài)場(chǎng)入口</td>
        </tr>
        <tr>
          <td width="50%" height="24" align="center" bgcolor="#FFFFFF">會(huì)員</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">注冊(cè)</a></td>
          <td align="center" bgcolor="#FFFFFF"><input type="submit" name="Submit" value="進(jìn)入"></td>
        </tr>
  </form>
      </table>
   <%
    }
  else
  {
   out.println("您好," + checklogin.getUserName() + "!");
  }
   %>
   </td>
 <td width="1" valign="top" bgcolor="#CCCCCC"></td>
    <td width="400">&nbsp;</td>
 <td width="1" valign="top" bgcolor="#CCCCCC"></td>
    <td width="200">&nbsp;</td>
  </tr>
  <tr align="center" bgcolor="#990000">
    <td height="60" colspan="5" class="white">copyright&copy; 2003 Shopping123</td>
  </tr>
</table>
</body>
</html>


reg.jsp<%@ page contentType="text/html;charset=gb2312" pageEncoding="gb2312" %>
<html>
<head>
<title>Shopping123</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<link href="styles/shoppingstyle.css" rel="stylesheet" type="text/css">
</head>
<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">&nbsp;</td>
          <td class="caption">Shopping123</td>
          <td width="200">&nbsp;</td>
        </tr>
      </table></td>
  </tr>
  <tr>
    <td width="100" align="center" valign="top">&nbsp;</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>&nbsp;</td>
        </tr>
      </table>
      <table width="100%" border="0" cellpadding="0" cellspacing="1" bgcolor="#CCCCCC">
   <form action="regpost.jsp" method="post" name="form1">
        <tr align="center">
          <td height="30" colspan="2" bgcolor="#CCCCCC" class="deepred">會(huì)員注冊(cè)</td>
        </tr>
        <tr>
          <td width="50%" height="24" align="center" bgcolor="#FFFFFF">會(huì)員</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">驗(yàn)證密碼</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">E-mail</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="重寫(xiě)"></td>
          <td align="center" bgcolor="#FFFFFF"><input type="submit" name="Submit2" value="注冊(cè)"></td>
        </tr>
  </form>
      </table></td>
    <td width="1" valign="top"></td>
    <td width="100">&nbsp;</td>
  </tr>
  <tr align="center" bgcolor="#990000">
    <td height="60" colspan="5" class="white">copyright&copy; 2003 Shopping123</td>
  </tr>
</table>
</body>
</html>
 regpost.jsp:注冊(cè)表單提交頁(yè)面<%@ page contentType="text/html;charset=gb2312" pageEncoding="gb2312" %>
<%@ page import="reg"%>
<html>
<head>
<title>Shopping123</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<link href="styles/shoppingstyle.css" rel="stylesheet" type="text/css">
</head>
<body bgcolor="#FFFFFF" leftmargin="0" topmargin="0">
<%
 String username = new String(request.getParameter("username").getBytes("ISO8859_1")).trim();
 String password = new String(request.getParameter("password").getBytes("ISO8859_1")).trim();
 String confirm = new String(request.getParameter("confirm").getBytes("ISO8859_1")).trim();
 String email = 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">&nbsp;</td>
          <td class="caption">Shopping123</td>
          <td width="200">&nbsp;</td>
        </tr>
      </table></td>
  </tr>
  <tr>
    <td width="100" align="center" valign="top">&nbsp;</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>&nbsp;</td>
        </tr>
      </table>
<jsp:useBean id="regID" class="reg" scope="session"/>
<%
 if(regID.reg(username,password,confirm,email))
 {
  out.print("ok");
  String 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">恭喜您,注冊(cè)成功!</td>
        </tr>
        <tr>
          <td width="50%" height="24" align="center" bgcolor="#FFFFFF">編號(hào)</td>
          <td align="center" bgcolor="#FFFFFF"><%=newID%></td>
        </tr>
        <tr>
          <td width="50%" height="24" align="center" bgcolor="#FFFFFF">會(huì)員</td>
          <td align="center" bgcolor="#FFFFFF"><%=username%></td>
        </tr>
        <tr>
          <td width="50%" height="24" align="center" bgcolor="#FFFFFF">密碼</td>
          <td align="center" bgcolor="#FFFFFF"><%=password%></td>
        </tr>
        <tr>
          <td width="50%" height="24" align="center" bgcolor="#FFFFFF">E-mail</td>
          <td align="center" bgcolor="#FFFFFF"><%=email%></td>
        </tr>
      </table>
<%
  out.print("<br>");
  out.print("<a href=javascript:window.close()>關(guān)閉</a>");
 }else{
  out.print("注冊(cè)失敗!<br>");
  out.print("該用戶(hù)名已有人使用,請(qǐng)使用另外的用戶(hù)名!");
  out.print("<a href=javascript:history.go(-1)>返回</a>");
 }
%>
   </td>
    <td width="1" valign="top"></td>
    <td width="100">&nbsp;</td>
  </tr>
  <tr align="center" bgcolor="#990000">
    <td height="60" colspan="5" class="white">copyright&copy; 2003 Shopping123</td>
  </tr>
</table>
</body>
</html>
 至此,我們已經(jīng)完成了一個(gè)用戶(hù)注冊(cè)、登錄的系統(tǒng)。 因?yàn)檫@是本人自己邊學(xué)邊做完成的,所以代碼一定有很多不完善的地方,歡迎大家批評(píng)指正。 以上所有代碼均經(jīng)本人測(cè)試通過(guò)。

發(fā)表評(píng)論 共有條評(píng)論
用戶(hù)名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
欧美日韩国产中字| 九九九精品视频| 日韩精品视频免费播放| 中文国产字幕在线观看| 一区在线播放视频| 中文字幕欧美国内| 国产一区高清视频| 欧美三级三级三级爽爽爽| 亚洲国产福利| 欧美中文字幕精品| 中文字幕 乱码 中文乱码91| 亚洲成a人片在线www| 日韩中文字幕在线视频播放| 国产不卡一区二区在线观看| 日韩中文在线视频| 亚洲国产福利视频| 日韩欧美在线中字| 一区二区在线视频播放| 国产成人综合精品| 日韩欧美国产亚洲| 国产欧美日韩高清| 国产三级免费观看| 日韩不卡一区二区| 91精品久久久久久久久久| 亚洲一区中文字幕在线观看| 粉嫩喷白浆久久| 中文字幕五月天| 国产精品视频福利一区二区| 中文字幕在线观看网址| 在线欧美日韩国产| 欧美日韩不卡在线视频| 先锋男人资源站| 日韩视频在线一区二区| 欧美日韩中文字幕在线| 国产欧美日韩在线播放| 日韩欧美综合| 亚洲一区在线观看网站| 国产激情久久久| 中文在线视频| 一级日韩一级欧美| 亚洲尤物av| 日韩视频一区| 亚洲视频一二三四| 激情五月综合| 92久久精品| 欧美 日韩 综合| 中文字幕不卡三区| 国产91久久久久蜜臀青青天草二 | 国产中文在线观看| 欧美婷婷精品激情| 欧美日韩中文字幕| 亚洲黄色www| 国产成人精品日本亚洲专区61| 国产黄在线播放| 日韩欧美综合在线视频| 欧美日韩综合在线观看| 中文字幕欧美日韩va免费视频| 中文字幕 乱码 中文乱码91| 91精品免费观看| 精品成人久久av| 欧美日韩精品国产| 欧美日韩午夜在线| 精品成人久久av| 欧美三级日韩三级| 精品精品久久| 精品中文在线| 亚洲三级免费看| 亚洲欧洲日韩精品在线| 中文字幕在线导航| 男人的天堂网av| 91精品国产91久久久久久久久| 日韩精品福利一区二区三区| 中文字幕在线观看精品| 欧美中文字幕视频| 日韩 国产 一区| 国产乱码在线观看| 黄色在线资源| 精品国产99久久久久久| 伊人网站在线| 精品精品久久| 欧美日韩三级视频| 91精品无人成人www| 国产一区在线观看视频| 久久精品国产2020观看福利| 亚洲 欧美 中文字幕| 老司机久久99久久精品播放免费| 欧美日韩国产区| 精品999在线| 黄污视频在线看| 天堂精品高清1区2区3区| 午夜少妇久久久久久久久| 欧美日韩国产免费观看| 91精品婷婷国产综合久久| 欧美日韩国产91| 99中文字幕一区| 一本一道综合狠狠老| 77777_亚洲午夜久久多人 | 一级日本免费的| 91麻豆视频网站| www.精品视频| 欧美不卡一二三| 国产三级在线播放| 国产激情在线观看| 欧美在线日韩在线| 精品播放一区二区| 免费精品国产自产拍观看| 精品视频在线导航| 99精品视频国产| 日韩午夜中文字幕| 粉嫩喷白浆久久| 欧美日韩亚洲不卡| 伊人www22综合色| 999精品网| 亚洲国产www| 日韩中文字幕久久| 欧美日韩成人综合| 中文字幕视频一区二区三区久| 亚洲热在线观看| 日韩欧美亚洲区| 99精品一级欧美片免费播放| 国产在线日韩欧美| 欧美日韩激情一区| 91精品国产91久久久久久久久| 一本久久a久久精品亚洲| 亚洲精品中文字幕乱码三区不卡| 日韩欧美国产成人一区二区| 久久精品网站免费观看| 欧美成人vr18sexvr| 日韩精品在线免费观看视频| 欧美日韩在线视频一区| 韩国一区二区av| 久久精品日韩无码| 久久视频一区| 九一久久久久久| 91久久大香伊蕉在人线| 日韩亚洲欧美中文字幕| 欧美三级网址| 在线综合 亚洲 欧美中文字幕| 日韩视频第二页| 日韩在线观看视频一区| 亚洲 欧美 中文字幕| 日韩欧美国产1| 一二三区精品视频| 国产三级在线| 日韩在线视频免费观看| 日韩中文欧美在线| 日本不卡免费高清视频| 国产日韩精品在线看| 精品999视频| 久久欧美中文字幕| 国产在线视频不卡| 国产中文在线观看| 最近中文字幕日韩精品| 国产欧美日韩视频| 欧美日韩国产免费观看视频| 国产欧美久久久精品免费| 日韩欧美看国产| 日韩亚洲不卡在线| 欧美日韩久久不卡| 日韩三级高清在线| 在线看av的网址| 亚洲女人天堂a在线播放| 一区二区三区四区五区视频在线观看 | 中文字幕在线欧美| 一区二区在线看| 国产欧美日韩精品综合| 一区二区91| 欧美日韩国产一级片| 成人一区二区不卡免费| 国产欧美日韩在线| 精品视频三区| 中文 欧美 日韩| 亚洲成av人综合在线观看| 蜜桃久久av一区| 国产自产视频| 深夜福利一区| 日韩欧美国产1| 亚洲一区资源| 91精品国产自产在线观看永久∴| 久久中文免费视频| 在线视频不卡国产V| 精品久久久网| 日韩在线 中文字幕| 91精品国产综合久久久久| 久久精品欧美日韩精品| 一区二区三区久久| 精品视频www| 日韩欧美综合在线| 在线欧美日韩精品| 一级片免费在线| 精品日韩av一区二区| 亚洲素人一区二区| 欧美中文字幕在线观看视频| 在线一区二区三区精品| 亚洲三级av| 91精品免费观看| 伊人亚洲视频| 亚州福利视频| 国产欧美中文在线| 国产在线观看a| 日韩欧美一二三区| 91精品国产自产在线| 91日韩欧美| 欧美日韩精品欧美日韩精品一| 国产一级在线播放| 97久久精品| 精品视频久久| 精品亚洲综合| 日韩在线观看精品| 国产欧美日韩在线看| 中文字幕在线观看视频www| 日韩视频国产视频| 欧美日韩国产专区| 日韩欧美不卡在线| 亚洲国产专区| 国产在线视频不卡| 国产免费一级| 99精品一级欧美片免费播放| 国产欧美日韩视频在线| 国产三级免费观看| 国产成人一二三区| 中文字幕国产日韩| 国内精品99| 久久精品蜜桃| www.久久草| 久久99精品国产| 一级国产黄色片| 精品日韩av一区二区| 欧美国产三级| 日本免费在线视频不卡一不卡二| 国产一二三区精品视频| 91精品国产综合久久久久久| 精品日韩一区二区三区免费视频| 天堂精品高清1区2区3区| 国产羞羞视频在线播放| 日韩精品一二三四区| 日韩欧美国产成人精品免费| 国产一级片播放| 国产乱国产乱老熟300部视频| 91精品国产综合久久蜜臀 | 日韩欧美色综合网站| 欧美va亚洲va日韩∨a综合色| 国产欧美综合视频| 国产乱国产乱老熟300部视频| 日韩av综合在线观看| 日韩在线视频在线观看| 国产免费永久在线观看| 欧美国产中文| 日韩色在线观看| 中文字幕亚洲在| 精品熟女一区二区三区| 国产欧美日韩亚洲| 亚洲国产综合久久| 日韩欧美高清在线| 日韩欧美中文第一页| 欧美一级免费在线观看| 国产三级在线| 欧美日韩亚洲不卡| 一级片在线播放| 欧美大片在线观看一区| 九九视频精品免费| 天堂在线www天堂中文在线| 国产丝袜一区| wwwwww国产| 精品国产99久久久久久| 亚洲三级免费看| 国产视频97| 亚洲va中文字幕| av一区在线| 久久99精品久久久久子伦| 91精品在线国产| 日韩久久99| 精品人妻一区二区三区视频| 国产在线视频一区二区| 在线视频一区二区三区在线播放| 亚洲视频中文字幕| 国产福利一区二区精品秒拍| 日韩不卡在线播放| 欧美三级在线看| 精品欧美久久久| 最近中文字幕在线中文视频| 黄色国产在线| 日韩欧美中文字幕视频| 亚洲a级在线播放观看| 麻豆一区二区99久久久久| 黄色国产在线| 欧洲精品二区| 福利在线国产| 国产专区中文字幕| 天堂√8在线中文| 国产永久在线观看| 日韩精品首页| 日韩在线一区二区| 国产劲爆久久| 国产色综合网| 精品久久电影| 国产乱一区二区| 久久99久久久久| 午夜伦欧美伦电影理论片| 中文亚洲免费| 日韩av一区二区在线观看| 国产999精品在线观看| 中文字幕在线看视频国产欧美| 日韩欧美国产午夜精品| 亚洲第一视频在线观看| 中文精品视频| 午夜视频在线观看一区| 久久久91精品| 国产免费一级片| 日韩欧美中文字幕一区| 精品国产99| 日韩欧美亚洲日产国| a√免费观看在线网址www| 日韩av一区二| 亚洲乱码中文字幕综合| 日韩不卡在线播放| 国产激情在线观看| 久久欧美中文字幕| av免费观看国产| 亚洲视频电影在线| 91蜜桃婷婷狠狠久久综合9色| 久久视频一区| 一区精品在线播放| 中文字幕4区| 伊人永久在线| 日本精品二区| 欧美日韩免费精品| 91精品国产调教在线观看| 欧美日韩国产一区在线| 精品全国在线一区二区| 日韩av一区二区在线观看| 欧美日韩在线视频免费观看 | 国产一区日韩欧美| 91精品视频在线| 久久久久黄色| 国产无遮挡在线视频免费观看| 高清在线一区| 91日韩欧美| 久久久久久久久综合| 中文字幕久精品免费视频| 欧美一级在线免费| 亚洲欧美999| 欧美日韩尤物久久| 午夜少妇久久久久久久久| 亚洲美女视频一区| 欧美日韩视频不卡| 国产乱码午夜在线视频| 中文字幕精品视频在线| 中文字幕在线视频第一页| 亚洲欧洲三级| 国产成人一二三区| 日本精品国语自产拍在线观看| 中文字幕在线视频第一页| 欧美中文字幕在线| 欧美激情一区二区在线| 欧美日韩国产综合久久| 精品在线网站观看| 午夜伦欧美伦电影理论片| 色综合天天性综合| 日韩欧美亚洲国产一区| 日韩欧美国产成人一区二区| 日韩精品福利一区二区三区| 国产在线一区二区视频| 国产成人精品av久久| 国产精久久久久| 国产黄色高清在线| 免费日韩精品中文字幕视频在线| 日韩亚洲一区中文字幕| 91久久在线| 久久精品欧美日韩精品| 日韩欧美在线中文字幕| 日韩在线视频免费观看| av免费观看网站| 日韩欧美国产一二三区| 91精品国产91| 一区二区三区在线播放视频| 日韩欧美综合| 日韩精品在线观看网站| 日韩精品―中文字幕| 激情婷婷亚洲| 91麻豆免费视频网站| 国产中文在线视频| 在线视频你懂得一区| 欧美久久在线观看| 久久精品99国产国产精| 亚洲乱码中文字幕综合| 国产一级网站视频在线| 欧美日韩国产在线| 日本а中文在线天堂| 中文字幕国产日韩| 黄色国产在线| 欧美亚洲国产日韩2020| 久久精品女人| 国产在线导航| 国产区日韩欧美| 日韩欧美在线字幕| 亚洲一级特黄| 中文字幕在线视频久| 国产欧美综合在线| 亚洲国产www|