项目-修改密码

前端:

通过input标签输入原密码和新密码

给确定按钮绑定点击事件,通过赋予input标签id属性选中input标签,通过val()获取标签中的值,将值传入控制器中的方法,

控制器方

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,修改密码实现代码如下: 1. 修改密码页面的 HTML 代码: ```html <form action="updatePassword" method="post"> <label for="oldPassword">旧密码:</label> <input type="password" id="oldPassword" name="oldPassword"><br> <label for="newPassword">新密码:</label> <input type="password" id="newPassword" name="newPassword"><br> <label for="confirmPassword">确认新密码:</label> <input type="password" id="confirmPassword" name="confirmPassword"><br> <button type="submit">确认修改</button> </form> ``` 2. 修改密码的 Servlet 代码: ```java @WebServlet("/updatePassword") public class UpdatePasswordServlet extends HttpServlet { protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // 获取旧密码、新密码、确认新密码 String oldPassword = request.getParameter("oldPassword"); String newPassword = request.getParameter("newPassword"); String confirmPassword = request.getParameter("confirmPassword"); // 获取当前登录用户的信息 HttpSession session = request.getSession(); User user = (User) session.getAttribute("user"); // 验证旧密码是否正确 if (!user.getPassword().equals(oldPassword)) { response.getWriter().println("<script>alert('旧密码不正确!');history.go(-1);</script>"); return; } // 验证新密码和确认新密码是否一致 if (!newPassword.equals(confirmPassword)) { response.getWriter().println("<script>alert('新密码和确认新密码不一致!');history.go(-1);</script>"); return; } // 修改密码 UserService userService = new UserServiceImpl(); boolean result = userService.updatePassword(user.getId(), newPassword); if (result) { response.sendRedirect("login.jsp"); } else { response.getWriter().println("<script>alert('修改密码失败!');history.go(-1);</script>"); } } } ``` 3. UserServiceImpl 的 updatePassword 方法代码: ```java public boolean updatePassword(int userId, String newPassword) { Connection conn = null; PreparedStatement pstmt = null; try { conn = JDBCUtils.getConnection(); String sql = "update user set password = ? where id = ?"; pstmt = conn.prepareStatement(sql); pstmt.setString(1, newPassword); pstmt.setInt(2, userId); int count = pstmt.executeUpdate(); return count > 0; } catch (SQLException e) { e.printStackTrace(); } finally { JDBCUtils.close(conn, pstmt); } return false; } ``` 注意:以上代码仅供参考,具体实现可能因为业务需求而有所不同。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值