实例说明
       用户账号代表着用户在一个网站上的身份,想使用这个账号登录网站就必须要输入与之对应的密码,有些疏忽大意的人会出现错记甚至遗忘自己登录密码的情况,这个时候就需要使用密码管理功能让用户为自己重新初始化一个新的密码。
      运行本实例,进入用户登录页面,如图1所示,单击“忘记密码”超链接,进入到找回密码第一步页面,在这里输入注册时所使用的用户名、邮箱如图2所示,单击“下一步按钮”,进入到找回密码第二步页面,此页面将显示出用户注册时留下的密码提示问题,根据问题填入正确的答案如图3所示,单击“下一步”按钮,进入初始化新密码页面,在此页面输入一个新的密码并单击“确定”按钮,完成设置新密码的操作,如图4所示。

          图1 用户登录页面
              图2  找回密码第一步页面

             图3 找回密码第二步页面

             图4 找回密码第三步页面

设计思路
(1)设计用于存放用户信息的数据表,表结构如图5所示:
       图5  tb_userinfo数据表结构
(2)设计找回密码的具体流程如图6所示。第一步根据用户名与邮箱查询出该用户的注册信息。第二步将注册信息中的密码提示问题显示在页面中,并让用户根据提示的问题输入答案。第三步判断答案是否与注册时输入的一致,如果一致允许用户修改密码。第四步更新数据库中的密码。
图6  找回密码流程图
 (3)根据密码找回流程设计操作数据库的方法。其中getConnection()方法用于获取数据库连接,findByNameEmail()方法用于按照用户名与电子邮件地址查询用户,updatePwd()方法用于按照用户名更新用户密码。
 技术要点
  本实例在存取用户信息的时候用到了session对象,下面对实例中用到的session对象进行详细讲解。
(1)session对象
     session对象是用于保存客户与服务器间的会话信息而分配给客户的对象,它属于jsp内置对象,在jsp页面可以真接调用该对象。
例如向session对象中保存数据的关键代码如下所示:
<%
String name = "zhangsan";        //声明变量
session.setAttribute("userName", name);//使用键值对的方式将变量存入session对象
%>
从session对象中将保存的变量取出的关键代码如下所示:
<%
/*将保存在session对象中的名为usrName的变量值取出*/
String name = (String)session.getAttribute("userName");
%>
    注意: session的有效时间一般默认为30分钟,如果客户端30分钟内没有向服务器发出应答请求,那么session对象会自动失效,session内保存的数据也将丢失。另外还可以通过setMaxInactiveInterval()方法手动设置session的有效时间。
     开发步骤
      (1)编写PwdBean类用于封装数据表中的记录,PwdDao类来执行对数据库的插、删、改、查等操作。
      (2)设计index.jsp用户登录页面,在此页面提供“忘记密码”超链接。如果用户忘记了密码可以通过此连接进入到找回密码页面。关键代码如下所示:
<%
PwdBean pbean = new PwdDao().findByNameEmail(request.getParameter("name"), request.getParameter("email"));
session.setAttribute("pbean", pbean);
%>
<td>密码提示问题:</td>
<td><%= pbean.getQuestion()%>
</td>
……//省略部分代码
(5)设计findPwd3.jsp找回密码第三步页面。首先判断用户输入的密码提示问题是否正确,如果正确显示输入新密码页面,否则提示错误信息,关键代码如下:
<%PwdBean pbean = (PwdBean) session.getAttribute("pbean");    //从session中将用户信息取出if (pbean.getKey().equals(request.getParameter("key"))) {   //与session中保存的正确答案进行比较
%>……//省略部分代码
<% } else { %>密码提示答案输入有误!
<%}%>
(6)编写findPwdResult.jsp将数据库中的密码更新为用户新输入的密码。关键代码如下:
<%PwdBean pbean = (PwdBean) session.getAttribute("pbean");pbean.setPwd(request.getParameter("pwd1"));new PwdDao().updatePwd(pbean);
%>

Java进阶之Jsp找回密码知识点总结相关推荐

  1. java 基于springboot邮箱找回密码功能

    一.主要内容 基于springboot实现密码找回功能. 二.邮箱找回密码的思想. 1.输入注册邮箱,点击获取验证码.会将验证码发送到邮箱. 2.用户进入邮箱,查看验证码. 3.用户输入验证码,输入新 ...

  2. java web 找回密码_java web实现 忘记密码(找回密码)功能及代码

    java web实现 忘记密码(找回密码)功能及代码 (一).总体思路 (二).部分截图 (三).部分代码 (一).总体思路: 1.在 找回密码页面 录入 姓名.邮箱和验证码,录入后点击[提交]按钮, ...

  3. java 邮箱找回密码_【JavaWeb】通过邮件找回密码

    前言 本文将介绍忘记密码时通过发送重置密码邮件找回密码的实现思路.整个实现过程中最重要的就是以下三点: 如何发送邮件到用户指定邮箱 邮件中的重置密码链接构成是怎么样的 验证重置密码链接的合法性(是否过 ...

  4. Jsp实现注册登录以及忘记找回密码等操作(上)

    刚开始做WEB项目的小伙伴遇到的第一个难关,可能就是做一个能够实现与数据库连接后用于注册,登录,找回密码的界面.今天博主就用一个小项目带领大家实现这个项目,让大家在实战中理解网页如何与数据库连接,如何 ...

  5. Java进阶3 - 易错知识点整理(待更新)

    Java进阶3 - 易错知识点整理(待更新) 该章节是Java进阶2- 易错知识点整理的续篇: 在前一章节中介绍了 ORM框架,中间件相关的面试题,而在该章节中主要记录关于项目部署中间件,监控与性能优 ...

  6. java web 找回密码_JavaWeb利用邮箱帮用户找回密码

    本文是介绍在一个小的JAVAWeb项目中,利用邮箱帮用户找回密码. 效果展示 需要一个发送邮件的jar包 : javax.mail .jar 1.JSP页面(设置邮箱输入框) pageEncoding ...

  7. java 注册忘记密码操作_Java实战项目(1):swing图书管理系统的登录,注册,找回密码,增删查,个人解析等...

    SQL部分: drop table yonghu, shangpin,dingdanxiangqing,sp_Type drop table shangpin select * from yonghu ...

  8. java邮箱找回密码_Spring实现简单的邮箱找回密码功能

    通过spring可以实现简单的邮箱找回密码的功能,在此做一下简单的笔记. 1.首先就是导入一些相关的jar包 2.加入配置文件,具体配置信息如下: encoding="UTF-8" ...

  9. Java实现邮箱找回密码

    通过邮件找回密码功能的实现 1.最近开发一个系统,有个需求就是,忘记密码后通过邮箱找回.现在的系统在注册的时候都会强制输入邮箱,其一目的就是 通过邮件绑定找回,可以进行密码找回.通过java发送邮件的 ...

最新文章

  1. 跟我学Spring Cloud(Finchley版)-10-Feign深入
  2. linux 三大利器 grep sed awk sed
  3. MyBatis-16MyBatis动态SQL之【支持多种数据库】
  4. 软件测试自学舞蹈简单,中舞网APP评测:舞蹈初学者必备的APP
  5. LayUi引入JSON文件进行表格重载时出现接口请求异常
  6. 包含html语言的超链接标记的网页_HTML是什么?
  7. 递归与递推类型题小结
  8. c语言程序设计会出现什么问题,计算机C语言程序设计过程中的常见问题分析和研究...
  9. 【方法】Altera Cyclone系列的EP1C3T144C8N FPGA利用ALTASMI_PARALLEL IP核读写自身的EPCS Flash存储器
  10. windows网络和共享中心“查看基本网络信息并设置连接”为“未知”的解决方案
  11. 如何手动开启Windows远程桌面服务
  12. SQL Server 2000 数据库安装与配置图文教程
  13. js格式化显示json对象
  14. 移动通信网络规划:无线设备参数
  15. 体验一个人自驾游思考人生
  16. ConcurrentHashMap 1.7和1.8 源码解析
  17. 让家长实时了解孩子进出校园——智能校园管理系统
  18. 最新2019版个税计算器(5000起征点 + 个税专项扣除项)
  19. AutoHotKey的那些事儿:(一)、AutoHotkey常用命令
  20. 2021年度南山区科技奖励支持计划申报奖励及条件,补贴300万

热门文章

  1. 2022年安全员-B证考试题库及答案
  2. 技术管理者如何做好团队建设?战斗力十足!
  3. 推荐两部昨天刚看完的韩剧
  4. Java Poi Word 添加标题
  5. Python实现21点扑克牌游戏
  6. 三星pad系统android4.0,堪称安卓系统最强悍平板的三星Galaxy Tab S4正式发布,售价有点...
  7. 2.Linux中grep多个关键字“与”和“或”使用详解
  8. 收藏10款最新流行的 jQuery 插件
  9. 计算机中收藏夹中的桌面怎么找,电脑浏览器收藏夹保存在哪里
  10. 如何学qq引流?教你如何用QQ快速引流