如何在此中框架下在项目中修改登录的密码?
controller层:
@Controller
@RequestMapping("/users")
public class UsersController extends BaseController {
@Resource
public UserService userService;
/**
* 用户登录
* 1、判断用户名密码是否正确
* 2、登录信息通过后返回用户级别,前台根据用户级别选择跳转页面
*
* @Url 请求地址: /users/login; 请求方法:POST
* @Title: login
* @param userName
* @param password
* @return ReturnMessage
* @date 2016年7月2日 下午5:31:26
* @author ZhouQ
*/
@RequestMapping(value = "login", method = RequestMethod.POST)
public @ResponseBody ReturnMessage login(HttpServletRequest request,HttpServletResponse response,@RequestParam String userName, @RequestParam String password) {
ReturnMessage returnMessage = new ReturnMessage();
returnMessage.setData(userService.login(request, response, userName, password));
return returnMessage;
}
/**
* 跳转到修改登录口令页面
*
* @Url 请求地址: /users/updatePwd; 请求方法:GET
* @Title: editPwd
* @param request
* @param response
* @param model
* @return String
* @date 2016年7月2日 下午5:32:27
* @author ZhouQ
*/
@RequestMapping(value = "updatePwd", method = RequestMethod.GET)
public String editPwd(HttpServletRequest request,HttpServletResponse response,ModelMap model){
return CLIENT_MAPPING+"users/updatePwd";
}
/**
* 修改登录密码
* 1、从session中获取当前用户信息
* 2、验证原始密码是否正确
* 3、获取提交上来的新密码修改用户登录密码
* 4、修改成功后当前用户退出登录,用户重新登录验证新密码
*
* @Url 请求地址: /users/updatePwd; 请求方法:POST
* @Title: updatePwd
* @param password
* @param newPassword
* @return ReturnMessage
* @date 2016年7月2日 下午5:33:20
* @author ZhouQ
*/
@RequestMapping(value = "updatePwd", method = RequestMethod.POST)
public @ResponseBody ReturnMessage updatePwd(HttpServletRequest request,HttpServletResponse response,@RequestParam String password, @RequestParam String newPassword){
ReturnMessage returnMessage = new ReturnMessage();
returnMessage.setData(userService.updatePwd(getUserSession(request).getLoginName(), password, newPassword));
return returnMessage;
}
登录中的jsp代码如下
<%@ page language="java" pageEncoding="UTF-8" contentType="text/html; charset=UTF-8"%> <%@ taglib uri="/WEB-INF/c.tld" prefix="c"%> <!DOCTYPE HTML> <html>
<head> <title></title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<%@ include file="/include/common.inc"%>
</head>
<body class="bodybg">
<div class="loginbox">
<p class="loginlogo"></p>
<p class="loginlogo_e">Universal acquisition system</p>
<form action="#" method="post" name="loginform" id="loginform">
<ul class="inputbox">
<li class="line">
<span class="ico f_l"></span>
<span class="f_l">
<input name="userName" type="text" placeholder="请输入用户名"/></span> </li>
<li> <span class="ico ico2 f_l"></span> <span class="f_l">
<input name="password" type="password" placeholder="请输入密码"/></span> </li> </ul>
<p class="m_t_6 text_r">
<a href="" class="color_gray f_12">忘记密码?</a>
</p> <a href="javascript:void(0);" onclick="loginCollection()" class="sub_btn m_t_10">登录</a>
<p class="f_12 color_red m_t_10" id="error" style="display: none;"></p> </form>
</div> </body>
<script type="text/javascript">
function loginCollection(){ var params=jQuery('#loginform').serialize(); jQuery.ajax({ type: "post", url: "users/login", dataType: "json", data: params, success: function(data){ windowUrl("ucenter"); },
error: function(XMLHttpRequest) { var response = jQuery.parseJSON(XMLHttpRequest.responseText);
$("#error").html(response.errMessage).show(); } }); }
</script> </html>
那修改密码(updatePwd)应该怎么写?
updatePwd 这个方法不是已经有了么?
控制层是写好了,但是在jsp页面上如何写修改代码,听说是和登录差不多,但是不知道怎么写.
@咫尺~天涯: 的确,只是修改密码需要两个密码框,一个新的,一个旧的,后台接收的时候验证旧密码一致不,一致就把新密码设置上,就完了
你都把新密码都传进去了 如何与数据库交互 总知道吧
....一般都是先认证旧密码是否正确,通过后保存新密码(一个旧密码框,一个新密码框,一个新密码确认框)