在spring mvc中使用ajax json串来实现项目中的修改密码

1.首先使用ajax,json串来判断旧密码输入的是否正确,和数据库中的密码是否一致。首先就是在jsp界面中写代码。还有记得引入<script src="${pageContext.request.contextPath}/js/jquery-1.7.min.js"></script>。要不执行不了jQuery的代码。

<script>
	 $(function(){
		  $('#oldpwd').blur(function(){//设置一个鼠标离开的事件
			var oldpwd = $('#oldpwd').val();
            $.post("mmxglist",{oldpwd:oldpwd},function(ret){//执行mmxglist的方法,ret是controller中用来接收数据的
            	if(ret.mm == oldpwd){//判断数据库中的密码和文本框中输入的密码是否一致
            		$('#oldpwd2').text('密码输入正确');
            	}else{
            		if(oldpwd == "" || oldpwd == null){
            			$('#oldpwd2').text('原密码不能为空');
            		}else{
            			$('#oldpwd2').text('密码错误,请重新输入');
            		}
            	}
            },"json")
		})   
	})
</script>

2.在逻辑层调用业务层的方法

  //修改密码,根据id查询出对应的密码,然后对比
	@RequestMapping("/user/mmxglist")
	@ResponseBody//使用了ajax的注解
	public String mm(HttpSession httpSession) {
		@SuppressWarnings("unchecked")
		List<Map<String, Object>> userinfo = (List<Map<String, Object>>) httpSession.getAttribute("user");
		int emid = (Integer) userinfo.get(0).get("ID");//从session中获得员工编号
		String mm = userDao.mmxg(emid);//调用业务层的方法
		Map<String, Object> noMap = new HashMap<String, Object>();//创建一个集合
		noMap.put("mm", mm);//把取到的值放到集合中
		String str = JSON.toJSONString(noMap);//转化为json的串
		return str;//传到jsp文件中
	}
	
	//修改数据库中的密码
	@RequestMapping("/user/updatepwd")
	public String updatepwd(HttpSession httpSession,HttpServletRequest request) {
		@SuppressWarnings("unchecked")
		List<Map<String, Object>> userinfo = (List<Map<String, Object>>) httpSession.getAttribute("user");
		int emid = (Integer) userinfo.get(0).get("ID");//员工编号
		String qrmm = request.getParameter("qrpwd");//从前台获取到密码,作为参数
		userDao.updatepwd(qrmm, emid);//调用修改密码的方法
		return "redirect:/";//修改完密码之后重新登录
	}

3.在Dao文件中写查询旧密码,还有修改密码的方法

//查询出对应的emid,所对应的
	public String mmxg(Integer emid) {
		String sql = "select USER_PWD FROM task_user where TASK_EMPLOYEE_ID = ?";
		String mm = jt.queryForObject(sql, String.class,emid);
		return mm;	
	}
	
	//重新设置密码
	public void updatepwd(String qrmm,Integer emid) {
		String sql = "update task_user set USER_PWD=? WHERE TASK_EMPLOYEE_ID = ?";
		jt.update(sql,qrmm,emid);
	}

猜你喜欢

转载自blog.csdn.net/cxc_happy111/article/details/80719466