基于jQuery与Spring MVC实现用户密码异步修改的实战演示

文章目录

  • 一、实战概述
  • 二、实战步骤
    • (一)创建表单
      • 1、表单界面
      • 2、表单代码
      • 3、脚本代码
    • (二)后端控制器
    • (三)测试代码,查看效果
      • 1、弹出更改密码表单
      • 2、演示更改密码操作
  • 三、实战总结

一、实战概述

  • 本次实战展示了使用jQuery的$.post()方法实现异步提交表单以修改用户密码的过程。在HTML部分,定义了一个包含新密码和确认密码输入框的表单,点击“确定”按钮时调用JavaScript函数changePassword()

  • 在JavaScript脚本中,changePassword()函数通过jQuery的$.post()方法向服务器发送一个POST请求至’/user/changePassword’路径,并携带新密码作为请求参数。服务器端采用Spring MVC框架编写,具体由UserController中的changePassword()方法处理请求。此方法从HttpSession中获取当前登录用户的用户名,查询数据库找到对应用户并更新其密码,成功更新后返回一个Map对象,其中包含success为true的属性表示操作成功。

  • 当服务器返回响应数据后,前端根据data.success的值判断密码更改是否成功,并通过alert对话框提示用户结果,同时清空密码输入框以便后续再次使用。整个过程实现了无刷新页面更新,提升了用户体验与系统响应速度。

二、实战步骤

(一)创建表单

1、表单界面

  • 采用Bootstrap3框架
    在这里插入图片描述

2、表单代码

<form id="ff" method="post"><div class="input-group"><span class="input-group-addon"><i class="glyphicon glyphicon-user"></i></span><input id="password" class="form-control" type="text" name="password" placeholder="输入新密码"/></div><div class="input-group" style="margin-top: 5px;"><span class="input-group-addon"><i class="glyphicon glyphicon-lock"></i></span><input id="repassword" class="form-control" type="text" name="repassword"placeholder="再次输入新密码"/></div><br/><div class="form-group"><div class="text-center"><a href="javascript:changePassword()" class="btn btn-success btn-block"onclick="return checkPassword()">确定</a></div></div>
</form>

3、脚本代码

<script type="text/javascript">function changePassword() {$.post('/user/changePassword', {"password":$("#password").val()}, function (data) {if (data.success) {alert("恭喜,密码更改成功!");$('#password').val("");$('#repassword').val("");} else {alert("遗憾,密码更改失败!");}});}
</script>

(二)后端控制器

  • 用户控制器 - UserContrller
    在这里插入图片描述
  • 只写更改密码处理方法,其余方法省略
package net.hw.shop.webmvc;import net.hw.shop.bean.Category;
import net.hw.shop.bean.Order;
import net.hw.shop.bean.Product;
import net.hw.shop.bean.User;
import net.hw.shop.service.CategoryService;
import net.hw.shop.service.OrderService;
import net.hw.shop.service.ProductService;
import net.hw.shop.service.UserService;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import sun.misc.resources.Messages_pt_BR;import javax.annotation.Resource;
import javax.servlet.http.HttpSession;
import java.sql.Timestamp;
import java.util.HashMap;
import java.util.List;
import java.util.Map;/*** 功能:用户控制器* 作者:华卫* 日期:2017年04月28日*/
@Controller
@RequestMapping("/user")
public class UserController {@Resourceprivate UserService userService;   @RequestMapping("/changePassword")@ResponseBodypublic Map<String, Object> changePassword(@RequestParam("password") String password,HttpSession session) {String username = (String) session.getAttribute("username");User userParam = new User();userParam.setUsername(username);User user = userService.findList(userParam).get(0);user.setPassword(password);int count = userService.save(user);Map<String, Object> map = new HashMap<String, Object>();if (count > 0) {map.put("success", true);}return map;}   
}

(三)测试代码,查看效果

1、弹出更改密码表单

  • 在管理后台单击【更改密码】选项卡,弹出更改密码表单
    在这里插入图片描述

2、演示更改密码操作

  • 输入新密码与确认密码,单击【确定】按钮,弹出消息框提示用户
    在这里插入图片描述

