基于ServletJSP的图书在线借阅管理系统的设计与实现

摘    要

随着时代的发展进步,为了提高图书管理员的工作效率,为读者节约借阅过程中不必要的时间浪费,提升图书的使用率,本文设计并实现了一个图书在线借阅管理系统。本系统采用Java语言开发,利用Servlet、JSP技术,使用IDEA作为前台开发工具,选择MySQL作为后台数据库管理系统,由Tomcat服务器支持。本文阐述了图书在线借阅管理系统的研究背景和意义,国内外有关此系统的发展状况,对系统的需求、主要功能等进行了详尽的分析,对涉及到的关键技术和该系统功能的实现方法进行介绍。最后通过采用一些测试方法对系统进行测试并得出结论。实现了在线查询,借阅书籍等前台服务功能,以及图书,读者和反馈问题的增删改查等后台管理功能。通过测试证明本图书在线借阅管理系统界面友好、功能完善,实现了愈发现代化的管理,读者借阅图书更便捷。

关键词:图书借阅管理;Servlet技术;JSP技术;MySQL

 

ABSTRACT

With the development and progress of The Times, in order to improve the work efficiency of the librarian, for the reader to save unnecessary time waste in the process of borrowing, improve the use of books, this paper designs and implements a book online borrowing management system. This system uses Java language development, Servlet, JSP technology, using IDEA as the front development tool, select MySQL as the background database management system, supported by Tomcat server. This paper describes the research background and significance of the book online lending management system, the development of the system at home and abroad, the needs of the system, the main functions are analyzed in detail, and the key technologies involved and the realization of the system functions are introduced. Finally, some test methods are adopted to test the system and a conclusion is drawn. The realization of online inquiry, borrowing books and other front desk service functions, as well as books, readers and feedback problems such as the addition, deletion, change and check background management functions. Through the test proved that the book online lending management system friendly interface, perfect function, to achieve more modern management, readers borrow books more convenient.

Key wordsBooks borrowing managementServlet technologyJSP technology;MySQL

目    录

第1章  绪论...................................................... 1

    1.1  研究背景................................................. 1

        1.1.1  课题研究的背景..................................... 1

        1.1.2  课题研究的意义..................................... 1

    1.2  国内外的研究现状......................................... 2

        1.2.1  国内研究现状....................................... 2

        1.2.2  国外研究现状....................................... 2

    1.3  本文的主要工作........................................... 2

第2章  关键技术介绍.............................................. 4

    2.1  Servlet技术............................................. 4

    2.2  JSP技术................................................. 4

2.3  B/S架构模式............................................. 5

    2.4  MySQL数据库............................................. 5

第3章  系统分析.................................................. 7

    3.1  需求分析................................................. 7

        3.1.1  功能需求........................................... 7

        3.1.2  系统性能需求....................................... 8

        3.1.3  总体功能说明....................................... 8

    3.2  可行性分析............................................... 8

        3.2.1  技术可行性......................................... 8

        3.2.2  经济可行性......................................... 9

        3.2.3  操作可行性......................................... 9

3.3  系统描述................................................. 9

        3.3.1  系统用例图......................................... 9

        3.3.2  系统数据流图..................................... 10

        3.3.3  系统时序图....................................... 12

        3.3.4  系统业务流程图................................... 14

第4章  系统设计................................................ 15

    4.1  系统体系结构设计....................................... 15

    4.2  功能模块设计........................................... 15

        4.2.1  学生读者管理子模块............................... 16

        4.2.2  图书管理员管理子模块............................. 16

4.3  数据库设计............................................. 17

        4.3.1  数据库表介绍..................................... 17

        4.3.2  数据库表设计..................................... 19

        4.3.3  数据库ER图设计.................................. 19

第5章  系统实现................................................ 22

5.1  系统界面设计与实现..................................... 22

        5.1.1  注册登录......................................... 22

        5.1.2  图书查询借阅..................................... 29

        5.1.3  借阅信息......................................... 33

        5.1.4  借阅历史......................................... 34

        5.1.5  热门推荐......................................... 34

        5.1.6  最佳读者......................................... 36

        5.1.7  问题反馈......................................... 37

        5.1.8  图书信息管理..................................... 40

        5.1.9  读者信息管理..................................... 47

        5.1.10  图书分类管理.................................... 48

        5.1.11  图书借阅管理.................................... 49

        5.1.12  图书归还信息.................................... 50

        5.1.13  管理员管理...................................... 51

        5.1.14  读者反馈管理.................................... 52

    5.2  系统开发环境........................................... 53

第6章  系统测试................................................ 54

    6.1  测试方法............................................... 54

    6.2  测试用例............................................... 54

    6.3  测试结果............................................... 58

结论............................................................ 59

参考文献........................................................ 60

致谢............................................................ 62

第1章  绪论

1.1  研究背景

1.1.1  课题研究的背景

新时代的今天,社会信息化程度不断加深,各大高校的教育规模也不断扩大,高校学生人数呈现出大幅度的增长态势,在快速发展的同时也给高校管理工作带来了不小的挑战。高校图书馆的传统图书管理方式已经不能满足新的需求,要进一步发掘图书馆的发展潜力,以给读者带来更加友好、简单便捷的运行操作平台,这仍然是当前最必要的任务。

如今社会发展速度飞快,科学技术时刻更新进步,人们每天工作、学习都要面对和处理非常大的信息量,因此必须以更快的步伐前进才能跟的上这个时代,而读书是人们丰富自己以及获取大量信息资源的主要途径之一,但随之而来的图书数量的增多使得如何更加科学合理的管理图书成为信息时代的人们尤为关注的问题之一。

对于各大高等院校来说,校内图书馆的管理工作的提升正在逐步进行,为了使图书管理工作适应现代化的进程,满足读者的需求,提高图书的使用效率,本文设计并实现了一个图书在线借阅管理系统。

1.1.2  课题研究的意义

相对于传统意义上的图书管理工作,图书在线借阅管理系统能够在很大程度上帮助读者节约时间,解决问题。读者可以不用下载任何软件,直接通过浏览器访问并注册、登录本系统,通过对目标书籍书名、作者名或者图书编号等的搜索即可使读者能够快捷的查询、借阅一本图书。读者可以在线查看借阅历史,以做到及时归还图书或者申请延长借书时间。本系统方便读者了解图书馆现藏图书的基本情况,以满足高校学生们的图书查阅需求。此外,本系统会对所有注册用户的借阅情况进行系统统计,以激励更多读者能够走进书籍,阅读书籍。

同时,图书在线借阅管理系统使得读者借阅流程不再像传统图书管理工作中那样繁琐,减轻了图书管理员的压力,大幅提升管理质量。图书管理员在线管理并及时更新相关信息。针对图书馆可能存在的一些问题,读者与图书管理员之间的沟通交流也能更加方便,问题能够快速得到反馈与解决。

本系统符合现代化、信息化的要求,解决了传统图书管理工作未能解决的弊端,满足了读者们的阅读需求,为读者们带来了优质的借阅体验,有利于知识的传播,提高了图书管理员图书管理工作的效率,为校内学生的日常学习提供了极大的便利。

1.2  国内外的研究现状

1.2.1  国内研究现状

国内社会发展速度越来越快,人们只有提高自己才能跟上时代,图书馆则成为人们青睐的学习场所,高校图书馆更是如此,每天都有无数学生读者穿梭在图书馆中汲取知识的养分,其需要更具时代化。2020年,范路桥,段班祥,郑述招在《基于Web的图书借阅系统设计与实现》中提到随着 Internet 的快速发展,迈入信息化新纪元,采用B/S模式的借阅系统,实现自动化管理图书信息,保障信息流程之中数据的实时性与一致性,工作效率提升,图书管理工作迈入全新境界[1]。 2020年,毛瑞欣,王平,张国艳等在《基于JAVA的校图书馆管理系统的设计与实现》中提到随着科技的飞速发展和计算机技术的日新月异,基于JAVA的线上图书借阅管理系统能够满足人们的需求[2]。2021年,黄波在《基于PHP+MySQL图书管理系统设计与实现》中提到在设计过程中,利用Div+CSS编写静态网页代码,采用MySQL构建图书管理系统的数据库结构,并运用PHP方法实现了图书管理系统的动态网页的设计工作[3]。

1.2.2  国外研究现状

在上世纪90年代初,国外学者们首次提出了数字化图书馆的概念,二十多年的研究和发展使其各方面技术及经验都比较完备。2021年,Purwinarko A,Hardyanto W,Adhi M A在《Implementation of google single sign On (SSO) in the library management system》中提到为其用户提供单点登录( Single Sign-on,SSO )服务,用户需要一组凭证(用户名和密码)才能访问所有组织服务,开发的SSO服务是基于Google认证API的,这种SSO使得系统之间的通信更加有效和高效[4]。2021年,Phani Gannamraju,Satyanarayana Yarramsetti,L.S. Kumar在《Radio frequency identification and internet of things-based smart library management system》中提到图书馆是提供教学资源和信息的教育机构的重要组成部分,该系统利用射频识别技术( RFID )和物联网技术对现有高校图书馆管理系统进行改进[5]。2021年,Aldrin Padilla Obsanga,Ribert Roque Enierga在《Automated library management system for public libraries in the Philippines》中提到采用敏捷方法学来开发和实现该系统,PHP、JavaScript、超文本标记语言、级联样式表和SQL是用于创建图书馆管理系统的语言[6]。

1.3  本文的主要工作

第1章为绪论。本章详细探讨图书在线借阅管理系统的研究背景和意义,深入分析国内外相关发展状况,并对本文框架结构进行总结。

第2章为关键技术介绍。本章探讨了系统采用的相关技术,包括但不限于Servlet技术、JSP技术、B/S架构模式及MySQL数据库,这些技术的应用将为系统的高效运行提供有力的支持。

第3章为系统分析。本章依据需求对系统功能进行详细规划以满足不同用户的需求。

第4章为系统设计。本章介绍系统架构,描述各功能模块并设计一个高效的数据库。

第5章为系统实现。本章对系统主要模块的实现和系统开发环境进行详细介绍。

第6章为系统测试。本章阐述系统测试方法,以相应测试用例测试系统健壮性,对测试产生的结果进行分析。

第2章  关键技术介绍

2.1  Servlet技术

Java Servlet缩写为Servlet,其通过使用简单且易于操作的方法来访问数据库中的信息或其它资源,在Java服务器端编写,无关于平台与协议,通过与客户端之间交互执行特定任务。

Servlet为一个实现Java语言的接口,也可被定义成执行这个服务器界面的任意一个类。通常用于开发一个系统中的多个客户端应用程序。通常情况下,Servlet是作为第二种定义来理解的。其是一个独立于服务器端而存在的客户端。只需要一个简单而通用的客户端和服务器之间的交互过程,就能完成所有功能。原则上,Servlet能够对任意查询类型进行解答,但是多数时候Servlet只适用于以HTTP协议为基础的Web服务器的扩充。

随着时间的推移,标准Servlet技术广泛应用于基于Java的服务器。目前大多数采用该标准的应用主要包括搜索引擎和在线游戏等。如今很多开源系统已经采用这一版本。其不仅具有传统的页面布局和显示功能,而且还可以为用户创建一个独立于服务器端的应用框架。正因为其所提供的功能简单易开发,越来越多用户开始选择用其建设网站。

Java Servlet有如下几个优点:

(1)展现出了出色的执行能力。

(2)Servlet在Web服务器的地址空间中运行,为用户提供无缝的网络服务体验。通过这种方式,无需单独创建一个流程来处理每一个客户端请求,从而实现了高效的处理。

(3)Servlet与平台无关,由Java来编写。

(4)Servlet足以让人相信。Java Server Security Manager为了确保服务器电脑资源得到充分的保护,从而实施一系列限制措施。

(5)Java类库中的所有函数均可在服务器上获得。与程序、数据库或其他程序进行交互时,可以采用套接字和RMI机制,以实现更高效的交互。

2.2  JSP技术

Java Server Pages,作为一种简单的服务器设计,为用户提供了高效的数据处理服务。其目的是为用户提供一种灵活、快速而又方便地访问网络上信息资源的工具。Sun Microsystems所提供的动态Web技术标准,是由众多企业共同参与构建而成。目前,该系统已经被广泛地应用在各种商业网站中。该技术具有很高的灵活性,并且能够快速地实现各种不同类型的应用程序,从而使得用户能够方便地访问这些应用程序并完成相应功能。

与Servlet相似,JSP也是服务器端工作的。一般来说,HTML文本将被回传至用户,这样用户就能在拥有浏览器时浏览它。

JSP技术运用Java编写XML,以呈现动态网站创建的过程逻辑。该系统提供了一个可定制的框架,使用户能够在不同环境中开发自己所需的功能,并将这些服务组合起来。资源应用程序的逻辑可以被访问,通过标记和脚本,功能得以在网页上实现。

JSP以其出色的易用性、全面的设计、独立于平台的特性、可靠的安全性以及特别适用于互联网所有功能的特点,展现出了无与伦比的优越性。

2.3  B/S架构模式

B/S是一种基于浏览器的操作系统,允许服务器与浏览器进行业务交互。这种结构使用户从网上直接访问到服务器上进行处理或操作,从而大大提高系统效率和灵活性。B/S体系结构是一种网络体系结构模型,在Web输出之后进行了优化,从而对C/S体系结构进行了改进。B/S架构包括表示层、功能层与数据层。表示层是实现客户端与服务端之间通信的主要界面。用户在进行业务查询和其他操作时,所使用的网络浏览器被称为表示层。在数据层和表示层之间,功能层扮演着一个至关重要的角色。表示层与功能层通过连接接口相连,数据层则通过数据通道将其传递到功能层中。通过调用不同的功能程序,将数据层作为存储所有数据的体系结构的基本层,向数据层发送查询,从而有助于维护功能层的数据完整性。

B/S的最大优势在于能够以用户为中心,提供更加友好的使用体验。这些信息经由网络传输至服务器上,然后由服务器将其传送至用户端。当用户连接到互联网上的计算机时,可以打开浏览器并输入相应的服务器查询地址,以便为应用程序提供所需的服务。因其无需程序安装,B/S架构已成为越来越多研究和软件开发的主流选择。以下是B/S架构的主要长处所在:

(1)对于用户计算机有比较少的特殊需求。B/S架构模式下软件几乎全部用户操作均在浏览器中完成,而用户的请求,处理和其他操作均在服务器端完成,没有用到用户计算机资源。

(2)便利。用户不需要下载任何软件,只要有浏览器就能进行相关操作。

(3)更新系统非常方便。用户不用做任何事情,只要升级系统、保存到服务器即可。

2.4  MySQL数据库

MySQL为多线程关系数据库管理系统。该系统具有良好的性能和可移植性。工作模式采用客户端/服务器结构。具有良好的用户界面和较强的扩展性,适合于分布式应用系统。目前几乎能支持各种操作系统和PHP集成。其特点是在系统中只需增加少量硬件设备就可实现对大量数据进行管理。由于其小巧、高效、低成本,尤其是开源,大多数中小型网站选定MySQL为其数据库,优化Simple Basic的总体成本。

其特质所在:

(1)对外开放。

(2)多线程的。

(3)允许多个API。

(4)与数据库的交叉连接。

(5)集成。

(6)该数据库具有较高的数据存储容量。

第3章  系统分析

3.1  需求分析

3.1.1  功能需求

根据各大高校图书馆日常管理以及学生读者借阅图书流程,对系统的功能需求做出了全面的分析,确定此系统目标,给系统的构建和实现打下基础,得出了图书在线借阅管理系统的总体需求有:

  1. 个人资料:可修改用户基本信息及登录本系统的密码。
  2. 图书查询:学生读者可通过查询目标图书的书名或作者名得到相应图书的信息,包括图书号、图书类型、总数量等。点击借阅确认借阅,完成借阅图书操作。
  3. 借阅信息:显示借阅图书的相关信息。可以看到借书日期和还书的最后期限,如果需要延长借书时间则联系管理员进行延期。点击还书后确认还书,完成操作。
  4. 借阅历史:显示读者以往借阅的图书信息。可以看到借书和还书的时间。
  5. 问题反馈:读者按要求填写反馈信息后提交,在“我的反馈”中可以看到以往反馈内容及反馈信息状态,如果管理员已解决问题,则状态显示为已解决,否则为未解决。
  6. 图书管理:显示馆内所有图书的信息,包括图书号、图书种类及总数量等。查找功能可由管理员根据书名、作者名以及图书分类进行查找。当需要添加图书时,点击添加,根据提示填写相关信息添加即可。点击批量导入,可以一次性导入许多图书信息。点击修改后填写要修改的信息,点击删除后确认删除,完成操作。
  7. 读者管理:显示已注册读者信息,包括ID、账号、姓名等。点击添加后填写信息添加读者。点击修改后修改相关信息,点击删除确认删除则完成此项操作。
  8. 图书分类管理:显示已有图书的分类信息,包含ID与图书分类名称。点击添加分类填写新的分类名进行添加。点击修改,更改需要变更的信息。点击删除后确认,完成操作。
  9. 图书借阅管理:显示现有读者正在借阅的图书信息。可以查看图书名、借书时间等借书信息,点击还书帮助读者完成归还操作。延期按钮修改还书期限。
  10. 图书归还信息管理:显示已归还信息。包括图书、读者信息与借书、还书日期。
  11. 读者反馈管理:显示读者的反馈内容,包括ID、读者ID及标题等。输入读者ID、标题等查找相关反馈信息。点击修改后修改问题状态,点击删除后确认,完成操作。
  12. 管理员管理:管理员进入本页面需再次登录,点击添加,填写管理员信息进行添加即可。
  13. 热门推荐:系统依据图书被借阅次数的多少排序,用户根据书名、作者名等能够查找到想要的图书。
  14. 最佳读者:系统依据借阅量多少排列,通过用户ID等查询其借阅量。

3.1.2  系统性能需求

其可信度毋庸置疑。当使用安全认证时,系统将验证通过后才允许对该功能进行控制。在规定的条件下,系统得以实现其功能。只要用户输入正确的账户、密码和验证码,系统就会自动为其提供相应的功能操作,使其能够顺利登录。

具有可访问性。为了使系统能够以正确的方式进行操作,必须保证每个用户均能获得所需信息,并提供相应服务。若系统必须随时按照dos工作,则可能是工作状态或者有用的状态。保证学生读者或者图书管理员随时都能正常的使用这个系统。

具备保障安全的能力。一个合法的使用者应该知道其是谁,并且要遵守一些规则和程序,以确保自己不会受到非法的影响或侵犯。个人若未在数据库中发挥作用,则需被拒绝登录该系统,同时需警惕未来可能发生的SQL攻击事件。另一群人必须享有不同的权利,而那些未达到权利标准的人则必须被限制。

具有可维护性。对于一个已经完成开发的系统而言,其生命周期方向已经达到了维护的阶段。如果系统出现缺陷而无法快速解决,这将会对系统的实用性产生质疑,而无法快速解决问题则可能引发其他连锁反应。

3.1.3  总体功能说明

本系统采用B/S模式开发而成,主要解决高等院校图书馆学生借阅图书以及图书管理员相关管理工作的问题。本系统主要涉及到两个角色,就是学生读者和图书管理员。学生方面能够通过个人资料修改自身的基本信息和登录密码。主要的业务是图书借阅问题,因为传统图书管理的效率不高,一般会浪费读者很多宝贵的时间和精力,所以为了方便读者借阅以及归还图书,读者可以在线进行相关操作。包括查询馆内现存所有图书的信息,图书借阅相关操作,而且对于图书馆的日常管理工作,读者可以在线提出反馈以帮助图书馆更好的服务读者。对于管理员而言,此系统可帮助其高效管理图书与读者信息,完成有关借阅的管理工作,在线解答读者反馈的问题,有利于高校图书馆的建设。

3.2  可行性分析

3.2.1  技术可行性

该系统以Servlet和JSP技术为主。该平台有着出色的跨界性和拓展性,为用户提供了广泛的应用场景。现今其中许多Java技术都开源,这有助于解决项目开发中所碰到的各种问题。在数据库上使用的是MySQL数据库,MySQL自身是免费的并且是开源的。

3.2.2  经济可行性

IntelliJ IDEA实用性很强且免费,无需资金和经济考虑,具有高效、便捷和成本效益的特点。它能够在网络中运行并提供强大的性能和可扩展性,并且使用简单易学。Java代码在互联网上的广泛应用,为实现类似的功能提供了强有力的支持,这归功于其开源特性。

3.2.3  操作可行性

该系统是专为学生读者和图书管理员开发的,其各个界面的设计非常友好,视觉效果非常舒适,流程正确,功能也非常完善,为用户提供了便利快捷的服务,使得用户可以直观地进行操作。

3.3  系统描述

3.3.1  系统用例图

UML(Unified Modeling Language)是一种具有视觉化特征的建模语言,广泛应用于面向对象开发,有利于构建系统者以标准和容易理解的形式建立系统蓝图,借此抒发其想象。为用户提供简单明了的用户界面,有利于用户迅速构建并部署各种新应用。UML有很好的可重用性,设计时无需对程序做任何改动,无需写相应代码就能实现具体功能。

根据系统主要业务流程,此系统的主要角色分为学生读者和图书管理员两类。抽象出来的系统用例关系如图3.1所示。

 

学生读者

                                            

用户

图书管理员

 

图3.1  用例关系图

  1. 学生读者用例图

学生读者的目的就是为了借阅图书,借阅图书能够通过两种流程方式走。第一:通过查询目标图书的书名或者作者名找到图书并借阅。第二:查看热门推荐,借阅想要阅读的图书。学生读者可以在线查看借阅信息以及时还书,还可查看图书借阅历史以及在线反馈问题。学生读者用例图如图3.2所示。

图书查询

借阅信息

借阅历史

问题反馈

最佳读者

热门推荐

学生读者

 

                                                                             

图3.2  学生读者用例图

  1. 图书管理员用例图

图书管理员能够管理学生读者的借阅信息,能够帮助学生读者还书或者延长其借阅归还期限,处理图书、读者及反馈信息。图书管理员用例图如图3.3所示。

图书分类管理

读者管理

管理员管理

热门推荐

图书管理

 

图书管理员

最佳读者

                                

读者反馈

图书归还信息

图书借阅信息

 

图3.3  图书管理员用例图

3.3.2  系统数据流图

DFD(Data Flow Diagram)以图形表达数据流从输入到输出的移动变换过程,由于其有很强的动态性以及其描述事物间相互作用关系时的灵活性等特点,因此被广泛应用于各种领域的数据分析与预测中。

在该系统数据流图中列出了图书在线借阅管理系统中主要数据流图并对系统划分为几大功能模块加以说明。

第一,学生读者图书借阅延期数据流图,描述图书管理员在学生读者完成借阅操作后帮其延期的数据流向。

第二,问题反馈数据流图,描述图书管理员查看并解决学生读者反馈问题的数据流向。

  1. 学生读者图书借阅延期模块数据流图:如图3.4所示,学生读者完成借阅流程后生成借阅信息提交到图书管理员。图书管理员可帮助其延长图书借阅时间,学生读者可在借阅信息处查看相关信息。

图书借阅

学生读者

查询目标图书

延期信息

 

借阅信息

                        存储延期记录

图书

管理员

延期

延期成功

延期失败

 

延长还书日期

 

图3.4  图书借阅延期数据流图

  1. 问题反馈模块数据流图:如图3.5所示,学生读者通过问题反馈功能对相关问题进行描述并提交。图书管理员查看学生读者反馈信息并在处理问题后修改问题状态,反馈信息将会存储到相应的数据库表单中,相应的反馈信息状态也会在我的反馈中反馈给学生读者。

问题反馈

学生读者

提交反馈问题

 

状态信息

反馈信息

 

                     

                    存储问题状态

修改状态

  • 15
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大写的y

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值