Java Web 开发:基于 HTML、MySQL 的书籍管理系统示例代码
基于 Java Web 和 MySQL 数据库的书籍管理系统示例代码
本示例代码演示了如何使用 Java Servlet、HTML 和 MySQL 数据库构建一个简单的书籍管理系统。该系统包含书籍录入、信息显示等功能,并提供详细的代码注释,方便学习和理解。
环境要求:
- JDK 1.8 或以上版本
- Apache Tomcat 9.0 或以上版本
- MySQL 5.7 或以上版本
数据库设置:
- 创建一个名为
bookstore的数据库。 - 在数据库中创建名为
books的表,包含以下字段:
| 字段名 | 数据类型 | 说明 |
|---|---|---|
| id | INT | 主键,自动递增 |
| title | VARCHAR(255) | 书籍名称 |
| publisher | VARCHAR(255) | 出版社 |
| editor | VARCHAR(255) | 编者 |
| price | DECIMAL(10,2) | 价格 |
| description | TEXT | 书籍介绍 |
| cover_image | VARCHAR(255) | 封面图片路径 |
| type | VARCHAR(255) | 类型 |
代码:
1. BookServlet.java:
// BookServlet.java
import java.io.IOException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@WebServlet('/book')
public class BookServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
// MySQL 数据库连接信息,请根据实际情况进行修改
private static final String DB_URL = 'jdbc:mysql://localhost:3306/bookstore';
private static final String DB_USER = 'root';
private static final String DB_PASSWORD = '123456';
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// 从请求参数中获取书籍信息
String title = request.getParameter('title');
String publisher = request.getParameter('publisher');
String editor = request.getParameter('editor');
double price = Double.parseDouble(request.getParameter('price'));
String description = request.getParameter('description');
String coverImage = request.getParameter('coverImage');
String type = request.getParameter('type');
// 将书籍信息保存到数据库
try {
Connection conn = DriverManager.getConnection(DB_URL, DB_USER, DB_PASSWORD);
String sql = 'INSERT INTO books (title, publisher, editor, price, description, cover_image, type) VALUES (?, ?, ?, ?, ?, ?, ?)';
PreparedStatement statement = conn.prepareStatement(sql);
statement.setString(1, title);
statement.setString(2, publisher);
statement.setString(3, editor);
statement.setDouble(4, price);
statement.setString(5, description);
statement.setString(6, coverImage);
statement.setString(7, type);
statement.executeUpdate();
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
// 返回一个页面来显示保存成功信息
response.sendRedirect('bookInfo.jsp');
}
}
2. bookForm.jsp:
<!-- bookForm.jsp -->
<!DOCTYPE html>
<html>
<head>
<title>书籍录入</title>
</head>
<body>
<h1>书籍录入</h1>
<form action='book' method='post'>
<label for='title'>书籍名称:</label>
<input type='text' id='title' name='title' required><br><br>
<label for='publisher'>出版社:</label>
<input type='text' id='publisher' name='publisher' required><br><br>
<label for='editor'>编者:</label>
<input type='text' id='editor' name='editor' required><br><br>
<label for='price'>价格:</label>
<input type='number' id='price' name='price' step='0.01' required><br><br>
<label for='description'>书籍介绍:</label>
<textarea id='description' name='description' required></textarea><br><br>
<label for='coverImage'>封面:</label>
<input type='text' id='coverImage' name='coverImage' required><br><br>
<label for='type'>类型:</label>
<input type='text' id='type' name='type' required><br><br>
<input type='submit' value='提交'>
</form>
</body>
</html>
3. bookInfo.jsp:
<!-- bookInfo.jsp -->
<!DOCTYPE html>
<html>
<head>
<title>书籍信息</title>
</head>
<body>
<h1>书籍信息</h1>
<h2>书籍名称: <span><%= title %></span></h2>
<h2>出版社: <span><%= publisher %></span></h2>
<h2>编者: <span><%= editor %></span></h2>
<h2>价格: <span><%= price %></span></h2>
<h2>书籍介绍: <span><%= description %></span></h2>
<h2>封面: <img src='<%= coverImage %>'' alt='封面'></h2>
<h2>类型: <span><%= type %></span></h2>
</body>
</html>
使用步骤:
- 将代码保存到一个 Java Web 项目中。
- 将项目部署到 Tomcat 服务器。
- 启动 Tomcat 服务器,并访问
http://localhost:8080/项目名/bookForm.jsp访问书籍录入页面。
注意:
- 需要修改
BookServlet.java中的数据库连接信息以匹配您的实际环境。 bookInfo.jsp是用于显示书籍信息的页面,需要根据实际情况修改代码。- 代码中使用了
PreparedStatement来防止 SQL 注入攻击,提高代码安全性。
其他功能:
本示例代码仅仅演示了书籍录入和信息显示的功能。您可以根据需要添加其他功能,例如书籍查询、删除等。
参考:
希望本示例代码对您学习 Java Web 开发有所帮助!
原文地址: https://www.cveoy.top/t/topic/cckG 著作权归作者所有。请勿转载和采集!