基于JAVA编程的图书馆管理系统设计与研究
2021-01-13吕婷婷马丽赵威
吕婷婷 马丽 赵威
摘 要 图书馆是人们获取知识的重要场所。面对庞大的馆藏数量,书面登记已经没有办法保证图书馆的完整性和安全性。设计一个图书馆管理系统,由Java语言编写,整个系统为单点的垂直架构,分为控制层、业务层和持久层。系统的开发环境为JDK 1.8、Tomcat 8.5、MySQL 5.5。整个系统操作简单、使用安全,希望为现代化图书馆管理提供一些思路。
关键词 图书馆;Java;图书馆管理系统
中图分类号:G250.71 文献标识码:B
文章编号:1671-489X(2021)20-0069-04
1 研究现状及系统开发目的
当今书籍的种类日益增多,图书的数量也急剧增长,人们对于图书的需求也在增长。由于这些因素的影响,一座图书馆想要按部就班地管理人员和书籍就变得相当困难,因此必须要使用更加科学的方式来管理。通过使用Java语言来开发一个用于图书馆管理的Web项目,能够很好地解决上述问题。基于该项目的开发,可以通过非常安全的方式进行人员登记,并且对于各异的身份、操作和书籍,可以开发不一样的功能模块。对于图书馆的工作人员而言,这样就减轻了工作负担,提高了工作效率;而对于图书馆本身来说,从图书的安全性到整体的管理有序性,都能有很好的保证。
2 开发工具和相关技术
在本次开发中主要使用的编程语言是Java,进行开发的工具主要是Eclipse 4.7 Oxygen版,JDK的版本为1.8。数据库使用的是MySQL 5.5,对数据库进行操作的工具是Navicat Premium,而用来部署项目的服务器主要是Tomcat 8.5。
2.1 JSP、HTML、CSS
在前端技術的选择上使用了JSP、HTML、CSS三者结合。
JSP是一种动态网页技术标准,在传统的HTML文件中插入Java程序段和Jsp标记,由此形成JSP文件,而使用它开发的Web应用是跨平台的,能在多种系统中运行。它在保持HTML原有的状态下,可以插入人们需要的Java代码,因此可以实现前后端上的数据传输。除了可以使用Java代码块以外,还可以使用Jsp标记进行页面包含、异常页面的处理、文件的导入、JSTL标记的引入等操作,再配合EL表达式的使用,对于后台数据的处理展示等都非常方便。
HTML则是超文本标记语言,通过各种标签,可以给网页的页面进行布局、调整字体格式、导入视频音频、创建表单等,从而制作出一个完整的、静态的网页。
CSS是层叠样式表,主要是可以通过元素选择器、类选择器、ID选择器三种方式来对不同的HTML标签进行样式的修改。它本身有许多自带的属性,如修改背景颜色、字体颜色、字体加粗、斜体、行间距、内间距、外间距等。
这里选择它们三个,HTML在异常页面或不需要数据传输,只需要页面展示信息的时候使用,JSP则是在处理大量信息进行回显时使用,而CSS用来配合它们两个来给它们添加相应的样式。
2.2 JavaScript、jQuery、Bootstrap
一个页面不可能只是静态的,为了有更好的用户体验,需要添加各种过度动画和更好的样式,并且要抛弃部分复杂的方式,选择一些更加简单的方便的工具包来帮助开发。
JavaScript是一种脚本语言,主要用在HTML页面中,可以给页面添加相应的动画效果,当然可以使用它来进行数据的处理。除了这些以外,JavaScript还可以使用Ajax进行异步传输,通过Ajax可以实现前后端的分离,帮助后期维护项目。
jQuery就是一个JavaScript的框架,包含许多已经写好的JavaScript库,其中有获取元素、淡出效果、显示效果、Ajax等功能的封装,使用时可以用更少的代码、更快的速度、更高的效率进行动画效果的开发。
Bootstrap是基于HTML、JavaScript、CSS的简洁框架,封装了许多优美简约的样式风格,使用起来也非常方便,只需要在相应的HTML标签的class属性上写上对应的值,就可以直接有对应的样式。这样一来,在少量使用Java-Script的基础上再去使用一些封装的框架工具,开发时就会事半功倍。
2.3 SSM框架、B/S架构
SSM框架主要是由三个框架集合形成的一个整体的项目架构:SpringMVC+Spring+MyBatis。
SpringMVC和Spring两者为包含关系,由于前者经常使用而被单独提起,因此也可以理解为两个框架的集合。SpringMVC为Spring 框架提供了构建Web应用程序的全功能MVC模块,而MVC模块则是由模块层、视图层、控制层来构建,模块层表示的是用于映射数据表的JavaBean,视图层表示的是前端页面,控制层则是用来转发请求的控制器,而SpringMVC主要的作用就是在项目中拦截用户请求,它的核心Servlet也就是前端控制器承担中介或是前台这样的职责,将用户请求通过映射器处理器去匹配相应的控制器,一旦找到对应的控制器,在Java中也就是方法,就会处理请求,对请求进行转发或者重定向。
Spring是一个开放源代码的设计层面框架,解决的是业务逻辑层和其他各层的松耦合问题,因此,它将面向接口的编程思想贯穿整个系统应用。简单理解就是Spring提供了一个容器,所有的JavaBean对象都会被加载进容器,要使用时不需要再次创建,直接使用就可以了。Spring在SSM框架中主要用来串联各层。
MyBatis是一款持久层的开源框架,支持定制化 SQL、存储过程以及高级映射,运用也非常方便,只要写好持久层的接口,再写对应的xml配置文件,就会自动生成实现类进行数据库的操作。
2.4 相关的插件
在开发中,在前后端的技术以外,还需要许多的插件技术来完成一些细节上功能,这里使用了DataTables、jQuery-confirm、jQuery-validation、ECharts、Quartz五个插件。
DataTables插件是一款jQuery表格插件,是一个高度灵活的工具,可以将任何HTML表格添加高级的功能。在开发中经常要将数据以表格的形式展示出来,那么使用DataTables插件就可以很快完成,并且该插件还能快速实现分页、列表排序等功能。
jQuery-confirm是基于jQuery的一款弹窗插件。为了让用户有更好的体验,经常会有一些错误的提示或者选择提示框,而使用该插件,只需要按照一定的配置,就可以实现弹窗的功能。并且它自带一些样式,如果不喜欢也可以自行进行修改。
jQuery-validation同样是基于jQuery的插件,主要用于前端的表单验证。在用户进行数据提交时,可以自定义规则进行验证,保证传递到后台数据的安全性和合法性。
ECharts是百度团队开发的一款强大的用于制作图表的插件。在图书馆中有大量的书籍、人员、金钱的往来,一个形象的图表可以让人清晰地知道管理的进度。ECharts还自带多种图表样式,使用时只需按照固定的配置文件写好就可以了。
Quartz则是一个任务调度的工具。在许多时候需要让程序自动地做一些任务,这时候就需要一个定时器来帮助完成,而Quartz就是通过触发器、任务、调度器,三者相互结合,来完成一个任务的调度。
3 系统可行性分析
3.1 技术可行性
该项目主要是由Java语言编写,采用Web项目来开发,在前端上使用HTML+CSS的方式进行页面展示,再通过JSP页面进行数据展示;在后台采用SSM框架从Controller层到Service层,最后到DAO层的架构,从页面获取到数据进行业务逻辑处理,再对数据库进行增删改查。在确保前后端完整的前提下,再使用Ajax进行前后端分离,方便进行后期维护,其中会使用一些常用的插件来帮助完成一些细节上的功能,主要使用的工具是Eclipse和Navicat Premium,完成一个图书馆信息处理的项目在技术方面是可实施的。
3.2 经济可行性
使用的Eclipse、Navicat Premium等工具都是免费版的,不用开发者支付工具的费用。在开发完成后需要在图书馆的前台电脑中进行环境的部署,其中包括Tomcat、MySQL、JDK等,而这些环境都是免费的,无须支付其他费用。而且,环境所需要的硬件条件也非常低,低压的CPU、4 G以上的内存,能够上网就能够访问项目,所以对于图书馆而言成本也几乎为零。因此,在经济成本上项目也是可行的。
3.3 操作可行性
本次系统采用的是B/S架构,只需要有一个浏览器,能够上网,就能够简单访问。通过Web项目,对于操作者来说,就像平常简单的上网查阅资料一样,非常简单快捷,即使是对于没有任何软件或硬件知识的人员来说,也能够在极其短的时间内学会操作。所以,在对于工作人员的操作上也是可行的。
4 详细设计
本系统主要由登录模块、注册模块、管理员模块、成员模块组成,其中管理员模块下有成员管理、图书管理、借阅管理、收入统计等功能,成员模块由修改信息、书籍查询、借阅记录、罚款通知等功能构成。系统总体功能结构图如图1所示。
4.1 登录模块
用户在主页直接进行登录,通过账号密码来和数据库中的信息比对,正确才能进入后台,否则会给予相应的错误信息提示,并且不可跳过登录。如果成员想要直接通过路径进行访问,也会提示成员先登录。
4.2 用户注册
用户如果没有账号想要登录,必须要先进行账号的注册才能够进入,可以通过点击“还没有账号”,会弹出提示框来进行注册,填写好合法的信息后就可以了。
4.3 管理员界面
管理员身份登录后会进入到管理员的后台界面,管理员界面包括四个功能模块,分别是限制成员、图书信息、借阅信息、收入统计模块。
4.3.1 限制成员功能 限制成员的功能是管理员在检查到成员的资料或者信息不合法时,有权利对这些违法的用户进行禁止登录,并在登录时也会提示他已经被禁止权限了,可以向管理员申请恢复权限,这样可以保证用户的信息准确合法。
4.3.2 图书信息功能 管理员中的图书信息模块是对所有书籍的四个操作,包括查询所有书籍信息、添加新的书籍、删除原有的书籍、修改原有书籍的信息。通过这些操作,管理员可以很好地管理图书馆中的所有书籍,让书籍更加有序,并且增强可操作的灵活性。
4.3.3 借阅信息功能 在管理员的操作中,最重要的一点是对于借阅的成员审核其是否信用良好,借阅出去以后还要很好地记录下来。管理员可以选择批准或者拒绝他借书,当然这些操作要配合现实情况中的借书。一旦选择批准,借阅日期就是当天,超过15天没有归还就算逾期,每超过一天就会记录下1元的罚款,每天都会进行计算。借阅成员来还书时需要上交相应的逾期费用。这样既能够保证成员如期归还书籍,也能够保证成员方便地借书。
4.3.4 收入统计功能 圖书馆虽然不是一个营利的场所,但是还是存在关于图书逾期罚款的管理。
4.4 成员管理界面
在成员管理界面,成员一共有四个功能模块,分别是修改信息、查询书籍、借阅记录、罚款通知,在左上角还可以进行注销当前账号的操作。
4.4.1 修改信息功能 在成员管理中最基本的就是对于自己的信息进行修改。在修改信息过程中,有部分信息不能够修改,因为这些信息都是比较重要的,并且是在日常生活中不会更改的。
4.4.2 查询书籍功能 利用查询书籍功能,可以查看所有的书籍信息,包括书籍的名称、作者、库存等。成员可以对其进行借阅申请,一旦申请后,由管理员进行审核,审核通过后,就可以借阅。
4.4.3 借阅记录功能 成员在借阅书籍后,可以通过借阅记录功能查询借阅的审核进度,并且可以通过后面的查看书籍按钮,直接查看当前借阅书籍的信息资料。一旦审核通过,借阅的时间就是当天,并且需要在15天内归还书籍,否则就会开始计算罚款,每天1元。可见,这样方便成员查看自己的借阅情况。
4.4.4 罚款通知功能 如果在登录以后,成员用户看到界面右上角有一个提示“你当前有一个消息”,那么就是关于罚款的消息,是他逾期归还书籍而产生了罚款,这里通知他注意。
5 测试
对于图书馆管理系统,由于内部的逻辑并不复杂,只需要运行程序,按照正常操作者的行为来进行各个功能测试,达到每个功能都可以快速、准确地实现。部分功能模块的具体测试内容如表1所示。
6 结束语
本文介绍的图书馆管理系统使用了Java语言,采用MVC设计模式,又使用了SSM框架,整体由一种垂直架构进行开发,从一开始的需求分析,到框架结构搭建、数据字典的建立、环境搭建、前台页面的编写,再到后台Con-troller层、Service层、DAO层的开发。本次项目整体分为两个大的模块,每个模块下包含一些小的功能模块,每个功能模块又涉及不同的小的技术,像弹出框的插件confirm,任务调度工具Quartz,表单验证插件valida-tion,这些功能强大的小技术更好地完善了图书馆管理系统的功能。■
参考文献
[1]陆校松.基于CSS+DIV的高校网站首页设计与实现[J].福建电脑,2015,31(12):102-103,12.
[2]王永.基于Web的数字迎新系统的设计与实现[J].现代信息科技,2018,2(10):28-30.
[3]刘佳潤.数字时代图书馆管理创新途径[J].智库时代,2019(23):148,163.
[4]曾艳丽,李诺.针对SSM框架Web系统的相关思考[J].信息与电脑(理论版),2019(3):116-117.
[5]唐权.SSM框架条件分页查询研究与实现[J].四川职业技术学院学报,2019,29(1):139-143.
[6]严义辉,袁飞虎,洪杰坤,等.基于Java的图书馆座位管理系统的研究[J].计算机产品与流通,2019(6):96.
[7]田丰维,冯永安.计算机软件JAVA编程特点及其技术应用[J].教育教学论坛,2019(21):268-269.
[8]欧阳宏基,葛萌.Java EE数据初始化应用中的设计模式解决方案[J].计算机系统应用,2019,28(4):188-193.
[9]王晓妮,段群.基于MVC模式的数据挖掘平台设计与实现[J].信息与电脑(理论版),2018(15):53-55.
[10]姚云飞,杜洪波,梁建辉.基于SpringMVC框架毕业设计管理系统设计[J].软件,2018,39(1):91-93.
[11]刘焱.jQuery在平台中的应用开发研究[J].信息系统工程,2019(1):91.
[12]Theisen KJ. Programming languages in chemistry: A review of HTML5/JavaScript[J].Journal of Chemin-formatics,2019,11(1):11.