实训内容和要求
应用 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 userMap=null; //存放用户 Map errorsMap=null; //存放错误信息 public User() { //无参的构造方法 super(); this.username=""; this.passwd=""; userMap=new HashMap(); errorsMap=new HashMap(); //添加用户,模拟从数据库中查询出的数据库 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 属性值,代码如下:
用户登录
用户登录
用户名: | "/> |
密 码: | "/> |
(3) 检验页面 check.jsp,同样定义一个范围为 session 的 User,调用类的验证方法进行判断,代码如下:
验证用户
(4) success.jsp 文件显示欢迎界面,代码如下:
登录成功
欢迎您: 用户!
程序运行结果如图 1、图 2、图 3 所示。
![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiIml2ZuMjNzcDOwAzN1ETL48CXwEzLclTMwIzLcNHZh9GbwV3LcRnblRnbvNWLwd3Lc12bj5iZmhHe5JnL3d3dvw1LcpDc0RHaiojIsJye.gif)
图1 用户登录界面
图2 输入错误信息提示
图3 成功登录的效果