用户修改密码

一、记·修改用户密码功能实现

1. 新建页面 profile.jsp,添加三个输入框和提交按钮:用户输入当前密码、输入新密码、再次确认密码和重置按钮、修改密码按钮;

2. 前台 JavaScript 校验用户输入通过后触发 Ajax 请求至后台;

3. 后台(这里使用 SSM 框架实现)在 UserMapper.xml 写 SQL 语句实现,接着是 UserDao.java、UserService.java 和 UserServiceImpl.java 的接口实现;

4. 后台控制器 UserAction.java 实现,请求路径、请求参数、返回值实现。

二、相关代码示例

1. profile.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%>
<%
    String path = request.getContextPath();
%>
<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8" />
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <title>修改密码-系统后台管理</title>

        <!-- <jsp:include page="_css.jsp" /> -->

        <!-- <link rel="stylesheet" type="text/css" href="<%=path%>/view/assets/javascript/editor.css"/> --> <!-- 外部样式 -->
        <script type="text/javascript" src="https://cdn.bootcss.com/jquery/1.11.0/jquery.min.js"></script>
        <!-- 内部样式 -->
        <style type="text/css">
        .errorMsg {
            color: red;
        }

        .error {
            border: 1px solid red;
        }

        .password-input {
            width: 400px;
            hight: 25px !importent;
            margin-top: 5px;
        }

        .btn {
            vertical-align: middle;
            text-align: center;
            margin-top: 30px;
            width: 50%;
        }
        </style>
    </head>
    <body>
        <!-- <jsp:include page="_header.jsp" /> -->
        <div>
            <h3>修改用户密码</h3>
            <div>
                <label>当前密码</label></br>
                <input type="password" class="password-input" id="current_password" name="current_password" placeholder="密码长度为6-16个字符,由英文大小写字母、数字、符号组成" >
                &nbsp;<span id="currentMsg" class="errorMsg"></span>
            </div>
            <div style="margin-top: 15px;"> <!-- 内联样式 -->
                <label>新密码</label></br>
                <input type="password" class="password-input" id="new_password" name="new_password" placeholder="新密码不能当前密码相同" >
                &nbsp;<span id="newMsg" class="errorMsg"></span>
            </div>
            <div style="margin-top: 15px;">
                <label>确认密码</label></br>
                <input type="password" class="password-input" id="confirmation_password" name="confirmation_password" placeholder="确认密码与新密码保持一致" >
                &nbsp;<span id="confirmMsg" class="errorMsg"></span>
            </div>
            <div class="btn">
                <input type="reset" value="重置" onclick="clearInput();"></i> &nbsp;
                <input type="button" value="修改密码" onclick="checkInput();"></i>
            </div>
        </div>

        <!-- <jsp:include page="_footer.jsp" /> -->
        <!-- <jsp:include page="_js.jsp">
                <jsp:param value="true" name="enableScript" />
             </jsp:include> -->

        <!-- <script type="text/javascript" src="<%=path%>/view/assets/javascript/editor.js"></script> -->
        <script type="text/javascript">
        var flag = true;

        function clearInput() {
            $("#current_password").val("");
            $("#new_password").val("");
            $("#confirmation_password").val("");
            clearErrorMsg();
        }

        function clearErrorMsg() {
            $("#currentMsg").html("");
            $("#newMsg").html("");
            $("#confirmMsg").html("");
            $("#current_password").removeClass("error");
            $("#new_password").removeClass("error");
            $("#confirmation_password").removeClass("error");
        }

        function checkInput() {
            clearErrorMsg();
            var currentPassword = $("#current_password").val();
            var newPassword = $("#new_password").val();
            var confirmPassword = $("#confirmation_password").val();

            checkPwdLength(currentPassword, "currentMsg", "current_password");
            checkPwdLength(newPassword, "newMsg", "new_password");
            checkPwdLength(confirmPassword, "confirmMsg", "confirmation_password");

            if (flag) {
                $.post("<%=path%>/user/updatePassword", {
                    currentPassword : currentPassword,
                    newPassword : newPassword
                }, function(data) {
                    if ("success" == data) {
                        alert("密码修改成功,请使用新密码重新登陆!");
                        window.location.href="<%=path%>/login";
                    } else {
                        $("#currentMsg").html(data);
                        $("#current_Password").addClass("error");
                    }
                });
            }
        }

        function checkPwdLength(obj, msg, id) {
            if ("" == obj) {
                $("#" + msg).html("该项不能为空!");
                $("#" + id).addClass("error");
                flag = false;
            } else if (6 > obj.length || obj.length > 16) {
                $("#" + msg).html("密码长度为6-16个字符!");
                $("#" + id).addClass("error");
                flag = false;
            } else if($("#current_password").val() == $("#new_password").val()) {
                $("#newMsg").html("新密码不能当前密码相同!");
                flag = false;
            } else if ($("#new_password").val() != $("#confirmation_password").val()) {
                $("#confirmMsg").html("两次输入的密码不一致!");
                flag = false;
            } else {
                flag = true;
            }
        }
        </script>
    </body>
