基于SSH框架的图书管理系统的设计与实现毕业论文.docx
- 文档编号:27438438
- 上传时间:2023-07-01
- 格式:DOCX
- 页数:31
- 大小:3.20MB
基于SSH框架的图书管理系统的设计与实现毕业论文.docx
《基于SSH框架的图书管理系统的设计与实现毕业论文.docx》由会员分享,可在线阅读,更多相关《基于SSH框架的图书管理系统的设计与实现毕业论文.docx(31页珍藏版)》请在冰豆网上搜索。
基于SSH框架的图书管理系统的设计与实现毕业论文
---文档均为word文档,下载后可直接编辑使用亦可打印---
摘要
如今已经我们已经步入了信息时代,而在信息科技快速发展的形势下,网络现已成为我们工作和日常生活中必不可少的一部分。
计算机技术的发展不仅提高了我们的工作效率,为日常工作提供了极大的便利,而且还在大大地改善了我们生活质量。
通过计算机代替人工来处理数据已经成为趋势。
传统的通过人工来管理图书资源和读者借阅信息的方式不仅浪费时间和人力,而且还容易导致数据丢失错乱,基于计算机技术的图书管理系统在此背景下应运而生。
图书管理系统主要是帮助图书管理员实现通过计算机来进行图书信息和读者借阅信息的管理的目的,将传统的通过人工来管理的信息都交给计算机进行处理,由计算机来对相关信息进行增加、修改、查询和删除操作;普通用户也可以通过图书管理系统来对图书进行借阅归还操作和对自己的图书借阅信息进行查询。
该图书管理系统基于Java的SSH框架进行设计开发,后台使用Java来进行增删改查操作,前端使用JSP来搭建页面,同时使用了MySQL作为数据库系统进行相关的数据保存。
该系统为图书管理员提供了一个简单的平台来对图书信息、读者信息和借阅信息进行管理,在降低了图书管理员的工作量和提高图书管理员的工作效率的同时,也方便了用户的操作,适应了时代的发展。
关键词:
图书管理系统,Java,MySQL,SSH
BookmanagementsystembasedonSSHframework
Abstract
Nowthatwehaveenteredtheinformationage,andwiththerapiddevelopmentofinformationtechnology,theInternethasnowbecomeanindispensablepartofourworkanddailylife.Thedevelopmentofcomputertechnologynotonlyimprovesourworkefficiencyandprovidesgreatconveniencefordailywork,butalsogreatlyimprovesourqualityoflife.Ithasbecomeatrendtousecomputersinsteadofhumanstoprocessdata.Thetraditionalwayofmanuallymanagingbookresourcesandreadersborrowinginformationisnotonlyawasteoftimeandmanpower,butalsoeasytocausedatalossandconfusion.Alibrarymanagementsystembasedoncomputertechnologycameintobeinginthiscontext.
Thebookmanagementsystemismainlytohelplibrarianstorealizethepurposeofmanagingbookinformationandreaderborrowinginformationthroughcomputers.Thetraditionalmanualmanagementinformationishandedovertothecomputerforprocessing,andthecomputeraddsrelevantinformation,Modify,queryanddeleteoperations;ordinaryuserscanalsoborrowandreturnbooksandquerytheirownbookborrowinginformationthroughthebookmanagementsystem.ThelibrarymanagementsystemisdesignedanddevelopedbasedontheJavaSSHframework.ThebackgroundusesJavatoadd,delete,modify,andcheckoperations.ThefrontendusesJSPtobuildpages,andusesMySQLasthedatabasesystemforrelateddatastorage.Thesystemprovidesasimpleplatformforlibrarianstomanagebookinformation,readerinformationandborrowinginformation,whichreducestheworkloadoflibrariansandimprovestheefficiencyoflibrarians,andalsofacilitatesOperation,adaptedtothedevelopmentofthetimes.
Keywords:
BookManagementSystem,Java,MySQL,SSH
1.前言
1.1课题研究现状及意义
如今每天都会有大量的图书和期刊出版,导致图书馆中书籍的数量大幅度增加,而图书馆的工作人员需要对大量的图书信息进行管理,更新图书信息,处理读者图书借阅的相关信息及他们详细的个人信息,在协助读者进行图书借阅与归还操作的同时,还需要记录下读者借阅与归还图书时的相关信息,这时候传统的人工处理方式的弊端也逐步显现:
需要大量的人力分配到各个岗位进行管理,需要管理的数据信息量大到让人难以承受,费时费力,且通过人工管理的数据信息容易丢失,并经常会出现信息交叉错乱的情况。
我们现在已经进入到互联网时代,通过计算机代替人工来处理数据已经成为趋势,所以图书馆的管理工作也应该顺应互联网技术发展的步伐。
在计算机中最显著的特征是数据存储量大、数据处理速度快且数据保存稳定持久,它可以及时、快速、准确地处理数据信息。
在图书管理工作中通过使用较为先进的计算机技术对图书信息、读者信息和图书借阅记录信息进行动态化、规范化的管理,这样在提高图书管理员的工作效率,减少在图书管理工作中的人力投入的同时,还可以让图书馆中的图书资源得到更加充分的利用,使得图书管理具备更大的灵活性和实用性,这是在图书管理工作中实现数字化、精细化和科学化管理的一种方式,也是让图书管理工作朝着现代化、智能化方向前进的一种手段。
计算机技术的发展和应用为处理大量的数据信息,长时间保证数据和保证数据的安全提供了可能。
通过计算机对相关数据信息进行管理,使得图书管理和读者借阅管理分离的传统图书管理方式得到了改变,实现了在图书馆相关信息管理上的规范化和系统化。
图书管理系统以计算机为操作工具,在网页上运行,可以把图书信息和读者借阅信息保存在数据库中,通过计算机可以快速地对图书数据进行增删改查操作,而读者也可通过该系统简化图书借阅的流程,在方便工作人员的管理,提高工作效率的同时,也方便的读者对自己的借阅信息进行了解。
1.2研究目标及内容
图书管理系统主要是通过将传统的人工保存方式管理的图书信息和读者借阅信息保存在计算机的数据库中,在管理员方面可以实现对图书信息的管理及对读者借阅记录和用户相关信息的查询;在用户方面实现对个人信息的管理,对图书的借阅和归还以及对图书借阅记录的查询。
目的是在图书管理员方面降低他们的工作量,提高工作效率,在用户方面可以方便用户对图书进行借阅与归还操作和随时随地地查询自己的借阅记录。
主要研究内容是通过查阅资料,完成对图书管理系统的数据库的设计,并为用户和管理员分别开发页面,在实现图书管理系统中的图书管理,图书借阅和相关信息查询等基础功能的同时也保证角色权限的控制和信息的安全。
2.可行性分析
2.1经济可行性
该图书管理系统是基于Java进行开发设计的,不需要再购买设备进行开发,开发时使用的软件也都是免费的,且该系统是基于web网页进行各个操作,对计算机系统配置的要求并不高,所以该系统的开发成本和日后的维护费用并不高。
同时该系统简化图书管理员的操作,减轻了图书管理员的工作负担,也降低了在图书管理中人力投入。
在经过综合比较后可以发现该系统具有经济可行性。
2.2技术可行性
该图书管理系统使用了基于Java的SSH框架,其中后台程序使用了Java语言进行开发,与其他编程语言相比,Java语言具有面向对象、调试简单、可移植性高等多个特点;而在前端页面开发方面则采用了JSP、CSS、JavaScript等技术进行布局设计和部分输入框的输入控制,页面布局简洁美观,操作友好简单,使用方便,而且SSH框架的使用历史悠久,在此之前的许多网站都是基于SSH框架进行开发,在开发Web项目时使用SSH框架是一种轻量级的很好的解决方案,与其他框架相比SSH框架的使用较为成熟,所以该系统具有技术可行性。
2.3操作可行性
该图书管理系统前端页面主要是通过使用JSP、CSS、JavaScript等技术进行布局设计,所有操作都是在网页上完成,无需另外下载安装软件,界面友好,操作简单。
图书管理员可以通过该系统对图书资源信息进行更新,对用户信息进行管理,而用户也可以通过该系统方便快捷地对图书进行借阅和归还操作,所以该系统具有操作可行性。
3.相关技术与环境
3.1软件开发环境
Myeclipse版本:
Myeclipse2016
MySQL版本:
MySQL8.0.16
Tomcat版本:
7.0.56
Jdk版本:
1.8.0_201
3.2Java介绍
Java是一门高级的、面向对象的程序设计语言,在如今众多的编程语言中占据了比较大的市场份额。
Java主要分为三个版本,分别为JavaSE,JavaEE和JavaME。
其中JavaSE是标准版的Java,其他版本的Java都是在JavaSE的基础上进行修改的,其主要作用是用于一般的Java程序(如桌面应用程序)的开发;JavaEE是企业版的Java,此版本的是在JavaSE的基础上加上了各种应用框架以便程序的开发,主要是在企业上用于开发和部署可移植且安全的服务器端分布式网络应用程序(如Web应用);最后的JavaME是平台微型版的Java,它主要用于移动设备和嵌入式设备上的软件开发。
在此图书管理系统中用的是JavaEE版本。
Java的特性如下:
(1)面向对象:
面向对象是Java语言的基础。
在Java语言里一切皆对象,即将所有的问题都看作是两个不同对象之间的交互,并将所有的对象都抽象成了属性和方法的集合。
(2)跨平台:
Java中的虚拟机机制(即JavaVirtualMachine,简称JVM)实现了Java语言不需要再重新编译即可以在不同的平台上可以正常运行。
而正是因为Java中有了这个虚拟机机制才保证了Java语言的强大的可移植性。
(3)健壮性:
Java语言中的异常处理和垃圾回收机制等都是其健壮性的重要体现。
(4)多线程:
Java可以支持同一个进程内的多个线程同时进行工作以提高程序的执行效率,而且还提供了多线程之间的同步机制以保证线程的安全。
(5)解释执行:
Java程序在安装有Java环境的平台上运行时会先通过编译器将由Java语言编写的源代码编译成字节码,而这些字节码会被Java虚拟机中的解释器解释成计算机所认识的机器码,从而保证程序可以在安装有Java环境的操作系统上正常运行。
(6)简单性:
因为Java语言是从C++语言发展起来的,所以在编程使用的语法上Java语言与C++语言较为相近,但是与C++不同的是Java语言丢弃了许多(例如指针等)在C++中难以理解的特性。
同时因为Java加入了垃圾回收机制,所以程序员在开发程序的过程中不用再去关心程序中的内存分配及垃圾回收等烦人的问题,简化了编程过程的同时也提高了编程效率。
3.3MySQL介绍
数据库是一个系统的保存数据的核心部分,常用数据库管理系统包括MySQL、SQLService和Oracle等,而在本系统的开发中则选择了MySQL作为数据库。
MySQL是目前在WEB应用程序开发方面较为流行的关系型数据库管理系统(即RelationalDatabaseManagementSystem:
简称RDBMS)的应用软件之一。
MySQL的特点是可以跨平台且开源,在支持Linux和Windows等多种常用的操作系统的同时,也为C、C++、Python、Java、PHP等多种常用的编程语言都提供了API接口供它们使用,其数据处理量大且处理速度快,服务稳定,软件体积小,方便维护。
与其他大型系统相比,图书管理系统中的数据处理量并不算大,而且MySQL与其他数据库管理软件相比,其用户使用量较大,在遇到问题时能够及时寻求解决方法,所以选择MySQL作为图书管理系统的数据库是一个不错的选择。
3.4SSH框架介绍
SSH框架是一个集成框架,其结构包括4层:
即实体层,控制层,业务逻辑层和数据访问层。
其中实体层主要是用Java语言将数据库中所用到的字段封装成一个类,这样在传参时只需要传一个类即可;数据访问层负责由hibernate来与数据库进行连接,通过使用hibernate语句(HQL语句)实现对数据库表的数据进行读写操作;业务逻辑层主要是对业务逻辑的进行处理,其工作过程主要是通过调用数据访问层来实现业务数据的持久化;控制层则是通过struts2来与前端网页进行数据交互,以及调用业务逻辑层进行业务逻辑处理。
总的来说SSH框架主要由struts2+spring+hibernate三部分组成:
(1)struts2是一个基于MVC设计模式的、用于开发JavaEE应用程序的web应用框架,MVC设计模式:
即在应用程序开发过程中将应用分成模型(Model)、视图(View)和控制器(Control)三部分分别进行设计。
struts2主要起到了控制作用,负责接收网页中通过表单提交的数据,在action中将接收到的数据进行处理,最后再将最后的处理结果返回到对应的网页中。
struts2以WebWord为核心,通过采用拦截器的方式来处理用户的请求。
(2)spring是一个开源且轻量级的容器框架,它最大的特点就是控制反转(IoC)和面向切面(AOP)。
在SSH框架中,spring在SSH框架中主要是起到了控制struts2框架中的action对象和service类的作用,以达到解耦的目的,简化了程序员的开发流程。
(3)hibernate是一个开源的对象关系映射框架(ObjectRelationalMapping,简称ORM),在SSH框架中其主要作用是与数据库进行连接并对数据库的数据进行读写操作。
为了简化在数据访问层中对数据进行操作时重复出现的代码,hibernate框架对传统的通过JDBC来访问数据库的代码进行了深度的封装;提供了从Java类到数据库表的映射从而达到直接存取Java对象的目的,降低了数据访问过程中的复杂度;同时把直接对数据库进行的操作转化成了对持久化对象的操作,提高了程序员的编程效率。
3.5JSP介绍
JSP(JavaServerPages)是一种动态的网页开发技术,它可以根据服务器端的程序来动态生成不同的页面。
JSP页面主要是通过引入JSP标签的方式达到在普通的HTML网页中插入Java的代码的目的,实现HTML代码和Java代码共存,所以JSP技术和Java语言一样具有跨平台运行的特性,其主要作用是在JavaWeb程序设计中实现前端的用户操作界面的部分。
其特点是能够方便的与服务器进行数据交互,能够访问数据库。
其工作过程是web服务器在遇到JSP的网页访问请求时,会先执行其中的程序片段,然后将其最后的执行结果以HTML的格式返回给用户客户端,其中所有的程序操作都是在服务器端进行执行,而从服务器端返回到客户端的只是最后执行得到的结果,所以使用JSP技术开发图书管理系统的前端页面这种方式对用户计算机的配置要求很低。
[1]
4.数据库设计
4.1数据库需求分析
数据库是图书管理系统中最重要的一部分,所以在设计数据库时,需要先确定各张表中所需要用到的字段,以及确定表与表之间的外键从而实现它们之间的表关联。
该系统主要分为用户注册登录模块,用户信息管理模块,图书管理模块和图书借阅模块,下面是在该系统中使用到的表的相关描述及表与表之间的联系:
(1)用户信息表:
该表来保存用户的账号密码等信息,同时也保存了用户信息管理模块中管理的用户基本信息,包括用户id(主键),用户名,密码,用户类型(普通用户或管理员),真实姓名,联系电话,生日,上次登录时间,注册时间和逾期次数;
(2)图书信息表:
该表用来保存图书的基本信息,包括图书id(主键),图书名称,类型,作者,出版社,总数量,剩余数量,被借阅总次数,新增者,图书描述;
(3)图书借阅表:
该表用来保存用户借阅图书后尚未归还记录的基本信息,包括借阅记录id(主键),借阅者姓名,图书名称,借阅日期,最晚归还日期,图书id,用户id。
其中图书id是图书信息表的外键,用户id则是用户信息表的外键,在对图书借阅表进行操作时可以通过图书id和用户id两个外键来分别对图书信息表和用户信息表的相关关联信息进行查询;
(4)借阅历史记录表:
该表用来保存用户归还图书后记录下的相关信息,包括借阅记录id(主键),借阅者姓名,图书名称,借阅日期,归还日期,图书id,用户id。
其中图书id是图书信息表的外键,用户id则是用户信息表的外键,在对借阅历史记录表进行操作时可以通过图书id和用户id两个外键来分别对图书信息表和用户信息表的相关关联信息进行查询;;
4.2数据库设计
根据我们上方的数据库需求分析,我们可以将图书管理系统中数据库表的表结构列出:
该图书管理系统的数据库主要由四张表组成,分别是用户信息表,图书信息表,图书借阅表和借阅历史记录表。
下面是各个表的详细设计:
4.2.1用户信息表
表4.1用户信息表
序号
字段名称
字段类型
长度
是否允许为空
备注
1
uid
int
11
否
主键,用户id
2
username
varchar
50
否
用户名
3
password
varchar
50
否
密码
4
usertype
varchar
10
否
用户类型
5
actualname
varchar
50
是
用户真实姓名
6
phoneno
varchar
11
是
联系电话
7
birthday
datetime
是
生日
8
lastlogintime
datetime
是
上次登陆时间
9
registertime
datetime
是
注册时间
10
numberofoverdue
int
11
是
逾期次数
4.2.2图书信息表
表4.2图书信息表
序号
字段名称
字段类型
长度
是否允许为空
备注
1
id
int
11
否
主键,图书id
2
name
varchar
50
否
图书名称
3
type
varchar
5
否
图书类型
4
author
varchar
50
否
作者
5
publish
varchar
50
否
出版社
6
amount
int
11
否
剩余数量
7
totalamount
int
11
否
总数量
8
principal
varchar
50
否
新增者
9
description
varchar
255
否
图书描述
4.2.3图书借阅表
表4.3图书借阅表
序号
字段名称
字段类型
长度
是否允许为空
备注
1
id
int
11
否
主键,借阅记录id
2
name
varchar
50
否
借阅者姓名
3
bookname
varchar
50
否
图书名称
4
borrowdate
datetime
否
借阅日期
5
latestreturndate
datetime
否
最晚归还日期
6
bookid
int
11
否
图书信息表外键,图书id
7
userid
int
11
否
用户信息表外键,用户id
4.2.4借阅历史记录表
表4.4借阅历史记录表
序号
字段名称
字段类型
长度
是否允许为空
备注
1
id
int
11
否
主键,借阅历史记录id
2
name
varchar
50
否
借阅者姓名
3
bookname
varchar
50
否
图书名称
4
borrowdate
datetime
否
借阅日期
5
returndate
datetime
否
归还日期
6
bookid
int
11
否
图书信息表外键,图书id
7
userid
int
11
否
用户信息表外键,用户id
5.模块设计与实现
5.1需求分析
图书管理系统主要分为注册登录模块,用户信息管理模块,图书管理模块,图书借阅模块等四大模块。
注册登录模块和用户信息管理模块主要是对用户信息表进行操作;图书管理模块主要是对图书信息表进行操作;图书借阅模块主要是对图书借阅表和借阅历史记录表进行操作,同时可通过图书id和用户id这两个外键分别对图书信息表和用户信息表进行操作。
图5.1系统功能图
5.2注册登录模块
注册登录模块是图书管理系统最重要的一个模块,其他模块都是需要在用户正常登录后才可以进行正常操作,所以该模块直接影响到整个图书管理系统的安全性。
其中为了实现用户和管理员的权限分配功能,系统为管理员和用户两个角色分别开发了不同的主页,在登录时会对登录用户的用户类型进行判断,不同的用户类型在登录成功后会跳转到各自的主页中。
5.2.1用户注册
这部分主要是实现用户注册功能,用户在注册时需要完整输入所有信息。
在点击提交按钮后系统会先在前端页面中通过JavaScript来检查输入密码是否合法(密码首位必须是大写,密码总长度需要大于6位),两次输入的密码是否相同,若检查不通过则会拒绝该表单提交并提示错误信息,检查通过后则会将表单中的信息提交到后台,在后台中会将输入的注册用户名与数据库中的数据进行比对,如果存在相同的用户名则会拒绝该注册操作,并将错误信息返回到前端页面中显示;不存在相同的记录则将表单中的信息保存到数据库,此时后台会记录下此时的时间一同保存到用户表的注册时间中,前端页面则会提示注册成功。
另外为了区分用户和管理员两个不同的角色,在用户注册时,用户注册页面中会有一个隐藏输入框默认给usertype赋值(usertype赋值为1),用户无法对其修改,保证了在用户注册页面提交注册的用户类型只能为普通用户。
图5.2用户注册页面
图5.3注册成功
5.2.2管理员注册
这部分主要是实现管理员
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 SSH 框架 图书 管理 系统 设计 实现 毕业论文