JSP学生管理系统修改密码 代码
时间: 2023-07-08 20:28:19 浏览: 50
好的,以下是一个简单的 JSP 学生管理系统修改密码的代码示例:
前端页面代码(change_pwd.jsp):
```html
<form method="post" action="ChangePwdServlet">
旧密码:<input type="password" name="oldPwd"><br>
新密码:<input type="password" name="newPwd"><br>
确认密码:<input type="password" name="confirmPwd"><br>
<input type="submit" value="修改密码">
</form>
```
后端 Java 代码(ChangePwdServlet.java):
```java
import java.io.IOException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class ChangePwdServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
request.setCharacterEncoding("UTF-8");
String oldPwd = request.getParameter("oldPwd");
String newPwd = request.getParameter("newPwd");
String confirmPwd = request.getParameter("confirmPwd");
String sid = (String) request.getSession().getAttribute("sid");
if (!newPwd.equals(confirmPwd)) {
request.setAttribute("msg", "两次输入的新密码不一致!");
request.getRequestDispatcher("/change_pwd.jsp").forward(request, response);
return;
}
try {
Class.forName("com.mysql.jdbc.Driver");
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "123456");
String sql = "SELECT * FROM student WHERE sid=? AND password=?";
PreparedStatement pstmt = conn.prepareStatement(sql);
pstmt.setString(1, sid);
pstmt.setString(2, oldPwd);
ResultSet rs = pstmt.executeQuery();
if (rs.next()) {
sql = "UPDATE student SET password=? WHERE sid=?";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, newPwd);
pstmt.setString(2, sid);
pstmt.executeUpdate();
request.setAttribute("msg", "密码修改成功!");
request.getRequestDispatcher("/change_pwd.jsp").forward(request, response);
} else {
request.setAttribute("msg", "旧密码输入错误!");
request.getRequestDispatcher("/change_pwd.jsp").forward(request, response);
}
rs.close();
pstmt.close();
conn.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
```
需要注意的是,以上代码仅为示例,实际应用中还需要进行更多的安全性和错误处理。同时,数据库连接信息应该写在配置文件中,而非硬编码在代码中。