</html>

原文地址:https://www.cnblogs.com/wumz/p/8207335.html

时间: 2024-11-12 09:51:14

用户修改密码的相关文章

使用Django实现用户修改密码

整个过程和用户注册很相似,先让用户输入原密码,然后在输入两次修改密码,然后存储到数据库中. 定义用户修改密码表单 class CodeForm(forms.Form): oldpassword = forms.CharField(label='原密码:',max_length=30) newpassword1 = forms.CharField(label='修改密码:',widget=forms.PasswordInput()) newpassword2 = forms.CharField(l

MySql 用户管理 中添加用户,新建数据库,用户授权,删除用户,修改密码(注意每行后边都跟个;表示一个命令语句结束):

MySql中添加用户,新建数据库,用户授权,删除用户,修改密码(注意每行后边都跟个;表示一个命令语句结束): 1.新建用户 登录MYSQL: @>mysql -u root -p @>密码 创建用户: mysql> insert into mysql.user(Host,User,Password) values("localhost","test",password("1234")); 如果报错解决方法:https://i.c

linux下添加用户到sudo组 并禁止sudo用户修改密码

linux下添加用户到sudo组 创建用户  useradd hanli 为新用户设置密码  passwd hanli 创建用户组  groupadd  op 将用户添加到用户组  usermod -G op hanli 查看用户属于哪个组  groups hanli 查看用户组成员    groupmems -g wheel -l  (wheel是组名) 查看所有用户组   cat /etc/group   cat /etc/gshadow 查看所有用户       cat /etc/pass

MySql中添加用户,新建数据库,用户授权,删除用户,修改密码

MySql中添加用户,新建数据库,用户授权,删除用户,修改密码(注意每行后边都跟个;表示一个命令语句结束): 1.新建用户 登录MYSQL: @>mysql -u root -p @>密码 创建用户: mysql> insert into mysql.user(Host,User,Password) values("localhost","test",password("1234")); 这样就创建了一个名为:test 密码为:

MySql 5.7中添加用户,新建数据库,用户授权,删除用户,修改密码

1.新建用户 创建test用户,密码是1234. mysql -u root -p CREATE USER "test"@"localhost" IDENTIFIED BY "1234"; #本地登录 CREATE USER "test"@"%" IDENTIFIED BY "1234"; #远程登录 quit mysql -utest -p #测试是否创建成功 2.为用户授权 a.授权

Linux(CentOS)用户修改密码有效期(chage命令)

Linux设置用户密码的有效期限 解决: 先查看密码过期时间,现在是90天 1 2 3 4 5 6 7 8 [root@01 ~]# chage -l testuser Last password change     : Jul 10, 2017 Password expires     : Oct 08, 2018 Password inactive     : never Account expires     : never Minimum number of days between

linux 普通用户修改密码

作为一名技术人员,当你入职新公司之后,公司一般都会给你开一堆服务器的用户名密码,这些初始密码都是随机生成的,要想用脑子给记住那简直要命,而且很多时候这些密码都是有有效期到期都需要修改,所以最基本的修改密码的技能还是要掌握的- 其实操作非常简单: 1.用账号密码登录服务器: # 通过ssh登录,此处省略 2.终端输入:passwd,然后根据提示进行操作即可: [[email protected] ~]$ passwd #输入命令开始修改密码 Changing password for user c

mysql新建用户,授权,删除用户,修改密码

首先要声明一下:一般情况下,修改MySQL密码,授权,是需要有mysql里的root权限的. 注:本操作是在WIN命令提示符下,phpMyAdmin同样适用.     用户:phplamp  用户数据库:phplampDB 1.新建用户. //登录MYSQL @>mysql -u root -p @>密码 //创建用户 mysql> insert into mysql.user(Host,User,Password) values("localhost","

MySQL新建用户,授权,删除用户,修改密码操作

注:本操作是在WIN命令提示符下,phpMyAdmin同样适用.用户:phplamp 用户数据库:phplampDB 1.新建用户. //登录MYSQL@>mysql -u root -p@>密码//创建用户mysql> insert into mysql.user(Host,User,Password) values("localhost","phplamp",password("1234"));//刷新系统权限表mysql&