前言
自己想跟着课本做一个简单的JavaWeb的图书馆管理系统,在项目连接数据库成功后,想在jsp页面上显示数据库中的内容,一直不能实现。今天看了众多博主的博客后,跟着他们所给的项目自己尝试了一下。成功了,嘻嘻。
现在记录一下。本人使用的MySQL数据库,Navicat数据库视图管理工具,Eclipse工具,Tomcat服务器。
总结
综合众多博主的博客,我个人认为想在页面上显示数据库中的内容,其jsp页面的书写应该有两种:
方法一:
1.创建数据库
- 创建一个名为db_book 的数据库
- 新建一个book 表,表结构如下:
- 向表中插入数据,数据如下
2.编写jsp代码
在index.jsp 文件下编写如下代码:
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<%@page import="java.sql.*"%>
<%--导入java.sql包--%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>从db_book数据库中读出book表</title>
</head>
<body>
<center>
<%
try {
Class.forName("com.mysql.jdbc.Driver"); 驱动程序名
String url = "jdbc:mysql://localhost:3306/db_book?characterEncoding=utf8&useSSL=false&serverTimezone=UTC&rewriteBatchedStatements=true"; //数据库名
String username = "root"; //数据库用户名
String password = "root"; //数据库用户密码
Connection conn = DriverManager.getConnection(url, username, password); //连接状态
System.out.println("数据库连接成功!");
%>
<table border="2">
<tr>
<th>序号</th>
<th>书名</th>
<th>作者</th>
<th>出版社</th>
<th>出版时间</th>
<th>价格</th>
<th>ISBN号</th>
</tr>
<%
Statement stmt = null;
ResultSet rs = null;
String sql = "SELECT * FROM book;"; //查询语句
stmt = conn.createStatement();
rs = stmt.executeQuery(sql);
out.print("查询结果:");
out.print("<br/>");
while (rs.next()) {
%>
<tr>
<td><%=rs.getInt("id")%></td>
<td><%=rs.getString("bookname")%></td>
<td><%=rs.getString("author")%></td>
<td><%=rs.getString("press")%></td>
<td><%=rs.getDate("pubdate")%></td>
<td><%=rs.getFloat("price")%></td>
<td><%=rs.getString("isbn")%></td>
</tr>
<%
}
} catch (Exception e) {
e.printStackTrace();
System.out.println("数据库连接失败");
}
%>
</center>
</body>
</html>
3. 运行程序查看结果
小白一枚,写的要是有不足的地方,望大佬们指点一二。谢谢