修改位置:
创建一个servlet类:UserChangePwdServlet,需要在里面进行一个判断,如果输入的密码不一致,给予一个提示不允许修改,,如果一致则允许修改
package com.guiyan.servlet; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import com.guiyan.model.User; /** * Servlet implementation class UserChangePwdServlet */ @WebServlet("/user_changepwd") public class UserChangePwdServlet extends HttpServlet { protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String password=request.getParameter("password"); String newPwd=request.getParameter("newPassword"); User u=(User) request.getSession().getAttribute("user"); if(password.equals(u.getPassword())) { } else { request.setAttribute("failMsg", "修改密码失败,您输入的密码与原密码不一致,请再好好想想!!!"); request.getRequestDispatcher("/user_center.jsp").forward(request, response); } } }
修改密码失败时:
效果图:
user.jsp
<form action="${pageContext.request.contextPath }/user_changepwd" method="post"> <!-- 安全信息start --> <h4>安全信息</h4> <div class="input"> <span>原密码</span> <input type="password" name="password" placeholder="请输入原密码"> </div> <div class="input"> <span>新密码</span> <input type="password" name="newPassword" placeholder="请输入新密码"> </div> <div class="clearfix"> </div> <div class="register-but text-center"> <input type="submit" value="提交"> </div> <!-- 安全信息end --> </form>
接下来就是登陆成功的时候了:
在UserDao.java中新建一个函数名为updatePwd
public void updatePwd(User user) throws SQLException { QueryRunner r = new QueryRunner(DBUtil.getDataSource()); String sql="update user set password=? where id=?"; r.update(sql,user.getPassword(),user.getId()); }
在UserService.java中进行该函数的异常处理:
public void updatePwd(User user) { try { uDao.updatePwd(user); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } }
在UserChangePwdServlet.java中如果修改密码成功的提示信息:
if(password.equals(u.getPassword())) { u.setPassword(newPwd); uService.updatePwd(u); request.setAttribute("msg", "修改密码成功!!!"); request.getRequestDispatcher("/user_center.jsp").forward(request, response); }
1 package com.guiyan.servlet; 2 3 import java.io.IOException; 4 import javax.servlet.ServletException; 5 import javax.servlet.annotation.WebServlet; 6 import javax.servlet.http.HttpServlet; 7 import javax.servlet.http.HttpServletRequest; 8 import javax.servlet.http.HttpServletResponse; 9 10 import com.guiyan.model.User; 11 import com.guiyan.service.UserService; 12 13 /** 14 * Servlet implementation class UserChangePwd 15 */ 16 @WebServlet("/user_changepwd") 17 public class UserChangePwdServlet extends HttpServlet { 18 19 private UserService uService = new UserService(); 20 21 protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 22 String password=request.getParameter("password"); 23 String newPwd=request.getParameter("newPassword"); 24 User u=(User) request.getSession().getAttribute("user"); 25 26 if(password.equals(u.getPassword())) { 27 28 u.setPassword(newPwd); 29 uService.updatePwd(u); 30 request.setAttribute("msg", "修改密码成功!!!"); 31 request.getRequestDispatcher("/user_center.jsp").forward(request, response); 32 33 } 34 else { 35 36 request.setAttribute("failMsg", "修改密码失败,您输入的密码与原密码不一致,请再好好想想!!!"); 37 request.getRequestDispatcher("/user_center.jsp").forward(request, response); 38 } 39 } 40 41 }
显示的页面:
1 <%@ page language="java" contentType="text/html; charset=UTF-8" 2 pageEncoding="UTF-8"%> 3 <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> 4 5 6 <!DOCTYPE html> 7 <html> 8 <head> 9 <title>个人中心</title> 10 <meta name="viewport" content="width=device-width, initial-scale=1"> 11 <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 12 <link type="text/css" rel="stylesheet" href="css/bootstrap.css"> 13 <link type="text/css" rel="stylesheet" href="css/style.css"> 14 <script type="text/javascript" src="js/jquery.min.js"></script> 15 <script type="text/javascript" src="js/bootstrap.min.js"></script> 16 <script type="text/javascript" src="js/simpleCart.min.js"></script> 17 </head> 18 <body> 19 20 21 22 23 24 25 26 <!--header--> 27 <jsp:include page="/header.jsp"></jsp:include> 28 29 30 <!--//header--> 31 32 33 <!--account--> 34 <div class="account"> 35 <div class="container"> 36 <div class="register"> 37 <c:if test="${!empty msg }"> 38 <div class="alert alert-success">${msg }</div> 39 </c:if> 40 41 <c:if test="${!empty failMsg }"> 42 <div class="alert alert-success">${failMsg }</div> 43 </c:if> 44 45 46 47 <div class="register-top-grid"> 48 <h3>个人中心</h3> 49 50 <form action="${pageContext.request.contextPath }/user_changeaddress" method="post"> 51 <!-- 收货信息start --> 52 <h4>收货信息</h4> 53 <div class="input"> 54 <span>收货人<label></label></span> 55 <input type="text" name="name" value="${user.name }" placeholder="请输入收货"> 56 </div> 57 <div class="input"> 58 <span>收货电话</span> 59 <input type="text" name="phone" value="${user.phone }" placeholder="请输入收货电话"> 60 </div> 61 <div class="input"> 62 <span>收货地址</span> 63 <input type="text" name="address" value="${user.address }" placeholder="请输入收货地址"> 64 </div> 65 <div class="register-but text-center"> 66 <input type="submit" value="提交"> 67 </div> 68 69 <!-- 收货信息end --> 70 71 72 73 </form> 74 75 76 <hr> 77 78 79 80 <form action="${pageContext.request.contextPath }/user_changepwd" method="post"> 81 <!-- 安全信息start --> 82 <h4>安全信息</h4> 83 <div class="input"> 84 <span>原密码</span> 85 <input type="password" name="password" placeholder="请输入原密码"> 86 </div> 87 <div class="input"> 88 <span>新密码</span> 89 <input type="password" name="newPassword" placeholder="请输入新密码"> 90 </div> 91 <div class="clearfix"> </div> 92 <div class="register-but text-center"> 93 <input type="submit" value="提交"> 94 </div> 95 <!-- 安全信息end --> 96 </form> 97 </div> 98 99 <div class="clearfix"> </div> 100 </div> 101 </div> 102 </div> 103 <!--//account--> 104 105 106 107 108 109 110 <!--footer--> 111 <jsp:include page="/footer.jsp"></jsp:include> 112 <!--//footer--> 113 114 </body> 115 </html>
数据库的用户:
以username=1234 password=1234为例:
最终效果:
密码修改成功: