📅  最后修改于: 2023-12-03 14:43:35.307000             🧑  作者: Mango
JSP(JavaServer Pages)是一种动态网页技术,它可以将Java代码嵌入到HTML页面中,使网页具有动态性。在JSP中,我们可以通过JDBC(Java数据库连接)来连接和操作数据库。
JDBC提供了一套标准的API,使得Java程序可以连接任何类型的关系型数据库。我们可以使用JDBC连接MySQL,Oracle,SQL Server等多种数据库服务器。
Class.forName("com.mysql.jdbc.Driver");
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "123456");
Statement stmt = conn.createStatement();
String sql = "select * from user";
ResultSet rs = stmt.executeQuery(sql);
while (rs.next()) {
int id = rs.getInt("id");
String name = rs.getString("name");
int age = rs.getInt("age");
System.out.println("id:" + id + ", name:" + name + ", age:" + age);
}
rs.close();
stmt.close();
conn.close();
在JSP中,我们可以使用JDBC访问数据库。通常情况下,我们会使用JavaBean来封装数据库操作逻辑,然后在JSP中调用JavaBean来执行相应的操作。
首先,我们定义一个名为DBUtil
的JavaBean,封装数据库操作逻辑。
public class DBUtil {
private static Connection conn;
private static final String DRIVER = "com.mysql.jdbc.Driver";
private static final String URL = "jdbc:mysql://localhost:3306/test";
private static final String USER = "root";
private static final String PASSWORD = "123456";
static {
try {
Class.forName(DRIVER);
conn = DriverManager.getConnection(URL, USER, PASSWORD);
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
}
public static List<User> getUsers() {
List<User> users = new ArrayList<>();
String sql = "select * from user";
try {
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery(sql);
while (rs.next()) {
User user = new User();
user.setId(rs.getInt("id"));
user.setName(rs.getString("name"));
user.setAge(rs.getInt("age"));
users.add(user);
}
} catch (SQLException e) {
e.printStackTrace();
}
return users;
}
}
然后,我们在JSP中导入DBUtil
JavaBean,并调用其getUsers
方法来获取所有用户信息。
<%@ page import="java.util.List" %>
<%@ page import="com.example.User" %>
<%@ page import="com.example.DBUtil" %>
<html>
<head>
<title>用户列表</title>
</head>
<body>
<h1>用户列表</h1>
<table>
<tr>
<td>ID</td>
<td>用户名</td>
<td>年龄</td>
</tr>
<%
List<User> users = DBUtil.getUsers();
for (User user : users) {
%>
<tr>
<td><%= user.getId() %></td>
<td><%= user.getName() %></td>
<td><%= user.getAge() %></td>
</tr>
<%
}
%>
</table>
</body>
</html>
JSP与数据库的结合,使得我们可以方便地将数据库数据展示到网页上。在实际项目中,我们可以使用JDBC连接数据库,然后在JavaBean中编写相应的数据库操作逻辑,最后在JSP中调用JavaBean来执行数据库操作,将结果展示到网页上。