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