JavaBean实现用户登录界面

实训内容和要求

应用 JavaBean 方式实现用户的登录验证,当用户在表单中填写正确的用户名和密码后,提示成功登录。若输入的密码错误,则提示“密码错误,请输入正确密码!”。

实训步骤

(1) 用 JavaBean 用户登录验证。类 User 包含基础的用户名、密码属性,用 Map 来保存错误信息,代码如下:

  package com.eshore.pojo;  import java.io.Serializable;  import java.util.HashMap;  import java.util.Map;  public class User implements Serializable  {      private String username="";    //用户名      private String passwd="";    //密码      Map<String,String> userMap=null;    //存放用户      Map<String,String> errorsMap=null;    //存放错误信息           public User()      {          //无参的构造方法          super();          this.username="";          this.passwd="";          userMap=new HashMap<String,String>();          errorsMap=new HashMap<String,String>();          //添加用户,模拟从数据库中查询出的数据库          userMap.put("baiqian","123zs");          userMap.put("baifengjiu","1234zs");          userMap.put("yehua","1234ww");          userMap.put("zheyan","1234zq");          userMap.put("baichen","1234zl");          //TODO Auto-generated constructor stub      }      //数据验证      public boolean isValidate()      {          boolean flag=true;          //用户名验证          if(!this.userMap.containsKey(this.username))          {              flag=false;              errorsMap.put("username","该用户不存在!");              this.username="";          }          //根据用户名进行密码验证          String password = this.userMap.get(this.username);          if(password==null||!password.equals(this.passwd))          {              flag=false;              this.passwd="";              errorsMap.put("passwd","密码错误,请输入正确密码!");              this.username="";          }          return flag;      }      //获取错误信息      public String getErrors(String key)      {          String errorV=this.errorsMap.get(key);          return errorV==null?"":errorV;      }      //以下是属性的get和set方法,但必须是public      public String getUsername()      {          return username;      }      public void setUsername(String username)      {          this.username=username;      }      public String getPasswd()      {          return passwd;      }      public void setPasswd(String passwd)      {          this.passwd=passwd;      }  }

(2) 登录页面 login.jsp,引用 User 类并用表单提交的方式;设定 User 属性值,代码如下:

  <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>  <jsp:useBean id="user" class="com.eshore.pojo.User" scope="session"/>  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">  <html>  <head>      <title>用户登录</title>  </head>  <body>  <p>用户登录</p>  <!--用form表单提交,用户名跟密码-->  <form action="check.jsp" method="post">  <table border="1" width="250px;">  <tr>      <td width="75px;">用户名:</td>      <td><input name="username" value="<jsp:getProperty name="user" property="username"/>"/>      <!--用户错误信息-->      <span style="color:red"><%=user.getErrors("username") %></span><br/></td>  </tr>  <tr>        <td width="75px;">密&nbsp;&nbsp;码:</td>        <td><input type="password" name="passwd" value="<jsp:getProperty name="user" property="passwd"/>"/>        <!--密码错误信息-->        <span style="color:red"> <%=user.getErrors("passwd") %></span><br/></td>  </tr>  <tr>        <td colspan="2">            <input type="submit" value="提交"/>&nbsp;&nbsp;            <input type="reset" value="重置"/>        </td>  </tr>  </table>  </form>  </body>  </html>

(3) 检验页面 check.jsp,同样定义一个范围为 session 的 User,调用类的验证方法进行判断,代码如下:

  <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>  <jsp:useBean id="user" class="com.eshore.pojo.User" scope="session"/>  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">  <html>  <head>      <title>验证用户</title>  </head>  <body>  <!--      设置user属性,判断是否合法      合法跳转成功,否则跳转到登录页面  -->  <jsp:setProperty property="*" name="user"/>  <%      if(user.isValidate())      {  %>  <jsp:forward page="success.jsp"/>  <%      }else{  %>  <jsp:forward page="login.jsp"/>  <% } %>  </body>  </html>

(4) success.jsp 文件显示欢迎界面,代码如下:

  <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>  <% request.setCharacterEncoding("UTF-8"); %>  <jsp:useBean id="user" class="com.eshore.pojo.User" scope="session"/>  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">  <html>  <head>      <title>登录成功</title>  </head>  <body>  <center>      <h4>欢迎您:          <SPAN style="color: red">              <jsp:getProperty property="username" name="user"/>          </SPAN>用户!      </h4>  </center>  </body>  </html>

程序运行结果如图 1、图 2、图 3 所示。

JavaBean实现用户登录界面
图1 用户登录界面

 

JavaBean实现用户登录界面
图2 输入错误信息提示

 

JavaBean实现用户登录界面
图3 成功登录的效果
© 版权声明
THE END
喜欢就支持一下吧
点赞7 分享
评论 抢沙发

请登录后发表评论