利用JavaScript实现图书管理系统

本文介绍了如何在Navicat中创建表单,用于输入图书信息,以及使用Java和HTML构建一个简单的图书管理系统。涉及到HTML表单设计,Java代码实现(包括数据库连接、数据插入和查询)以及select.jsp页面的展示功能。
摘要由CSDN通过智能技术生成

1、在navicat中创建表单,有图书编号book_id,图书名称book_name,出版社book_press,价格book_price,出版日期publication_time,副本量quantity_of_copies,库存量inventory

2、创建index.html文件,编辑图书管理系统首页。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>图书管理系统</title>
</head>
<body align="center">
<h1>图书管理系统</h1>
<form action="insert.jsp" method="post">
    <table align="center">
        <tr>
            <td>图书编号:</td>
            <td><input type="text" name="book_id"/></td>
        </tr>
        <tr>
            <td>图书名称:</td>
            <td><input type="text" name="book_name"/></td>
        </tr>
        <tr>
            <td>出版社:</td>
            <td><input type="text" name="book_press"/></td>
        </tr>
        <tr>
            <td>价格:</td>
            <td><input type="text" name="book_price"/></td>
        </tr>
        <tr>
            <td>出版时间:</td>
            <td><input type="date" name="publication_time"/></td>
        </tr>
        <tr>
            <td>复本量:</td>
            <td><input type="text" name="quantity_of_copies"/></td>
        </tr>
        <tr>
            <td>库存量:</td>
            <td><input type="text" name="inventory"/></td>
        </tr>

        <tr>
            <td colspan="2">
                <input type="submit" value="录入"/>
                <input type="reset" value="重置"/>
            </td>
        </tr>
    </table>
</form>
</body>
</html>

3、创建insert.jsp文件:主要用于与MySQL数据库进行交互,展示查询到的图书馆书籍信息,并提供了返回插入操作的链接。

3.1、指定页面使用的字符集为UTF-8,并导入了java.sql包和java.text.SimpleDateFormat类,后者用于日期格式化。

<%-- 这是一个注释部分,通常用于说明页面的创建信息,不会在浏览器中显示 --%>
<%@ page import="java.sql.*" %>
<%@ page import="java.text.SimpleDateFormat" %>
<%@ page contentType="text/html;charset=UTF-8" %>

3.2、定义数据库连接的基本信息,包括驱动类名、数据库URL、用户名和密码。

<%
    Connection connection=null;
    PreparedStatement preparedStatement=null;
    int flag = 0;
    try {
        Class.forName(DBDriver);
        connection = DriverManager.getConnection(DBUrl, DBUser, DBPassword);
        String sql_demo0 = "INSERT INTO library (book_id, book_name, book_press, book_price, publication_time, quantity_of_copies, inventory) VALUES (?, ?, ?, ?, ?, ?, ?)";
        //插入
        preparedStatement = connection.prepareStatement(sql_demo0);
        //设置编码
        request.setCharacterEncoding("utf-8");
        preparedStatement.setString(1,request.getParameter("book_id"));
        preparedStatement.setString(2,request.getParameter("book_name"));
        preparedStatement.setString(3,request.getParameter("book_press"));
        preparedStatement.setFloat(4,Float.parseFloat(request.getParameter("book_price")));
        //日期转换
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
        java.util.Date date=null;

        date = simpleDateFormat.parse(request.getParameter("publication_time"));
        java.sql.Date date1 = new java.sql.Date(date.getTime());
        preparedStatement.setDate(5,date1);
        preparedStatement.setString(6,request.getParameter("quantity_of_copies"));
        preparedStatement.setString(7,request.getParameter("inventory"));
        flag = preparedStatement.executeUpdate();
        // 释放内存
        preparedStatement.close();
        connection.close();
    } catch (Exception e) {
        System.out.println("插入错误");
    }
%>

3.3、尝试建立数据库连接,并执行插入语句。它从请求参数中获取图书信息,并将其插入到数据库中。

<jsp:forward page="select.jsp">
    <jsp:param name="flag" value="<%=flag%>"/>
</jsp:forward>

3.4、完整代码:

<%--
  Created by IntelliJ IDEA.
  User: Administrator
  Date: 2024/4/21
  Time: 15:48
  To change this template use File | Settings | File Templates.
--%>
<%@ page import="java.sql.*" %>
<%@ page import="java.text.SimpleDateFormat" %>
<%@ page contentType="text/html;charset=UTF-8" %>
<html>
<head>
    <title>插入图书</title>
