用户修改密码(前端与后端)
用户修改密码的前端:
点击查看代码
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ page isELIgnored="false" %>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Change Password</title>
</head>
<body>
<h1>修改密码</h1>
<c:if test="${not empty message}">
<div style="color: green;">${message}</div>
</c:if>
<form action="${pageContext.request.contextPath}/ChangePasswordServlet" method="post">
<div>
<label for="oldPassword">原密码:</label>
<input type="password" id="oldPassword" name="oldPassword" required>
</div>
<div>
<label for="newPassword">新密码:</label>
<input type="password" id="newPassword" name="newPassword" required>
</div>
<div>
<label for="confirmNewPassword">确认新密码:</label>
<input type="password" id="confirmNewPassword" name="confirmNewPassword" required>
</div>
<div>
<button type="submit">修改密码</button>
</div>
</form>
</body>
</html>
修改密码对应后端内容:
点击查看代码
package com.QixunQiu.web;
import com.QixunQiu.pojo.User;
import com.QixunQiu.service.UserService;
import javax.servlet.*;
import javax.servlet.http.*;
import javax.servlet.annotation.*;
import java.io.IOException;
@WebServlet("/ChangePasswordServlet")
public class ChangePasswordServlet extends HttpServlet {
private UserService Userservice= new UserService();
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String oldPassword = request.getParameter("oldPassword");
String newPassword = request.getParameter("newPassword");
String confirmNewPassword = request.getParameter("confirmNewPassword");
if (!newPassword.equals(confirmNewPassword)) {
request.setAttribute("message", "新密码和确认密码不匹配.");
request.getRequestDispatcher("/ChangePassword.jsp").forward(request, response);
return;
}
User user = (User) request.getSession().getAttribute("user");
if (user == null || !user.getPassWord().equals(oldPassword)) {
request.setAttribute("message", "旧密码不正确");
request.getRequestDispatcher("/ChangePassword.jsp").forward(request, response);
return;
}
// 更新密码逻辑
user.setPassWord(newPassword);
// 假设有一个方法来更新数据库中的密码
Userservice.updateUser(user);
request.setAttribute("message", "修改成功");
request.getRequestDispatcher("/login.html").forward(request, response);
}
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
this.doGet(request, response);
}
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)