基于 Java Web 和 MySQL 数据库的书籍管理系统示例代码

本示例代码演示了如何使用 Java Servlet、HTML 和 MySQL 数据库构建一个简单的书籍管理系统。该系统包含书籍录入、信息显示等功能,并提供详细的代码注释,方便学习和理解。

环境要求:

  • JDK 1.8 或以上版本
  • Apache Tomcat 9.0 或以上版本
  • MySQL 5.7 或以上版本

数据库设置:

  1. 创建一个名为 bookstore 的数据库。
  2. 在数据库中创建名为 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>

使用步骤:

  1. 将代码保存到一个 Java Web 项目中。
  2. 将项目部署到 Tomcat 服务器。
  3. 启动 Tomcat 服务器,并访问 http://localhost:8080/项目名/bookForm.jsp 访问书籍录入页面。

注意:

  • 需要修改 BookServlet.java 中的数据库连接信息以匹配您的实际环境。
  • bookInfo.jsp 是用于显示书籍信息的页面,需要根据实际情况修改代码。
  • 代码中使用了 PreparedStatement 来防止 SQL 注入攻击,提高代码安全性。

其他功能:

本示例代码仅仅演示了书籍录入和信息显示的功能。您可以根据需要添加其他功能,例如书籍查询、删除等。

参考:

希望本示例代码对您学习 Java Web 开发有所帮助!

Java Web 开发:基于 HTML、MySQL 的书籍管理系统示例代码

原文地址: https://www.cveoy.top/t/topic/cckG 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录