jsp数据库个人信息展示servlet
时间: 2023-09-02 13:13:20 浏览: 87
好的,以下是使用Servlet来实现个人信息展示的代码示例:
首先,在web.xml文件中配置一个Servlet:
```xml
<!-- 配置UserInfoServlet -->
<servlet>
<servlet-name>UserInfoServlet</servlet-name>
<servlet-class>com.example.UserInfoServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>UserInfoServlet</servlet-name>
<url-pattern>/userinfo</url-pattern>
</servlet-mapping>
```
然后,在UserInfoServlet中处理请求,查询用户信息并将其存储到request中,最后转发到JSP页面进行展示。以下是示例代码:
```java
package com.example;
import java.io.IOException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class UserInfoServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// 获取用户id
String userId = request.getParameter("id");
// 建立JDBC连接
Connection conn = null;
PreparedStatement pstmt = null;
ResultSet rs = null;
String driver = "com.mysql.jdbc.Driver";
String url = "jdbc:mysql://localhost:3306/mydb";
String user = "root";
String password = "root";
try {
Class.forName(driver);
conn = DriverManager.getConnection(url, user, password);
// 查询用户信息
String sql = "SELECT * FROM user_info WHERE id = ?";
pstmt = conn.prepareStatement(sql);
pstmt.setInt(1, Integer.parseInt(userId));
rs = pstmt.executeQuery();
if (rs.next()) {
// 将用户信息存储到request中
request.setAttribute("name", rs.getString("name"));
request.setAttribute("age", rs.getInt("age"));
request.setAttribute("gender", rs.getString("gender"));
request.setAttribute("email", rs.getString("email"));
request.setAttribute("phone", rs.getString("phone"));
request.setAttribute("address", rs.getString("address"));
// 转发到userinfo.jsp页面展示用户信息
request.getRequestDispatcher("/userinfo.jsp").forward(request, response);
} else {
response.getWriter().println("<p>该用户不存在!</p>");
}
} catch (Exception e) {
e.printStackTrace();
} finally {
// 关闭JDBC连接
try {
if (rs != null) rs.close();
if (pstmt != null) pstmt.close();
if (conn != null) conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doGet(request, response);
}
}
```
最后,在userinfo.jsp页面中展示用户信息,如下所示:
```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>
<p>姓名:<%=request.getAttribute("name")%></p>
<p>年龄:<%=request.getAttribute("age")%></p>
<p>性别:<%=request.getAttribute("gender")%></p>
<p>邮箱:<%=request.getAttribute("email")%></p>
<p>电话:<%=request.getAttribute("phone")%></p>
<p>地址:<%=request.getAttribute("address")%></p>
</body>
</html>
```
在浏览器中访问http://localhost/userinfo?id=123即可展示该用户的个人信息。