前台开发——处理用户密码登录的修改功能

修改位置:

创建一个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 }
UserChangePwdServlet.java

显示的页面:

  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>
user_center.jsp

数据库的用户:

 

以username=1234  password=1234为例:

最终效果:

密码修改成功:

原文地址:https://www.cnblogs.com/jiguiyan/p/10627884.html