实例二:用户密码修改

收藏

预览图
编号:89781666    类型:共享资源    大小:115KB    格式:DOC    上传时间:2020-07-18 上传人:glfsn****3.com IP属地:贵州
20
积分
关 键 词:
实例 用户密码 修改
资源描述:

用户经常更改自各儿的计程仪口令,现在使用Struts和Hibernate实现。 此过程比上一节的斯坦共和国稍微复杂一些,因为需要修改数据库等操作。 此实例可以加强所学习的Struts、Hibernate、配置等知识。

4.3.1总体设计

添加根据以前的斯坦共和国继续开发,修改密码的功能。 修改密码的逻辑主要发生在新建的Action类中。 后端可以继承第一个斯坦共和国的数据库表和Hibernate映射,而无需添加新字段。 前道工序情况下,如果用户需要更改计程仪口令,请在新创建的Action类中进行身份验证和处理,确认数据库中是否有该用户,验证旧口令和新口令,如果没有问题,请修改数据库,然后重新输入新口令

图4-43图4-44

4.3.2具体实现

(1)要添加用于处理密码修改逻辑的Action类——ChangePasswordAction,请确定需要修改的用户是否为合法用户,确定是否输入了正确的旧密码,并且输入两次的新密码相匹配如果这些个身份验证成功,请调用Hibernate方法来修改数据库并修改用户口令。

有关ChangePasswordAction.java的完整查询密码,请参见以下查询密码列表: 在此,对其主要内容进行简单说明。

下述查询密码表示通过ActionForm接收来自用户的输入数据。

登录信息形式=(登录信息形式)形式;

字符串用户名=loginform.getusername ();

字符串密码=loginform.get密码();

字符串密码=loginform.get新密码();

stringconfirmpassword=loginform.getconfirmpassword ();

下述查询密码表示,如果用户输入的密码不一致,则定径套ActionForm内的错误信息,进行页面跳转。 现在,ActionForm不仅可以将页面中的数据传递到Action类,还可以存储Action的状态并在页面上进行网站数据库定。 因此,ActionForm用于在Action和页面之间保留和传输数据。

国际货币基金组织新密码. equals (确认密码) {。

loginform.set错误消息(' yourpasswordentrisdidnotmatch!' );

返回映射. find前方(' change _ failure ' );

下面的查询密码表示从进行Hibernate查询得到的List中取出User,设定其新口令,用session.save ()使对象永久化。 这种方式体现了Hibernate带来的便利性。

用户=(用户)用户列表. get (0);

用户密码(新密码);

session.save (用户); 使用session.save ()方法将数据插入数据库

(2)接下来在LoginForm中追加2个领域,如下所示。

隐私字符串新密码;

私有字符串配置密码;

然后添加public void resetManually ()方法。 此方法用于清空ActionForm中的数据。 否则,上次输入的数据将保留在不同的request中。

公共语音重置手册()

{。

用户名=空;

密码=空;

新密码=空;

确认密码=空;

错误消息=空;

如果需要,可以在Action类中调用此方法。

(修改Struts-config.xml文件。 即使下次添加一个,该操作也使用LoginForm。

(添加三个jsp页面:更改路径. jsp、更改路径. jsp和更改故障. jsp。 change_password页的form部分查询密码如下所示。

用户名:

旧密码:

新密码:

确认新密码:

在此使用标签条受理用户的密码输入。

(5)完整的文件查询密码列表如下所示。

ChangePasswordAction.java查询密码如下所示。

importorg.Apache.struts.action.*;

导入javax .服务器. http.*;

导入Java.io.io执行;

导入javax.servlet.servlet exception;

导入Java.util.ArrayList;

import org.hibernate.*;

import org.hibernate.cfg.*;

/**

* @ author朝五郎

*

* description 3360 thisclassisastrutsactionclassusedtodothevalidation

*工作和变更密码。

*

*

*版权所有:

*

///

publicclasschangepasswordactionextendsaction {。

/**

* thismethoddealswiththeactionsneedtochangethepassword

* @参数映射

* @参数表单

* @参数req

* @参数列表

* @return

///

发布前向执行(动作对映、动作表单),以及

http服务请求报告、http服务响应报告。

超执行、伺服器执行{。

登录信息形式=(登录信息形式)形式;

//获取用户输入的用户名、密码、新密码和新密码的确认

字符串用户名=loginform.getusername ();

字符串密码=loginform.get密码();

字符串密码=loginform.get新密码();

stringconfirmpassword=loginform.getconfirmpassword ();

//判断新密码和新密码是否一致

if (新密码!=空值确认密码!=空值) {。

//Not the same

国际货币基金组织新密码. equals (确认密码) {。

loginform.set错误消息(' yourpasswordentrisdid ' )

不匹配! ' );

返回映射. find前方(' change _ failure ' );

} else {。

//如果不一致,则返回错误消息,要求用户重新输入

loginform.set错误消息(' pleaseenterthenewpassword ' )

推特! ' );

返回映射. find前方(' change _ failure ' );

//新密码通过后,判断是否有该用户,以及该密码是否正确

if (用户名!=空值) {。

//以太网智能运输系统a valid用户

特里。

sessionfactorysf=新配置().configure ()。

buildSessionFactory ();

Session session=sf.openSession ();

transaction tx=session.begin transaction ();

//在数据库中搜索此用户

字符串SQL查询=' selectufromuseruwhereu

用户名='用户名' ' ';

查询=session.create查询(SQL查询);

ArrayList用户列表=(ArrayList ) lquery.list ();

用户=新用户();

//此用户存在

空的!=用户列表(用户列表. size ()0) ) {。

用户=(用户)用户列表. get (0);

国际货币基金组织user.get密码().equals (密码) ) {。

loginform.set错误消息('无效)

交互式密码用户! ' );

返回映射. find前锋('变更?

故障' );

} else {。

//如果此用户存在且密码正确,请将密码更改为新密码

if (新密码!=空值) {。

用户密码(新密码);

//将新密码保存到数据库

session.save (用户);

} else {。

loginform.set错误消息(' please

进入old密码! ' );

返回映射. find前锋('变更?

故障' );

} else {。

//此用户不存在

loginform.set错误消息(' invaliduseror

不相干密码! ' );

返回映射. find前方(' change _ failure ' );

mit ();

session.close ();

{\catch (高级执行)。

e .打印堆栈跟踪();

loginform.set错误消息('错误!' );

返回映射. find前方(' change _ failure ' );

} else {。

loginform.set错误消息(' pleaseentertheusername!' );

返回映射. find前方(' change _ failure ' );

//密码更改已成功完成

返回映射. find前方(' change _ success ' );

LoginAction.java如下所示。

importorg.Apache.struts.action.*;

导入javax .服务器. http.*;

导入Java.io.io执行;

导入javax.servlet.servlet exception;

导入Java.util.arrayl

内容简介:
-
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
提示  人人文库网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
关于本文
本文标题:实例二:用户密码修改
链接地址:https://www.renrendoc.com/paper/89781666.html

官方联系方式

2:不支持迅雷下载,请使用浏览器下载   
3:不支持QQ浏览器下载,请用其他浏览器   
4:下载后的文档和图纸-无水印   
5:文档经过压缩,下载后原文更清晰   
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

网站客服QQ:2881952447     

copyright@ 2020-2025  renrendoc.com 人人文库版权所有   联系电话:400-852-1180

备案号:蜀ICP备2022000484号-2       经营许可证: 川B2-20220663       公网安备川公网安备: 51019002004831号

本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知人人文库网,我们立即给予删除!