亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JSP > 正文

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

2020-07-27 21:50:05
字體:
供稿:網(wǎng)友

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

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

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

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


二、編寫連接數(shù)據(jù)庫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ù)庫驅(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í)行查詢操作
 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;
  }
 }

                //此方法用于獲取大段文本,
                //將其中的回車換行替換為<br>
                //輸出到html頁面
 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ù)庫,所以需要MySQL數(shù)據(jù)庫的驅(qū)動(dòng)
下載后請(qǐng)將org包放至DBConn.java所在目錄下
以確保該bean能正常運(yùn)行

 

三、編寫用戶注冊(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("用戶名已存在,請(qǐng)選擇其它的用戶名!");
    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());
  }
 }
};

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

 


四、編寫用戶登陸的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"));
 }

}

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

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

 


五、編寫檢測用戶是否已經(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);
 }
}

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

 


六、在JRun中建立shopping服務(wù)器
打開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">賣場入口</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="重寫"></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è)表單提交頁面<%@ 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("該用戶名已有人使用,請(qǐng)使用另外的用戶名!");
  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è)用戶注冊(cè)、登錄的系統(tǒng)。 因?yàn)檫@是本人自己邊學(xué)邊做完成的,所以代碼一定有很多不完善的地方,歡迎大家批評(píng)指正。 以上所有代碼均經(jīng)本人測試通過。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
