日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

jsp mysql修改密码_Servlet+JSP+MySQL实现用户管理模块之七、实现用户信息更新和重置密码...

發布時間:2024/10/8 数据库 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 jsp mysql修改密码_Servlet+JSP+MySQL实现用户管理模块之七、实现用户信息更新和重置密码... 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

實現用戶信息更新和重置密碼功能

如果用戶信息很多的時候,感覺這項實現起來比較麻煩的。因為要考慮用戶哪些信息需要更新哪些不需要更新,就必須先更原來的信息比對。呵呵,當然如果考慮到多個數據庫表間的操作的話,這些根本不值一提。

首先介紹用戶信息更新功能:

用戶信息更新JSP頁面,userupdate.jsp

pageEncoding="UTF-8"%>

html?PUBLIC?"-//W3C//DTD?HTML?4.01?Transitional//EN"?"http://www.w3.org/TR/html4/loose.dtd">

用戶信息更新界面
信息修改
用戶ID${st.userId?}
用戶名
用戶賬號

οnclick="window.location.href='/UserManage/RecoverPWDServlet'">

用戶信息更新Servlet,

package?servlet;

import?java.io.IOException;

import?java.util.ArrayList;

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?javax.servlet.http.HttpSession;

import?dao.UserDao;

import?entity.User;

/**

*?用戶信息更新Servlet

*/

@WebServlet("/UserUpdateServlet")

public?class?UserUpdateServlet?extends?HttpServlet?{

private?static?final?long?serialVersionUID?=?1L;

@Override

protected?void?doGet(HttpServletRequest?req,?HttpServletResponse?resp)

throws?ServletException,?IOException?{

resp.setContentType("text/html;charset=UTF-8");

int?userId?=?Integer.parseInt(req.getParameter("userId"));

//向session中保存userId

req.getSession().setAttribute("userId",?userId);

UserDao?ud?=?new?UserDao();

User?userInfo?=?ud.selectOneUserInfo(userId);

ArrayList?list?=?new?ArrayList();

list.add(userInfo);

req.setAttribute("list",?list);

String?msg?=?"用戶信息已更新!";

req.setAttribute(msg,?msg);

String?path?=?resp.encodeURL("userupdate.jsp");

req.getRequestDispatcher(path).forward(req,?resp);

}

@Override

protected?void?doPost(HttpServletRequest?req,?HttpServletResponse?resp)

throws?ServletException,?IOException?{

resp.setContentType("text/html;charset=UTF-8");

//從session中獲取userId

HttpSession?session?=?req.getSession();

int?userId?=?(int)?session.getAttribute("userId");

//獲取用戶表單數據

String?userName?=?req.getParameter("userName");

String?userAccount?=?req.getParameter("userAccount");

//實例化用戶對象

User?user?=?new?User();

user.setUserId(userId);

user.setUserName(userName);

user.setUserAccount(userAccount);

//更新用戶信息

UserDao?ud?=?new?UserDao();

ud.updateUser(user);

//跳轉到用戶管理界面

ArrayList?list?=?ud.selectNotDeleteList();

req.setAttribute("list",?list);

String?path?=?resp.encodeURL("userlist.jsp");

req.getRequestDispatcher(path).forward(req,?resp);

}

}

數據庫操作--用戶信息更新方法

/**

*?用戶信息更新

*?@param?user?User對象

*/

public?void?updateUser(User?user)?{

Connection?conn?=?null;

PreparedStatement?ps?=?null;

//將用戶數據寫入數據庫

try?{

conn?=?DBUtils.getConnection();//獲取連接對象Connection

String?sql?=?"UPDATE?users?SET?user_name=?,user_account=?"

+?"?WHERE?user_id=?";

ps?=?conn.prepareStatement(sql);//格式化sql語句

//為?賦值

ps.setString(1,?user.getUserName());

ps.setString(2,?user.getUserAccount());

ps.setInt(3,?user.getUserId());

ps.executeUpdate();

}?catch?(SQLException?e)?{

e.printStackTrace();

}?catch?(Exception?e)?{

e.printStackTrace();

}?finally?{

//釋放資源

DBUtils.closeAll(null,?ps,?conn);

}

}

其次介紹用戶密碼重置功能:

用戶密碼重置JSP頁面,recoverpwd.jsp

