Java中修改密码时输入旧密码要与数据库中的密码一致

1.首先在jsp文件中搭建好界面


2.引入jquery中的文件,并且在jsp文件中写入jquery的路径和文本框的设置

<script src="./js/jquery-1.7.min.js"></script> 


<!-- 旧密码 -->
			<div class="oldpwd">
				<span>旧密码</span><input type="password" name="oldpwd" id="oldpwd"
					placeholder="请填写当前密码"> <span
					style="color: #F00; margin-top: 5px;">* </span> <span id="oldpwd2"></span>
			</div>

3.在jsp文件中写入ajax的代码

<script>
//使用ajax来判断旧密码与数据库中的密码是否一致
$(function(){
	//先写一个鼠标移开的事件
	$('#oldpwd').blur(function(){
		var oldpwd = $('#oldpwd').val();//获取文本框的值
		//部分路径
		var path = '<%=request.getContextPath()%>';
			$.ajax({
				type : "post",//post的提交方式
				url : path + "/employee",//完整的路径
				async : false,
				data : {//获取旧的密码和跳转到servlet文件的方法名
					"oldpwd" : oldpwd,
					"action" : "pwd"
				},
				success : function(data) {//成功的话判断密码是否为数据库中的密码
					if (data == "true") {//如果为true则输入正确
						$('#oldpwd2').text('输入正确');
					} else {//判断是否为空
						if (oldpwd == "" || oldpwd == null) {
							$('#oldpwd2').text('旧密码不能为空');
						} else {
							$('#oldpwd2').text('密码输入不正确');
						}
					}
				},
				error : function() {
					alert("失败");
				}
			});
		})
	})
</script>

4.在servlet文件中写入判断输入的旧密码是否为数据库中的密码

else if (action != null && action.equals("pwd")) {
			/**
			 * 判断密码该密码与数据库的密码是否一致
			 */
			//定义一个out可以向前台传值
			PrintWriter out = response.getWriter();
			EmployeeDao employeeDao = new EmployeeDao();
			//使用session,获取当前登录人的id
			HttpSession session = request.getSession();
			Employee e = (Employee) session.getAttribute("employee");
			int id = e.getUserid();
			try {
				//调用Dao文件中的方法
				String mima = employeeDao.pwd(id);
				//获取到前台旧密码的值
				String oldpwd = request.getParameter("oldpwd");
				//判断前台填写的值是否与数据库中的值一致
				if (mima.equals(oldpwd)) {
					//如果一致则向前台传过去true
					out.print(true);
				} else {
					//否则传false
					out.print(false);
				}
			} catch (SQLException e1) {
				// TODO Auto-generated catch block
				e1.printStackTrace();
			}
			out.flush();
			out.close();
		}

5.在Dao文件中写通过获取登录人的id来数据库中查询密码是什么

public String pwd(int id) throws SQLException {
		//通过传过来的参数,来查询密码是多少
		String sql = "select USER_PWD from task_user where ID=?";
		Connection conn = null;
		PreparedStatement stmt = null;
		conn = getConn();
		stmt = conn.prepareStatement(sql);
		stmt.setInt(1, id);
		ResultSet rs = stmt.executeQuery();
		//定义一个空的字符串
		String pwdd = "";
		//从结果集中获取值放到pwdd中
		if (rs.next()) {
			pwdd = rs.getString(1);
		}
		//返回数据库中查到的密码
		return pwdd;
	}

6.最后的成品,数据库中的密码是123456




扫描二维码关注公众号,回复: 157616 查看本文章

猜你喜欢

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