</head>
<body>
<%!
    // 1.Driver 2.url 3.user 4.password
    String DBDriver = "com.mysql.cj.jdbc.Driver";
    String DBUrl = "jdbc:mysql://localhost:3306/mldn?serverTimezone=GMT%2B8";
    String DBUser = "root";
    String DBPassword = "123456";
%>
<%
    Connection connection=null;
    PreparedStatement preparedStatement=null;
    int flag = 0;
    try {
        Class.forName(DBDriver);
        connection = DriverManager.getConnection(DBUrl, DBUser, DBPassword);
        String sql_demo0 = "INSERT INTO library (book_id, book_name, book_press, book_price, publication_time, quantity_of_copies, inventory) VALUES (?, ?, ?, ?, ?, ?, ?)";
        //插入
        preparedStatement = connection.prepareStatement(sql_demo0);
        //设置编码
        request.setCharacterEncoding("utf-8");
        preparedStatement.setString(1,request.getParameter("book_id"));
        preparedStatement.setString(2,request.getParameter("book_name"));
        preparedStatement.setString(3,request.getParameter("book_press"));
        preparedStatement.setFloat(4,Float.parseFloat(request.getParameter("book_price")));
        //日期转换
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
        java.util.Date date=null;

        date = simpleDateFormat.parse(request.getParameter("publication_time"));
        java.sql.Date date1 = new java.sql.Date(date.getTime());
        preparedStatement.setDate(5,date1);
        preparedStatement.setString(6,request.getParameter("quantity_of_copies"));
        preparedStatement.setString(7,request.getParameter("inventory"));
        flag = preparedStatement.executeUpdate();
        // 释放内存
        preparedStatement.close();
        connection.close();
    } catch (Exception e) {
        System.out.println("插入错误");
    }
%>
<jsp:forward page="select.jsp">
    <jsp:param name="flag" value="<%=flag%>"/>
</jsp:forward>
</body>
</html>

4、创建select.jsp文件

4.1、指定页面使用的字符集为UTF-8,并且导入了java.sql包,其中包含了数据库操作相关的类。

<%@ page contentType="text/html;charset=UTF-8" %>
<%@ page import="java.sql.*" %>

4.2、定义数据库连接的基本信息,包括驱动类名、数据库URL、用户名和密码。

<%!
   
    String DBDriver = "com.mysql.cj.jdbc.Driver";
    String DBUrl = "jdbc:mysql://localhost:3306/mldn?serverTimezone=GMT%2B8";
    String DBUser = "root";
    String DBPassword = "123456";
%>

4.3、尝试建立数据库连接,并执行查询语句。

<%
    Connection connection=null;
    PreparedStatement preparedStatement=null;
    ResultSet resultSet=null;
    try {
        Class.forName(DBDriver);
        connection = DriverManager.getConnection(DBUrl, DBUser, DBPassword);
        String sql_demo = "select * from library";
        //查询
        preparedStatement = connection.prepareStatement(sql_demo);
        resultSet = preparedStatement.executeQuery();
        
%>

4.4、从数据库中获取每一条记录,并将其显示在表格中。

<table>
    <tr>
        <td>book_id</td>
        <td>book_name</td>
        <td>book_press</td>
        <td>book_price</td>
        <td>publication_time</td>
        <td>quantity_of_copies</td>
        <td>inventory</td>
    </tr>
    <%
        while (resultSet.next()){
            String book_id = resultSet.getString("book_id");
            String book_name = resultSet.getString("book_name");
            String book_press = resultSet.getString("book_press");
            float book_price = resultSet.getFloat("book_price");
            Date publication_time = resultSet.getDate("publication_time");
            int quantity_of_copies = resultSet.getInt("quantity_of_copies");
            int inventory = resultSet.getInt("inventory");
    %>
    <tr>
        <td><%=book_id%></td>
        <td><%=book_name%></td>
        <td><%=book_press%></td>
        <td><%=book_price%></td>
        <td><%=publication_time%></td>
        <td><%=quantity_of_copies%></td>
        <td><%=inventory%></td>
    </tr>
    <%
                
            }
            // 释放内存
            resultSet.close();
            preparedStatement.close();
            connection.close();
        } catch (Exception e) {
            System.out.println("查询错误");
        }
    %>
</table>

4.5、完整代码:

<%--
  Created by IntelliJ IDEA.
  User: Administrator
  Date: 2024/4/21
  Time: 16:12
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" %>
<%@ page import="java.sql.*" %>
<html>
<head>
    <title>查询页面</title>