pageEncoding="UTF-8"%>

html?PUBLIC?"-//W3C//DTD?HTML?4.01?Transitional//EN"?"http://www.w3.org/TR/html4/loose.dtd">

重置用戶密碼界面

function?check1()?{

if?(document.form1.userAccount.value==""){

alert("請輸入用戶賬號!");

return?false;

}

if?(document.form1.userPassword.value==""){

alert("請輸入用戶密碼");

return?false;

}

if?(document.form1.userPassword1.value==""){

alert("請輸入確認密碼!");

return?false;

}

if?(document.form1.userPassword.value!=document.form1.userPassword1.value){

alert("對不起!確認密碼不等于登錄密碼");

return?false;

}

return?true;

}

用戶賬號
用戶密碼
確認密碼

用戶密碼重置Servlet,RecoverPWDServlet.java

package?servlet;

import?java.io.IOException;

import?java.util.ArrayList;

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?javax.servlet.http.HttpSession;

import?dao.UserDao;

import?entity.User;

/**

*?重置用戶密碼Servlet

*/

@WebServlet("/RecoverPWDServlet")

public?class?RecoverPWDServlet?extends?HttpServlet?{

private?static?final?long?serialVersionUID?=?1L;

@Override

protected?void?doGet(HttpServletRequest?req,?HttpServletResponse?resp)

throws?ServletException,?IOException?{

resp.setContentType("text/html;charset=UTF-8");

String?path1?=?resp.encodeURL("recoverpwd.jsp");

req.getRequestDispatcher(path1).forward(req,?resp);

}

@Override

protected?void?doPost(HttpServletRequest?req,?HttpServletResponse?resp)

throws?ServletException,?IOException?{

resp.setContentType("text/html;charset=UTF-8");

HttpSession?session?=?req.getSession();

User?user?=?null;

UserDao?ud?=?new?UserDao();

String?userAccount?=?(String)?req.getAttribute("userAccount");

String?pwd?=?(String)?req.getAttribute("userPassword");

ud.updateUserPWD(pwd,userAccount);

user?=?ud.selectOneUserInfo(userAccount);

//更新session對象中的user中屬性。

session.setAttribute("user",?user);

//跳轉到用戶管理界面

ArrayList?list?=?ud.selectNotDeleteList();

req.setAttribute("list",?list);

String?msg?=?"用戶密碼已重置!";

req.setAttribute(msg,?msg);

String?path1?=?resp.encodeURL("userlist.jsp");

req.getRequestDispatcher(path1).forward(req,?resp);

}

}

數據庫操作--重置用戶密碼方法

/**重置用戶密碼

*?@param?pwd?用戶密碼

*?@param?userAccount?用戶賬號

*/

public?void?updateUserPWD(String?pwd,?String?userAccount)?{

Connection?conn?=?null;

PreparedStatement?ps?=?null;

//將用戶數據寫入數據庫

try?{

conn?=?DBUtils.getConnection();//獲取連接對象Connection

String?sql?=?"UPDATE?users?SET?user_password=?"

+?"?WHERE?user_account=?";

ps?=?conn.prepareStatement(sql);//格式化sql語句

//為?賦值

ps.setString(1,?pwd);

ps.setString(2,?userAccount);

ps.executeUpdate();

}?catch?(SQLException?e)?{

e.printStackTrace();

}?catch?(Exception?e)?{

e.printStackTrace();

}?finally?{

//釋放資源

DBUtils.closeAll(null,?ps,?conn);

}

}

到此,小小的用戶管理模塊就完成了。當初花不少時間自學和編寫的,這是培訓開課前老師安排的作業。當時javaSE差不多自學完,因為這個作業,就跳過了javaSE后面的學習。開始學習jdbc、MySQL和SQL語言、Servlet這些看視頻教程,其余的參考網絡資源。因為這個項目,積累了一些代碼量和代碼規范,以及養成了盡可能提高代碼質量而修改代碼的習慣。至今開課差不多2個月了,又做了三個小項目,會陸續貼上博客的。呵呵,謝謝觀看!

總結

以上是生活随笔為你收集整理的jsp mysql修改密码_Servlet+JSP+MySQL实现用户管理模块之七、实现用户信息更新和重置密码...的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。