jsp修改个人信息代码
时间: 2023-05-28 08:07:45 浏览: 62
以下是JSP修改个人信息的示例代码:
1. 修改个人信息页面(editProfile.jsp)
```
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>修改个人信息</title>
</head>
<body>
<h1>修改个人信息</h1>
<form action="updateProfile.jsp" method="post">
<label>用户名:</label><input type="text" name="username" value="${sessionScope.user.username}" readonly><br>
<label>密码:</label><input type="password" name="password" value="${sessionScope.user.password}"><br>
<label>邮箱:</label><input type="email" name="email" value="${sessionScope.user.email}"><br>
<input type="submit" value="保存">
</form>
</body>
</html>
```
2. 处理修改请求的页面(updateProfile.jsp)
```
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ page import="java.sql.*" %>
<%
String username = request.getParameter("username");
String password = request.getParameter("password");
String email = request.getParameter("email");
Connection conn = null;
PreparedStatement pstmt = null;
try {
// 连接数据库
Class.forName("com.mysql.jdbc.Driver");
String url = "jdbc:mysql://localhost:3306/mydb";
String dbUsername = "root";
String dbPassword = "123456";
conn = DriverManager.getConnection(url, dbUsername, dbPassword);
// 更新用户信息
String sql = "UPDATE users SET password=?, email=? WHERE username=?";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, password);
pstmt.setString(2, email);
pstmt.setString(3, username);
pstmt.executeUpdate();
// 更新session中的用户信息
String selectSql = "SELECT * FROM users WHERE username=?";
pstmt = conn.prepareStatement(selectSql);
pstmt.setString(1, username);
ResultSet rs = pstmt.executeQuery();
if (rs.next()) {
session.setAttribute("user", rs.getObject(1));
}
// 跳转到个人信息页面
response.sendRedirect("profile.jsp");
} catch (Exception e) {
e.printStackTrace();
out.println("修改个人信息失败");
} finally {
try {
if (pstmt != null) pstmt.close();
if (conn != null) conn.close();
} catch (Exception e) {
e.printStackTrace();
}
}
%>
```
3. 显示个人信息的页面(profile.jsp)
```
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>个人信息</title>
</head>
<body>
<h1>个人信息</h1>
<label>用户名:</label><%=session.getAttribute("user.username")%><br>
<label>密码:</label><%=session.getAttribute("user.password")%><br>
<label>邮箱:</label><%=session.getAttribute("user.email")%><br>
<a href="editProfile.jsp">修改个人信息</a>
</body>
</html>
```
注意:以上代码仅为示例,实际应用中需要根据具体情况进行修改和优化。同时,为了保证安全性,应该对用户输入进行验证和过滤,防止SQL注入等攻击。