</head>
<body>
<%!
    
    String DBDriver = "com.mysql.cj.jdbc.Driver";
    String DBUrl = "jdbc:mysql://localhost:3306/mldn?serverTimezone=GMT%2B8";
    String DBUser = "root";
    String DBPassword = "123456";
%>
<%
    Connection connection=null;
    PreparedStatement preparedStatement=null;
    ResultSet resultSet=null;
    try {
        Class.forName(DBDriver);
        connection = DriverManager.getConnection(DBUrl, DBUser, DBPassword);
        String sql_demo = "select * from library";
        //查询
        preparedStatement = connection.prepareStatement(sql_demo);
        resultSet = preparedStatement.executeQuery();
       
%>
<table>
    <tr>
        <td>book_id</td>
        <td>book_name</td>
        <td>book_press</td>
        <td>book_price</td>
        <td>publication_time</td>
        <td>quantity_of_copies</td>
        <td>inventory</td>
    </tr>
    <%
        while (resultSet.next()){
            String book_id = resultSet.getString("book_id");
            String book_name = resultSet.getString("book_name");
            String book_press = resultSet.getString("book_press");
            float book_price = resultSet.getFloat("book_price");
            Date publication_time = resultSet.getDate("publication_time");
            int quantity_of_copies = resultSet.getInt("quantity_of_copies");
            int inventory = resultSet.getInt("inventory");
    %>
    <tr>
        <td><%=book_id%></td>
        <td><%=book_name%></td>
        <td><%=book_press%></td>
        <td><%=book_price%></td>
        <td><%=publication_time%></td>
        <td><%=quantity_of_copies%></td>
        <td><%=inventory%></td>
    </tr>
    <%
                
            }
            // 释放内存
            resultSet.close();
            preparedStatement.close();
            connection.close();
        } catch (Exception e) {
            System.out.println("查询错误");
        }
    %>
</table>
<% if(Integer.parseInt(request.getParameter("flag"))==0){out.print("<p>插入失败</p>");}
else {out.print("<p>插入成功</p>");}
%>
<a href="index.html">返回插入</a>
</body>
</html>

  • 21
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
程序说明: 系统开发环境: Windows xp sp2(win7) + myEclipse + Tomcat6.0 + MySQL5.0 先安装mysql数据库, 数据库文件:直接将数据库目录下的db_librarySys文件夹复制到mysql数据库的data目录下即可(data文件夹在你安装mysql时候能看到路径,安装时候请留意) mysql数据库登陆信息: 帐号root,密码123(自己可以在com.core.ConnDB类中修改) 管理员测试帐号: admin 密码: admin 系统功能与特色: (1)图书类别信息管理:作为一个学校的图书馆,涉及到的图书是很多的,这就有必要对图书进行分门别类,这样有利于对图书的查询和管理。不同的图书类别可以借阅的天数也是不一样的,管理员登陆系统后可以对图书类别进行添加,更新和删除操作。 (2)图书信息管理:当管理员对图书类别信息添加完成后,就可以开始进行图书信息的录入了,只有将图书馆拥有的图书录入系统中,读者朋友在登陆系统后才可以查询到自己喜欢的该图书。 (3)读者类别管理:为了方便图书馆的管理,系统对读者的类别进行了分别,不同的读者类别可以借阅图书的数目是不一样的。管理员在登陆系统后可以这个读者类别信息进行管理,包括添加读者类别信息,修改读者类别,删除读者类别,特别是执行删除操作时需要保持数据库表数据之间的一致性。 (4)读者信息管理:当管理员把读者类别信息编辑好完成后,就可以办理读者信息了,管理员可以添加新的读者信息,修改已经存在的读者信息,删除读者信息。 (5)图书借阅管理:读者可以登陆系统查询自己喜欢的图书,然后到图书馆进行图书借书的登记操作,当读者看完了书或需要归还时,需要拿着自己的图书图书馆进行归还,此时有管理员办理图书归还业务。当然,如果读者借阅了图书因某种原因忘记了归还,管理员还可以对这些信息进行统计,同时,管理员还可以对已经出借的图书进行续借的办理。 (6)系统设置: 管理员登陆系统后可以修改图书馆的信息,可以修改管理其他操作员的信息,可以管理书架信息。 (7)口令更改:无论是管理员或读者身份登陆系统后,都可以对自己的登陆密码进行修改操作,这样保证了系统的安全性。 (8)系统特点:采用MVC设计模式,完全采用面向对象的设计思想,使用了开源框架Struts。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值