三、实战总结

  • 本次实战通过前后端结合的方式,演示了如何使用jQuery的$.post()方法实现用户密码异步修改功能。前端采用Bootstrap框架构建简洁美观的表单界面,并利用JavaScript进行表单验证和异步提交处理;后端运用Spring MVC框架接收并处理请求,根据HttpSession中存储的用户名查询数据库,更新用户密码信息,并返回操作结果至前端。整个流程实现了页面无刷新更新密码,不仅提升了用户体验,也体现了前后端分离开发的优势以及jQuery在前端交互中的便捷性。通过实战演练,展示了Web应用中常见表单操作与后端数据交互的完整过程。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/641558.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【MySQL】最左匹配原则

最左匹配原则 0x1 简单说下什么是最左匹配原则 顾名思义&#xff1a;最左优先&#xff0c;以最左边的为起点任何连续的索引都能匹配上。同时遇到范围查询(>、<、between、like&#xff09;就会停止匹配。 例如&#xff1a;b 2 如果建立(a&#xff0c;b&#xff09;顺序…

苏州渭塘镇应用无人机“智慧执法”

苏州渭塘镇应用无人机“智慧执法” 在今年以来&#xff0c;渭塘镇综合行政执法局采用了“空中地面”的立体监督模式&#xff0c;以实现对“互联网执法”工作的深入推进。在这一模式下&#xff0c;无人机巡查作为技术手段得到广泛应用&#xff0c;而安全生产监管信息系统和综合…

自然语言处理--双向匹配算法

自然语言处理作业1--双向匹配算法 一、概述 双向匹配算法是一种用于自然语言处理的算法&#xff0c;用于确定两个文本之间的相似度或匹配程度。该算法通常使用在文本对齐、翻译、语义匹配等任务中。 在双向匹配算法中&#xff0c;首先将两个文本分别进行处理&#xff0c;然后…

企业使用CRM系统有哪些好处?使用CRM应该注意什么?

近年来&#xff0c;企业竞争日趋激烈&#xff0c;为推动企业业绩增长&#xff0c;赢得市场的一席之地&#xff0c;CRM成为企业争相布局的管理工具。那么CRM是什么&#xff0c;到底有什么魔力能让企业管理者着迷&#xff0c;本文我们将为大家进行深入剖析。 什么是CRM&#xff…

龙芯3A6000_通过xrdp远程访问统信UOS

原文链接&#xff1a;龙芯3A6000|通过xrdp远程访问统信UOS hello&#xff0c;大家好&#xff01;今天我带给大家的是一篇实用性极强的技术文章——通过xrdp远程访问装载在龙芯3A6000上的统信UOS操作系统。这意味着&#xff0c;无论您使用的是Windows、MACOS还是Linux操作系统&a…

[视频处理]关于视频处理的多画面样式

在开发视频系统时&#xff0c;经常会遇到多画面的需求&#xff0c;这里收集一些多画面的素材&#xff0c;共大家参考。 图片来源于网络&#xff0c;仅供参考。 后续补充文章 【图像处理】使用FPGA实现视频多画面的方案 多画面样式

【博士每天一篇论文-综述】Deep Echo State Network (DeepESN)_ A Brief Survey

阅读时间&#xff1a;2023-11-22 1 介绍 年份&#xff1a;2017 作者&#xff1a;C. Gallicchio 比萨大学计算机科学系终身教授助理教授&#xff0c;A. Micheli&#xff0c;比萨大学计算机科学系 期刊&#xff1a; ArXiv 引用量&#xff1a;68 这是两个大牛的论文&#xff0c;…

autosar学习笔记 之SecOC

SecOC 接下来SecOC标准就更复杂一点,它不单单是做了通讯校验。 SecOC是基于对称密钥加密的一套机制,需要对ECU间的通讯作身份认证处理,来更好的防止伪装攻击,谈起对称或非对称加密,就会涉及到密钥的存储和Mac值的计算。 因此SECOC机制对于密钥的硬件存储,也有一定的要求…

matlab appdesigner系列-常用15-滑块、微调器

滑块&#xff0c;以左右拖动的方式在一定范围内改变数值 此示例&#xff0c;滑块显示微调器的数值&#xff0c;微调器也可以显示滑块的数值 操作步骤为&#xff1a; 1&#xff09;将滑块和微调器拖拽到画布上 2&#xff09;分别设置这两个组件的回调函数 回调函数有两个选项…

c语言-常见的动态内存错误

