MyBlog--(7)修改密码页-changepwd.jsp

本文介绍如何在Java Web应用中实现用户密码修改功能。通过changepwd.jsp页面接收用户输入,验证旧密码,检查新密码与确认密码的一致性,并通过dochangepwd.jsp处理密码更新。错误情况会返回相应提示,正确则使用UserDAO更新用户信息并重定向到首页。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

changepwd.jsp


开头依旧是这些,注意判断是否已经登录,然后把user取出来

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<%@include file="loginJudge.jsp"%>
<% 
	User user = (User) session.getAttribute("user");
%>


输入旧密码,新密码,确认新密码,外面包着一个form,里面action,提交到dochangepwd.jsp


<form name="form2" method="post" action="dochangepwd.jsp">

dochangepwd.jsp会判断输入的原密码是否正确,如果错误的话会在session中放入changePwdErr,这里如果能取到东西,就展示出来提示原密码输入错误


                    <tr>
                      <td width="100" height="30" align="right">旧密码:</td>
                      <td><input name="oldpwd" type="password" class="inputTextW110H22" /></td>
                    </tr>
                    <tr>
                      <td height="30" align="right">新密码:</td>
                      <td><input name="newpwd" type="password" class="inputTextW110H22" /></td>
                    </tr>
                    
                    <tr>
                      <td height="30" align="right">确认密码:</td>
                      <td><input name="renewpwd" type="password" class="inputTextW110H22" /></td>
                    </tr>
                    <%
                    	String changePwdErr=(String)session.getAttribute("changePwdErr");
                    	session.removeAttribute("changePwdErr");
                    	if(changePwdErr != null){
                    %>
                    <tr><td colspan="2"><%=changePwdErr%></td></tr>
                    <%} %>
                    <tr>

dochangepwd.jsp


取出user,从request中取出旧密码、新密码、确认密码

确认旧密码对不对

不对的话,session中放入changePwdErr,显示输入的原密码不正确

重新再定位到changepwd.jsp页面

再判断新密码和确认密码是否相同

用user对密码进行更改

然后声明UserDAO对象,对user进行更改

session中放入新的user

重定位到index.jsp首页

<%@ page language="java" import="java.util.*,cn.edu.dao.*" pageEncoding="UTF-8"%>
<%@include file="loginJudge.jsp"%>
<% 
	User user = (User) session.getAttribute("user");
	request.setCharacterEncoding("utf-8");
	String oldPwd=request.getParameter("oldpwd");
	String newPwd=request.getParameter("newpwd");
	String renewPwd=request.getParameter("renewpwd");
	if(!(oldPwd.equals(user.getPassword()))){
		session.setAttribute("changePwdErr","您输入的原密码不正确,请重新输入...");
		response.sendRedirect("changepwd.jsp");
		return;
	}
	if(!(newPwd.equals(renewPwd))){
		session.setAttribute("changePwdErr","您两次输入的新密码不一致,请重新输入...");
		response.sendRedirect("changepwd.jsp");
		return;
	}
	UserDAO userdao=new UserDAO();
	user.setPassword(newPwd);
	userdao.updateUser(user);
	session.setAttribute("user",user);
	response.sendRedirect("index.jsp");
%>






















评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值