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


    修改位置:

    创建一个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为例:

    最终效果:

    密码修改成功:

  • 相关阅读:
    zt:HttpUrlConnection使用详解
    使用HttpUrlConnection访问www.163.com遇到503问题,用设置代理加以解决
    『TensorFlow』第十弹_队列&多线程_道路多坎坷
    『TensorFlow』项目资源分享
    『Python』socket网络编程
    『TensorFlow』第九弹_图像预处理_不爱红妆爱武装
    『TensorFlow』迁移学习
    『TensorFlow』函数查询列表_神经网络相关
    『TensorFlow』函数查询列表_张量属性调整
    『TensorFlow』函数查询列表_数值计算
  • 原文地址:https://www.cnblogs.com/jiguiyan/p/10627884.html
Copyright © 2020-2023  润新知