用户查看其他用户信息功能:普通用户登录后可以查看其他用户的基本信息,如用户名、性别、年龄的Javaweb代码
时间: 2023-06-27 16:05:35 浏览: 36
这个功能需要先确定你的系统中如何存储用户信息,比如是存在数据库中还是使用文件存储等。假设你的用户信息存在数据库表 user 中,表结构如下:
| 字段名 | 类型 | 说明 |
| --- | --- | --- |
| id | int | 用户ID,主键 |
| username | varchar(50) | 用户名 |
| password | varchar(50) | 密码 |
| gender | varchar(10) | 性别 |
| age | int | 年龄 |
以下是一个简单的实现查看其他用户信息的代码:
```java
// 获取其他用户信息的Servlet
public class UserInfoServlet extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// 获取要查看的用户ID
int userId = Integer.parseInt(request.getParameter("id"));
// 查询用户信息
User user = getUserById(userId);
// 将用户信息放入request中
request.setAttribute("user", user);
// 转发到用户信息页面
request.getRequestDispatcher("/user_info.jsp").forward(request, response);
}
// 根据用户ID查询用户信息
private User getUserById(int userId) {
Connection conn = null;
PreparedStatement stmt = null;
ResultSet rs = null;
User user = null;
try {
conn = getConnection(); // 获取数据库连接
String sql = "SELECT * FROM user WHERE id=?";
stmt = conn.prepareStatement(sql);
stmt.setInt(1, userId);
rs = stmt.executeQuery();
if (rs.next()) {
user = new User();
user.setId(rs.getInt("id"));
user.setUsername(rs.getString("username"));
user.setGender(rs.getString("gender"));
user.setAge(rs.getInt("age"));
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
close(conn, stmt, rs); // 关闭数据库连接
}
return user;
}
// 获取数据库连接
private Connection getConnection() throws SQLException {
// TODO: 实现数据库连接的代码
}
// 关闭数据库连接
private void close(Connection conn, Statement stmt, ResultSet rs) {
// TODO: 实现关闭数据库连接的代码
}
}
```
在上述代码中,我们首先通过 request.getParameter() 方法获取要查看的用户ID,然后调用 getUserById() 方法查询该用户的信息,将查询结果放入 request 中,最后转发到用户信息页面。getUserById() 方法中,我们使用 JDBC API 从数据库中查询用户信息,并将查询结果封装成 User 对象返回。getConnection() 和 close() 方法是获取数据库连接和关闭数据库连接的工具方法,需要根据具体的数据库实现进行实现。