国产精品一区二区久久| 久久精品在线播放| 国产成人免费视频网站视频社区| 国产精品极品美女在线观看| 日本成人在线免费| 777永久免费网站国产| 国产精品久久久久永久免费看| 国产精品国产三级国产a| 三级黄色小视频| 欧美午夜宅男影院在线观看| 日韩免费久久| 久久久精品日韩欧美| av日韩免费电影| 国产又爽又黄又嫩又猛又粗| 精品一区二区三区四区五区六区| 日本久久久久久久久久久| 在线亚洲高清视频| 欧洲一区二区日韩在线视频观看免费| 国产精品福利在线观看播放| 欧美一级黄色录像片| 亚洲人www| 国产一级淫片a视频免费观看| 成人精品电影在线观看| 亚洲色图一区二区| 一区二区不卡久久精品| 午夜精品福利电影| 国精产品乱码一区一区三区四区| 欧美一区二区精品在线| av污在线观看| 亚洲一区在线日韩在线深爱| 三区四区电影在线观看| 国产精品无码久久久久成人app| 欧美二区三区的天堂| 亚洲综合大片69999| 亚洲人成伊人成综合网久久久| 在线观看视频一区二区三区| 人人爽人人爽av| 久久精品国产亚洲精品2020| 国产一区在线精品| 97精品国产97久久久久久久久久久久| 2019中文字幕视频| 免费观看不卡av| 欧美日韩久久一区| 欧美一区 二区 三区| 欧美激情精品久久久久| 亚洲欧洲成人自拍| 在线精品一区二区三区| 成人高清在线| 国产精品中文久久久久久| www视频完整版| 亚洲国产美女精品久久久久∴| 亚洲啪av永久无码精品放毛片| 4444免费观看| 国产亚洲精品激情久久| √天堂中文www官网| 加勒比在线一区二区三区观看| 国产成人自拍高清视频在线免费播放| 欧美日韩在线成人| 福利片在线播放| 在线日韩影院| 亚洲精品中文字幕无码蜜桃| 日韩欧美一区在线观看| 日韩有码一区| 国产精品亚洲视频| 国内精品400部情侣激情| 欧美国产97人人爽人人喊| 伦理一区二区三区| 国内自拍在线观看| 免费污视频在线一区| 希岛爱理一区二区三区av高清| 91原创国产| 91超碰碰碰碰久久久久久综合| 久久影视电视剧免费网站清宫辞电视| 91在线精品| 天天射综合影视| 欧美日韩精品久久| 免费看日本黄色| 国产毛片久久久久久| 91精品人妻一区二区三区果冻| 国产午夜三级一区二区三| 91在线公开视频| 青青青免费在线| 日韩欧美国产综合| 成年人视频网站免费| 国内a∨免费播放| 中文字幕av亚洲精品一部二部| 欧美性猛交一区二区三区精品| 天堂视频在线免费观看| 久久艹中文字幕| 亚洲精品aaaa| 成人手机视频在线| 国产一区久久久| 久久99精品国产99久久| 男人影院在线观看| 国产精品久久久久久久午夜| 欧美另类中文字幕| av不卡高清| 性视频1819p久久| 大陆极品少妇内射aaaaa| 黄色在线视频网| 美州a亚洲一视本频v色道| 可以在线观看的av网站| 久久久久国产精品| av观看网址| 欧美唯美清纯偷拍| 亚洲人成色777777老人头| 久久先锋影音av鲁色资源| 动漫精品一区一码二码三码四码| 欧美无人区码suv| 国产情侣免费视频| 理论片大全免费理伦片| 女囚岛在线观看| 久久青草久久| 一区二区三区在线观看欧美| 日韩日韩日韩日韩| 91农村精品一区二区在线| 亚洲国产成人久久综合一区| 日日干夜夜草| yy6080午夜| 99精品全国免费观看视频软件| 麻豆tv在线| 久久66热re国产毛片基地| 你懂的视频在线免费| 亚洲伦理中文字幕| 一区二区高清视频在线观看| 国产精品第56页| 国产成人欧美在线观看| 夜夜嗨av一区二区三区| avhd101老司机| 小小水蜜桃在线观看| 欧美日韩精品中文字幕一区二区| 久久综合九色欧美狠狠| 久久黄色级2电影| 国产一区二区精品福利地址| 亚洲欧美另类在线观看| 国产在线拍偷自揄拍精品| 亚洲欧美日韩人成在线播放| 99re这里只有| 国产v亚洲v天堂无码久久久| 日韩欧美精品网站| 日韩成人av在线资源| 精品国产区一区二| 夜夜嗨av一区二区三区四区| 夜夜精品浪潮av一区二区三区| 午夜一级电影| 岛国在线最新| 天天做天天摸天天爽天天爱| 精品综合免费视频观看| jizz国产免费| 国产夫妻在线播放| 亚洲色图制服丝袜| 三上悠亚亚洲一区| 国产激情视频一区二区| 国产一二三四视频| 日韩三级成人av网| 久久久久久九九九九九| 成午夜精品一区二区三区软件| 久久久久久亚洲精品不卡4k岛国| 日本夜夜草视频网站| 日韩av在线电影网| 37pao成人国产永久免费视频| a级精品国产片在线观看| 先锋影音一区二区三区| 免费精品视频最新在线| 精品国产一区二区在线观看| 国产在线视频欧美一区| 国产成人免费精品| 日韩欧美一区在线| 超级碰碰不卡在线视频| 欧美视频xxx| 中文字幕永久在线| 欧美88888| 中文字幕丰满乱子伦无码专区| 日韩高清三级| 一本到高清视频免费精品| 欧美激情一区| 四虎久久免费| 美腿丝袜亚洲色图| 久久青草国产手机看片福利盒子| 91免费看视频| 日韩精品久久一区二区| 久久精品亚洲94久久精品| 亚洲第一中文av| 相泽南亚洲一区二区在线播放| 国产精品xxxxxx| 色综合久久久网| 久久久国产亚洲精品| 日韩精品久久久久久久玫瑰园| 多野结衣av一区| 4438x成人网最大色成网站| 成人性生交大片免费看中文网站| 在线能看的av网站| 九九综合久久| 综合久久给合久久狠狠狠97色| 亚洲成人手机在线观看| 国产成人精品一区| 色综合夜色一区| 国产浪潮av性色av小说| 狠狠综合久久av一区二区蜜桃| 欧美日韩成人综合在线一区二区| 亚洲影视在线播放| 乳奴隷乳フ辱| 成人美女黄网站| 亚洲男人天堂手机在线| 久久久天堂国产精品| 亚洲高清视频一区二区| 国产欧美日韩一区二区三区在线观看| 高潮白浆女日韩av免费看| 中文字幕在线不卡| 日韩精品资源| 国产精品丝袜黑色高跟鞋| 中文字幕有码无码人妻av蜜桃| 亚洲丶国产丶欧美一区二区三区| 黄色福利视频网站| 国产精品19p| 日本久久二区| jizz日本免费| 国产三级精品在线不卡| 亚洲中文字幕无码一区二区三区| 亚洲涩涩在线观看| 瑟瑟视频在线免费观看| 在线观看成人影院| 日韩女优制服丝袜电影| 精品久久一区二区| 极品久久久久久久| 韩国日本在线视频| 天堂在线亚洲视频| 国产999精品在线观看| 亚洲不卡一区二区三区| 欧美午夜片在线免费观看| 伊人色**天天综合婷婷| 国产小视频免费观看| 亚洲一区二区偷拍精品| 欧美作爱福利免费观看视频| 手机在线理论电影| 艳妇荡乳欲伦69影片| 亚洲第一毛片| 男人天堂av在线播放| 精品无码在线视频| 日本大片在线看黄a∨免费| 日本久久久久久久久久久久| 欧美天堂一区二区| 午夜成人在线视频| 精品无码一区二区三区| 成人另类视频| 四虎国产精品免费久久| 97成人在线| 四虎av在线| 成人性生交大免费看| 欧美少妇性生活视频| 亚洲.国产.中文慕字在线| 亚洲国产精品成人久久综合一区| 福利视频导航网| 中文字幕免费在线不卡| 国内精品一区视频| 女人床在线观看| 亚洲精品久久7777| 久久久久观看| 中文幕一区二区三区久久蜜桃| y111111国产精品久久婷婷| 国产精品日韩二区| 成人av在线播放网址| 久久免费看少妇高潮| 午夜av区久久| 精品亚洲欧美一区| 好看不卡的中文字幕| 99久久精品国产成人一区二区| 国模无码一区二区三区| 99re66热这里只有精品4| 欧美三根一起进三p| 韩国日本不卡在线| 国产欧美自拍视频| 国产熟女一区二区三区五月婷| 国产69精品久久久久9999apgf| 91超碰中文字幕久久精品| 婷婷亚洲一区二区三区| 国产一区中文字幕| 婷婷久久综合九色综合绿巨人| 欧美日精品一区视频| 91精品美女| av高清久久久| 日本不卡免费新一二三区| 久久66热re国产毛片基地| 处破女av一区二区| 欧美videos另类齐全| 中文字幕日韩一区| 欧美日韩视频在线观看一区二区三区| 成人精品一区二区三区校园激情| 精品少妇一区二区三区密爱| 久久经典视频| 国产麻豆视频精品| 亚洲自拍欧美另类| 国产三级视频在线播放| 一级特黄性色生活片| 永久免费黄色软件| 在线观看精品视频看看播放| 久久青青草原亚洲av无码麻豆| 欧美中文在线观看| 一区二区电影在线观看| 99在线精品观看| 欧美激情久久久| 老牛精品亚洲成av人片| 国产精品va在线| 日本亚洲三级在线| 国产一区二区三区无遮挡| 国产三级精品视频| y97精品国产97久久久久久| 成人三级小说| 免费成人在线观看av| 黄色国产网站在线观看| 国产盗摄视频在线观看| av成人app永久免费| 欧美一区二区在线免费播放| 97超级碰在线看视频免费在线看| 欧美日韩免费看| 欧美吻胸吃奶大尺度电影| 亚洲国产精品一区二区久久| 亚洲影视资源网| 日韩综合网站| 91精品国产高清自在线| 国产精品一二三区| a日韩av网址| 噜噜噜噜噜久久久久久91| 欧美激情精品| 美女黄a一级视频| 路边理发店露脸熟妇泻火| 手机看片福利永久国产日韩| www.成人网|