JavaBean实现用户登录界面

实训内容和要求

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

实训步骤

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

  1. package com.eshore.pojo;
  2. import java.io.Serializable;
  3. import java.util.HashMap;
  4. import java.util.Map;
  5. public class User implements Serializable
  6. {
  7. private String username=""; //用户名
  8. private String passwd=""; //密码
  9. Map<String,String> userMap=null; //存放用户
  10. Map<String,String> errorsMap=null; //存放错误信息
  11. public User()
  12. {
  13. //无参的构造方法
  14. super();
  15. this.username="";
  16. this.passwd="";
  17. userMap=new HashMap<String,String>();
  18. errorsMap=new HashMap<String,String>();
  19. //添加用户,模拟从数据库中查询出的数据库
  20. userMap.put("baiqian","123zs");
  21. userMap.put("baifengjiu","1234zs");
  22. userMap.put("yehua","1234ww");
  23. userMap.put("zheyan","1234zq");
  24. userMap.put("baichen","1234zl");
  25. //TODO Auto-generated constructor stub
  26. }
  27. //数据验证
  28. public boolean isValidate()
  29. {
  30. boolean flag=true;
  31. //用户名验证
  32. if(!this.userMap.containsKey(this.username))
  33. {
  34. flag=false;
  35. errorsMap.put("username","该用户不存在!");
  36. this.username="";
  37. }
  38. //根据用户名进行密码验证
  39. String password = this.userMap.get(this.username);
  40. if(password==null||!password.equals(this.passwd))
  41. {
  42. flag=false;
  43. this.passwd="";
  44. errorsMap.put("passwd","密码错误,请输入正确密码!");
  45. this.username="";
  46. }
  47. return flag;
  48. }
  49. //获取错误信息
  50. public String getErrors(String key)
  51. {
  52. String errorV=this.errorsMap.get(key);
  53. return errorV==null?"":errorV;
  54. }
  55. //以下是属性的get和set方法,但必须是public
  56. public String getUsername()
  57. {
  58. return username;
  59. }
  60. public void setUsername(String username)
  61. {
  62. this.username=username;
  63. }
  64. public String getPasswd()
  65. {
  66. return passwd;
  67. }
  68. public void setPasswd(String passwd)
  69. {
  70. this.passwd=passwd;
  71. }
  72. }

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

  1. <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
  2. <jsp:useBean id="user" class="com.eshore.pojo.User" scope="session"/>
  3. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  4. <html>
  5. <head>
  6. <title>用户登录</title>
  7. </head>
  8. <body>
  9. <p>用户登录</p>
  10. <!--用form表单提交,用户名跟密码-->
  11. <form action="check.jsp" method="post">
  12. <table border="1" width="250px;">
  13. <tr>
  14. <td width="75px;">用户名:</td>
  15. <td><input name="username" value="<jsp:getProperty name="user" property="username"/>"/>
  16. <!--用户错误信息-->
  17. <span style="color:red"><%=user.getErrors("username") %></span><br/></td>
  18. </tr>
  19. <tr>
  20. <td width="75px;">密&nbsp;&nbsp;码:</td>
  21. <td><input type="password" name="passwd" value="<jsp:getProperty name="user" property="passwd"/>"/>
  22. <!--密码错误信息-->
  23. <span style="color:red"> <%=user.getErrors("passwd") %></span><br/></td>
  24. </tr>
  25. <tr>
  26. <td colspan="2">
  27. <input type="submit" value="提交"/>&nbsp;&nbsp;
  28. <input type="reset" value="重置"/>
  29. </td>
  30. </tr>
  31. </table>
  32. </form>
  33. </body>
  34. </html>

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

  1. <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
  2. <jsp:useBean id="user" class="com.eshore.pojo.User" scope="session"/>
  3. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  4. <html>
  5. <head>
  6. <title>验证用户</title>
  7. </head>
  8. <body>
  9. <!--
  10. 设置user属性,判断是否合法
  11. 合法跳转成功,否则跳转到登录页面
  12. -->
  13. <jsp:setProperty property="*" name="user"/>
  14. <%
  15. if(user.isValidate())
  16. {
  17. %>
  18. <jsp:forward page="success.jsp"/>
  19. <%
  20. }else{
  21. %>
  22. <jsp:forward page="login.jsp"/>
  23. <% } %>
  24. </body>
  25. </html>

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

  1. <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
  2. <% request.setCharacterEncoding("UTF-8"); %>
  3. <jsp:useBean id="user" class="com.eshore.pojo.User" scope="session"/>
  4. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  5. <html>
  6. <head>
  7. <title>登录成功</title>
  8. </head>
  9. <body>
  10. <center>
  11. <h4>欢迎您:
  12. <SPAN style="color: red">
  13. <jsp:getProperty property="username" name="user"/>
  14. </SPAN>用户!
  15. </h4>
  16. </center>
  17. </body>
  18. </html>

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


图1 用户登录界面


图2 输入错误信息提示


图3 成功登录的效果

  • 1
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

智慧浩海

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值