日期:2014-05-17  浏览次数:20710 次

用户登录后密码修改怎么改
先说下环境SSJ框架(spring,struts2,jpa)再说下要实现的功能,首先是用户登录时获得用户的密码,当用户输入“原密码”时,进行校验,然后用户输入的新密码和确认密码进行校验,当提交时如果有不一致的地方就弹出alert重新输入,
  如果成功的话,将新密码通过merge()方法更新到数据库中,同时页面跳转到登录页面,用户重新进行登录校验。
  实现这个功能即可,暂不考虑其他的。 
  下面是我的Jsp代码。 麻烦大家帮忙看看怎么实现。多谢了!
HTML code

<%@ page language="java" contentType="text/html; charset=utf-8"
    pageEncoding="utf-8"%>

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>修改密码页面</title>
</head>
<script type="text/javascript"
    src="<%=request.getContextPath()%>/js/jquery.min.js"></script>
<script type="text/javascript"
    src="<%=request.getContextPath()%>/js/query.simplemodal.min.js"></script>
<body>

    <form action="LoginAction!login.snbc" name="operationForm"
        id="operationForm" method="post">
        <table align="center">
            <caption>
                <h3>修改密码</h3>
            </caption>
            <tr>
                <td>原 密 码 <input type="password" name="password" /></td>
            </tr>
            <tr>

                <td>新 密 码 <input type="password" name="password" /></td>
            </tr>
            <tr>

                <td>确认密码 <input type="password" name="password" /></td>
            </tr>
            <tr align="center">
              <td colspan="2"><input type="submit"   onClick="changePsw();" value="确认" /></td>
            </tr>
        </table>
    </form>
</body>
<script type="text/javascript">
    function changePsw(){
        
        }
</script>
</html>





------解决方案--------------------
1.三个input的name要不一样,如:
原 密 码 <input type="password" name="oldpwd" />
新 密 码 <input type="password" name="newpwd" />
确认密码 <input type="password" name="confirmpwd" />
2.原密码校验:如果页面可以取到原密码可以用JS校验,代码如下
if(document.all.oldpwd.value!="取到的值"){
alert("原密码不正确");
return;
}
3.确认密码和新密码一致的校验
if(document.all.newpwd.value!=document.all.confirmpwd.value){
alert("两次输入的密码不一致!");
return;
}

------解决方案--------------------
探讨

LS的大哥,我还忘记说了 我不知道怎么取到用户登录时候的密码。。麻烦能给说下吗?

------解决方案--------------------
密码不要放在session中,从数据库重新查一次就可以,一个SQL也不浪费什么资源
------解决方案--------------------
输入旧密码之后,再用久密码和当前用户的登录名去数据库中查一次。
其次,你应该考虑密码的一些效验规则,先在页面进行效验,进了方法再效验,任何效验不正确,都直接return,要效验通过了,再去查数据库。这样比较节约资源。