文章目录 前言一、常见的动态内存错误1.1 对空指针进行解引用操作1.2 对动态开辟的空间进行越界访问1.3 对非动态开辟的空间使用free()1.4 使用free()释放一块动态开辟的空间时&#xff0c;释放不完全1.5 对同一块动态开辟的空间进行多次释放1.6 动态开辟的空间使用后&#xff…

Android14源码剖析:MediaPlayer与MediaPlayerService区别?(五十四)

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 优质专栏:多媒体系统工程师系列【原创干货持续更新中……】🚀 人生格言: 人生从来没有捷径,只…

MySQL数据库 | 事务中的一些问题(重点)

文章目录 什么是事务&#xff1f;事务的几个特性(ACID) -重点原子性(Atomicity)一致性(Consistency)隔离性(Isolation)持久性(Durability) Mysql中事务操作隐式事务显式事务 savepoint关键字只读事务事务中的一些问题&#xff08;重点&#xff09;隔离级别脏读解决办法 幻读解决…

美易官方《惊爆财务丑闻,有空头已经赚了十倍》

惊爆财务丑闻&#xff0c;“四大粮商”之首ADM股价暴跌&#xff0c;有空头已经赚了十倍 近日&#xff0c;一起惊爆市场的财务丑闻让全球投资者为之震惊。作为全球最大的农业综合企业之一&#xff0c;“四大粮商”之首的ADM&#xff08;Archer Daniels Midland&#xff09;被曝涉…

信息检索与数据挖掘 | (八)语言建模的IR

文章目录 &#x1f4da;语言生成模型&#x1f4da;平滑&#x1f407;线性插值平滑方法(Lelinek-Mercer)&#x1f407;dirichlet 平滑&#x1f407;Vector space&#xff08;向量空间&#xff09; vs BM25 vs LM &#x1f4da;语言生成模型 传统的语言生成模型可以用于识别或生成…

【Pytorch】搭建一个简单的泰坦尼克号预测模型

介绍 本文使用PyTorch构建一个简单而有效的泰坦尼克号生存预测模型。通过这个项目&#xff0c;你会学到如何使用PyTorch框架创建神经网络、进行数据预处理和训练模型。我们将探讨如何处理泰坦尼克号数据集&#xff0c;设计并训练一个神经网络&#xff0c;以预测乘客是否在灾难…

MySQL数据库查询语句之组函数,子查询语句

组函数 以组为操作单位&#xff0c;一组数据得到一个结果。 在没有手动分组的前提下&#xff0c;整张表默认为一组数据 max(列名)&#xff1a;获取最大值 min(列名)&#xff1a;获取最小值 sum(列名)&#xff1a;获取总和 avg(列名)&#xff1a;获取平均值 count(列名)&a…

20.云原生之GitLab CICD实战

云原生专栏大纲 文章目录 GitLab RunnerGitLab Runner 介绍Gitlab Runner工作流程 Gitlab集成Gitlab RunnerGitLab Runner 版本选择Gitlab Runner部署docker-compose方式安装kubesphere中可视化方式安装helm方式安装 配置gitlab-runner配置gitlab-ci.ymlgitlab-ci.yml 介绍编写…

基于FPGA的高效乘法器

1、设计思路 二进制的乘法运算与十进制的乘法运算相似&#xff0c;如下图所示&#xff0c;二进制数据6’b110010乘以二进制数据4’b1011&#xff0c;得到乘积结果10’b1000100110。 图1 二进制乘法运算 仔细观察上图发现&#xff0c;乘数最低位为1&#xff08;上图紫色数据位&a…

机器学习:什么是监督学习和无监督学习

目录 一、监督学习 &#xff08;一&#xff09;回归 &#xff08;二&#xff09;分类 二、无监督学习 聚类 一、监督学习 介绍&#xff1a;监督学习是指学习输入到输出&#xff08;x->y&#xff09;映射的机器学习算法&#xff0c;监督即理解为&#xff1a;已知正确答案…

期末考试发等级发成绩,就用易查分!

期末考试后&#xff0c;学校老师如何发布私密成绩&#xff1f;易查分可以轻松创建等级、成绩查询系统&#xff0c;让家长仅看到自己孩子成绩。 支持查询后留言反馈&#xff0c;电子签名确认签收等高级功能&#xff0c;节省老师沟通时间&#xff0c;大大提升工作效率。 &#x1…