狂神说 javaweb 33集:smbms密码修改实现_SMBMS 项目搭建(四)
-
导入前端素材
<li><a href="${pageContext.request.contextPath }/jsp/pwdmodify.jsp">密码修改</a></li>
写项目,建议从底层向上写
-
UserDao接口
updatePwd.java
//修改当前用户密码
public int updatePwd(Connection connection, int id, String pwd) throws Exception; -
UserDao接口实现类
updatePwd.java
//修改当前用户密码
public int updatePwd(Connection connection, int id, String pwd) throws Exception {
int flag = 0;
PreparedStatement pstm = null;
if (connection != null) {
String sql = "update smbms_user set userPassword= ? where id = ?";
Object[] params = {pwd, id};
flag = BaseDao.execute(connection, pstm, sql, params);
BaseDao.closeResource(null, pstm, null);
}
return flag;
}
-
UserService层
//根据用户Id修改密码
public boolean updatePwd(int id, String pwd); -
UserService实现类
public boolean updatePwd(int id, String pwd) {
boolean flag = false;
Connection connection = null;
try {
connection = BaseDao.getConnection();
if (userDao.updatePwd(connection, id, pwd) > 0) {
flag = true;
}
} catch (Exception e) {
e.printStackTrace();
} finally {
BaseDao.closeResource(connection, null, null);
}
return flag;
} -
servlet记得实现复用,要提取出方法! 在 dao层 和 service层 自己写映射类和实现类 下面是 servlet层 的主体
//实现Servlet的复用
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//从Session里面拿ID
Object o = request.getSession().getAttribute(Constants.USER_SESSION);
String newpassword = request.getParameter("newpassword");
boolean flag = false;
if (o != null && !StringUtils.isNullOrEmpty(newpassword)) {
UserService userService = new UserServiceImpl();
flag = userService.updatePwd(((User) o).getId(), newpassword);
if (flag) {
request.setAttribute("message", "修改密码成功,请退出并使用新密码重新登录!");
request.getSession().removeAttribute(Constants.USER_SESSION);//session注销
} else {
request.setAttribute("message", "修改密码失败!");
}
} else {
request.setAttribute("message", "修改密码失败!");
}
//修改成功后转发就行了
request.getRequestDispatcher("pwdmodify.jsp").forward(request, response);
} -
提取为方法
public class UserServlet extends HttpServlet {
注册xml
<servlet>
<servlet-name>UserServlet</servlet-name>
<servlet-class>com.study.servlet.user.UserServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>UserServlet</servlet-name>
<url-pattern>/jsp/user.do</url-pattern>
</servlet-mapping> -
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix