在jsp中用bean和servlet联合实现用户注册、登录

声明:作者原创,版权所有。未经授权,不得转载
在jsp中用bean和servlet联合实现用户注册、登录

作者:imagebear
版权:imagebear

本例需要的软件和运行环境:
1、Windows2000 Server操作系统
2、jdk1.4
3、JCreator2.5(java源码编辑调试器,吐血推荐!)
4、Macromedia JRun MX
5、Macromedia Dreamweaver MX(非必需)
6、MySQL数据库(最好安装MySQL Control Center)

一、数据库设计
用MySQL Control Center打开MySQL数据库,新建数据库shopping,在其下新建表tbl_user,其中各字段设置如下:


二、编写连接数据库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);//加载数据库驱动程序
   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());
  }
 }

//执行查询操作
 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;
  }
 }

//执行数据的插入、删除、修改操作
 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;
  }
 }

//结果集指针跳转到某一行
 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;
  }
 }

//判断结果集中是否有数据
 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方法,调试用
 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());
  }
 }

}

声明:因为使用的是MySQL数据库,所以需要MySQL数据库的驱动
下载后请将org包放至DBConn.java所在目录下
以确保该bean能正常运行

三、编写用户注册的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("用户名已存在,请选择其它的用户名!");
    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文件应和上文所述DBConn.class文件放于同一目录下
2、本例主要研究注册的过程,其中的Email检测等方法并不完善,若要应用请自行设计方法

四、编写用户登陆的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、默认的jdk1.4中并没有servlet包,请至sun公司网页下载servlet.jar,放至jdk目录下的jre\lib\目录下,并在JCreator中设置jdk处添加servlet.jar包

2、本Servlet用于检验用户名和密码,若正确则将用户名写入Cookie,完成后将当前页重定向到index.jsp页

五、编写检测用户是否已经登陆的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,若不为空则说明已登录,反之说明没有登录。方法不够完善,您可以自行扩充。

六、在JRun中建立shopping服务器
打开JRun Administrator,新建shopping服务器,这里端口为8101。
将上文所述所有编译后的class文件连同org包拷至JRun的shopping服务器所在目录中的classes文件夹下,路径为:

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

七、建立jsp文件
应用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"> </td>
          <td class="caption">Shopping123</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>
   <%
    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">会员</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="进入"></td>
        </tr>
  </form>
      </table>
   <%
    }
  else
  {
   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>
</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"> </td>
          <td class="caption">Shopping123</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>
      <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">会员注册</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">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="注册"></td>
        </tr>
  </form>
      </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>
</table>
</body>
</html>
 regpost.jsp:注册表单提交页面<%@ 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"> </td>
          <td class="caption">Shopping123</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>
<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">恭喜您,注册成功!</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"><%=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()>关闭</a>");
 }else{
  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>
</table>
</body>
</html>
 至此,我们已经完成了一个用户注册、登录的系统。 因为这是本人自己边学边做完成的,所以代码一定有很多不完善的地方,欢迎大家批评指正。 以上所有代码均经本人测试通过。

(0)

相关推荐

  • jsp基于XML实现用户登录与注册的实例解析(附源码)

    简单的基于xml做数据库的登录与注册 主题介绍: 1.xml的读取和存储,主要是用到dom4j技术,(网络中的文件存储路径采用classLoader) 文件的读取和存储,写了一个工厂类 public class DocumentFactory { private static Document dom=null;//需要共享一个dom,所以需要设置为static private static String name="user.xml"; private static String f

  • JSP实现用户登录、注册和退出功能

    本文讲述使用JSP实现用户登录,包括用户登录.注册和退出功能等. 1.系统用例图 2.页面流程图 3.数据库设计 本例使用oracle数据库 创建用户表 包括id,username,password和email,共4个字段 -- Create table create table P_USER ( id VARCHAR2(50) not null, username VARCHAR2(20), password VARCHAR2(20), email VARCHAR2(50) ) tablesp

  • js制作带有遮罩弹出层实现登录注册表单特效代码分享

    本文实例讲述了js制作带有遮罩弹出层实现登录注册表单代码特效代码.分享给大家供大家参考.具体如下: 运行效果图:                     ----------------------查看效果   源码下载----------------------- 小提示:浏览器中如果不能正常运行,可以尝试切换浏览模式. jquery制作的带有遮罩弹出层实现登录注册等表单的特效源码,是一段实现了点击后在原始页面上弹出想用页面的代码.  为大家分享的js制作带有遮罩弹出层实现登录注册表单代码特效

  • JavaWeb实现用户登录注册功能实例代码(基于Servlet+JSP+JavaBean模式)

    下面通过通过图文并茂的方式给大家介绍JavaWeb实现用户登录注册功能实例代码,一起看看吧. 一.Servlet+JSP+JavaBean开发模式(MVC)介绍 Servlet+JSP+JavaBean模式(MVC)适合开发复杂的web应用,在这种模式下,servlet负责处理用户请求,jsp负责数据显示,javabean负责封装数据. Servlet+JSP+JavaBean模式程序各个模块之间层次清晰,web开发推荐采用此种模式. 这里以一个最常用的用户登录注册程序来讲解Servlet+JS

  • Servlet+JavaBean+JSP打造Java Web注册与登录功能

    采用Java Web所实现的MVC结构图如下,其中控制器部分采用Servlet来实现,模型部分采用JavaBean来实现,而大部分的视图采用Jsp页面来实现. 思想基础 JSP+JavaBean两层结构工作原理应该是比较熟悉的,也比较好理解. 但是有一点必须要清楚就是用户通过浏览器来发送网页的请求,此请求到达服务器后在服务器端查找对应的网页,如果是首次请求(第二次就不用解释执行了),对于JSP来说要生成Servlet,然后通过Servlet引擎来执行 Servlet,把调用JavaBean的结果

  • js实现登录与注册界面

    完成登录与注册页面的HTML+CSS+JS,其中的输入项检查包括: 用户名6-12位 首字母不能是数字 只能包含字母和数字 密码6-12位 注册页两次密码是否一致 html代码: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>欢迎你,请先登陆!</title> <script type="

  • 原生js验证简洁注册登录页面

    序 一个以js验证表单的简洁的注册登录页面,不多说直接上图 效果 主要文件 完整代码 1 sign_up.html 注册表单 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>sign-up</title> <link rel="stylesheet" href="css

  • Ionic+AngularJS实现登录和注册带验证功能

    登录: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="viewport" content="initial-scale=1, maximum-scale=1, user-scalable=no, width=device-width"> <title></title> <li

  • JSP+MySQL实现网站的登录与注册小案例

    为了练手,我就自己试着做了一个网站的登录与注册的小案例.由于没有做美化处理,所以界面并不是很好看. 网站实现的功能如下:  •用户首次注册功能  •用户登录功能 下面我将会分模块展示 注册模块 首先需要一个注册界面,如下register.jsp: <%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> <!DOC

  • node.js实现登录注册页面

    本文实例为大家分享了node.js登录注册页面展示的具体代码,供大家参考,具体内容如下 首先需要新建四个文件 一个服务器js 一个保存数据的txt 一个登陆.一个注册页面html 1.注册页面 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>regist</title> </head> <

随机推荐