基于SSH图书管理系统初稿.docx
《基于SSH图书管理系统初稿.docx》由会员分享,可在线阅读,更多相关《基于SSH图书管理系统初稿.docx(34页珍藏版)》请在冰豆网上搜索。
![基于SSH图书管理系统初稿.docx](https://file1.bdocx.com/fileroot1/2022-11/27/d35ec736-0f1d-4f98-9a52-686ed4d52a2f/d35ec736-0f1d-4f98-9a52-686ed4d52a2f1.gif)
基于SSH图书管理系统初稿
广东科学技术职业学院
计算机工程技术学院(软件学院)
毕业设计
题目:
图书馆管理系统
专业:
软件技术
班级:
13ACCP1
学生姓名:
陈展鹏
学号:
0104130147
指导教师姓名:
段班祥
职称:
教授
2016年3月
广东科学技术职业学院计算机工程技术学院
(软件技术)专业毕业设计任务书
填表日期:
2016年3月7日填表人:
陈展鹏
项目名
图书馆管理系统
指导
教师
段班祥
职称
教授
人数
1
班别
13ACCP1班
项目
简介
主要针对小型图书馆,对Mysql数据库管理系统、SQL语言原理、java应用程序,spring,hibernate,struts2,设计,进行开发,系统可以满足会员、图书馆工作人员,游客,三方面的需要。
设
计
任
务
、
目
标
与
计
划
任务:
1.书籍查询:
借阅者、图书馆工作人员,游客可以通过关键字,类型,出版社等信息,查询图书信息基本信息
2.系统登录模块:
会员和管理员都可以登录进入系统,系统登录时在后台判断权限类型,分为会员和管理员,会员可以对个人借阅信息的查询,管理员不仅可以查看所有信息,而且还可以对会员,图书,借阅等信息进行增删操作。
2.会员管理模块:
管理员可以在此模块中创建新的会员信息,并且可以对会员的信息进行删除等操作,但是不能进行修改操作,会员可以查看自己的基本信息,并且可以进行修改(姓名,身份证号不能修改)。
3.图书管理模块:
管理员进入系统后,进入到图书管理模块,可以对图书进行查询、添加、删除、修改图书信息等一系列的操作。
会员只能查看到图书的信息,及时的了解到图书是否可借。
审核
意见
指导教师(签章):
年月日
专业负责人(签章):
年月日
指导教师评语:
指导教师评分:
指导教师签名:
年月日
答辩专家组对毕业设计答辩评议及成绩评定:
答辩组长:
(签章)
年月日
毕业设计综合评分:
摘要
现今随着计算机科学与技术的不断进步、不断普及。
计算机已经广泛应用于社会各个领域,并直接推动社会信息化的发展,在经济与社会发展中的地位日趋明显,学习和使用计算机并在工作学习中得以应用是非常的必要。
通过计算机对相关事务进行管理也是一个非常迫切的需求,也为无纸化办公迈出了坚实的一步。
它的优点是不仅从管理还是资料的存储上都是极为方便有效地。
图书管理系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。
对于后台数据库要求建立起数据一致性和完整性强、数据安全性好的库。
而对于前端应用程序则要求应用程序功能完备,易使用等特点。
结合图书馆的要求,对Mysql数据库管理系统、SQL语言原理、java应用程序设计,进行了较深入的学习和应用,主要完成对图书管理系统的系统分析、系统设计、系统实现,并由此设计了数据库结构和应用程序。
系统运行结果证明,本文所设计的图书管理系统可以满足借阅者、图书馆工作人员和游客三方面的需要。
关键词:
数据库;SQL语言;Mysql;Java;图书管理系统
Abstract
Nowadays,withthedevelopmentofcomputerscience,thecomputeriswidelyusedinmanyfields.Sowemustlearnhowtousethecomputersciencetodealwithproblemoftheenterprise.Wecandevelopapowerfulandfixedsystemtotosolveproblemoftheenterprise.
Thebooksadministrativesystemistypicalinformationmanagementsystems(MIS),itdevelopstobemainlyincludingsetting-upandmaintenanceandfrontapplicationprogramofbackstagesupporter'sdatabasedevelopmenttworespect.Demandtosetupconsistencyofthedataandintegralitythestorehouseofstrong,datawithgoodsecurityastotheformer.Requiretothelatterthefunctionoftheapplicationprogramiscomplete,aptcharacteristicofusingetc.
Combine,makerequirementoflibraryofenteringetc.inperson,employanddesignprogramtoprincipleJava,databasemanagementsystemofMysql,andlanguageofSQL,carryondeeperstudyandapplication,mainlyfinishthedemandanalysis,functionmoduledivision,databasepatternanalysistothebooksadministrativesystem,andhasdesigneddatabasestructureandapplicationprogramfromthis.Systematicoperationresultprovebooksadministrativesystemthistextdesigncanmeetpersonwhoborrow,librarystaffmemberandsenioradministratorthreeofneeds.
Keyword:
Thedatabase;SQLlanguage;Mysql;java;library_system
序言
随着科学技术的进步和计算机行业的迅速发展,人们的工作效率得到大大提高。
计算机信息系统的引进已彻底改变了许多系统的经营管理模式。
图书管理系统是学校管理机制中的重要组成部分,通过对图书馆管理系统的运行管理机制进行调查和研究,开发了此图书馆管理系统。
本文中主要介绍了图书馆管理事务中的常见基本问题等研究背景,进行了全面的可行性分析,详细论证了系统的需求分析、系统设计、系统实现和系统测试过程。
本系统使用JSP进行网页界面的设计,使用MVC设计模式,采用开源框架Struts2、Hibernate和Spring进行开发。
后端的数据库采用MySql,通过JDBC驱动和数据库进行无缝连接。
本系统主要是分前台与后台,前台会员可以通过系统查询个人基本信息,借阅信息,以及图书信息;后台管理员可以通过系统增删会员,更改图书信息,记录会员借阅信息等。
系统实现了会员登录、会员管理、图书管理、借阅管理等功能模块。
对于管理员,会员管理模块实现了添加,删除,查询会员信息
图书管理模块实现了对图书的添加、删除、修改、查询等功能;
借阅管理模块实现了对会员借阅图书、还书和所借图书的添加,删除,修改,查看等功能;
对于普通会员,会员管理模块实现了信息的查询与修改;
图书管理模块实现了图书的查询,以书名方式进行图书的查找,了解图书是否在馆;借阅信息模块实现了对自己借阅信息的查询;
第一章绪论
1.1课题背景
近年来,全国各地都开设图书馆,阅读民众也越来越普多。
图书馆是市民学习,休闲的重要场所,图书馆不仅有个好的学习环境,更是提供了大量的书籍。
然而,伴随着市民对阅读需求的增加,对图书的数量,以及借阅情况的登记显得格外的复杂,对市民借阅图书的情况的登记是对图书管理人员的挑战。
现在还有很多高校采用的是人工操作,人工操作不仅效率低,而且对市民的信息管理困难。
市民也不能及时的了解到自己的借阅情况以及图书信息。
为了提高图书馆的管理效率,方便市民们及时的了解自己的借阅情况以及图书信息。
特此开发此系统。
此系统主要是面向两个方面:
管理员与会员。
管理员可以查询、添加、删除、修改的图书信息,借阅信息,会员信息;对会员信息可以进行查询,添加,删除,会员可以查询图书馆所存的图书,个人借阅情况以及个人信息的修改。
1.2图书馆管理系统现状
1.2.1检索速度慢、效率低
因为图书馆的藏书种类多。
数量大,将藏书准确的分门别类,快速检索,手工进行非常困难,往往是终于查到了二维的信息,馆中却没有此书或已被别人借走。
图书馆的规模越大,这个问题就越突出。
1.2.2借书、还书工作量大
借书、还书频率越大,说明图书馆的作用越大,然而随之而来的大量的借书、还书登记、实存图书的更新以及借出图书超期,遗失等的处理,其工作量之大,往往是人工操作所难以胜任的,而且经常会出现这样那样的差错。
1.2.3图书统计工作难、藏书更新不能及时完成
图书馆的图书应根据科学技术的发展和用户需要及时添加和更新,然而由于藏书数量及图书种类越来越多,加上自然损耗,人为破坏,使图书的统计工作难以及时完成,藏书的更新也就很难有针对性的进行,藏书的知识结构得不到良好地控制。
1.3课题主要工作及预期
随着计算机的广泛应用,其逐步成为现代化的标志。
图书馆在正常运行的过程中总是面对大量的会员信息,图书信息以及两者相互作用产生的借阅信息。
因此需要对会员信息,书籍信息,借阅信息进行管理,及时了解各个环节中信息的变更,要对因此而产生的单据进行及时的处理,为了提高图书馆对图书存销的自动化的管理,能够更快速地满足会员的要求,提高各种工作效率,现对其设计相应的系统,以达到上述的目的。
图书馆管理系统的主要功能是实现图书馆图书的借阅管理自动化,图书新增及删除的及时化,会员及图书信息的更新,围绕这些主要功能,本系统涉及到以下核心功能:
借阅管理,会员管理,图书管理,借阅管理。
除了这些核心功能外,还包括一些基本和辅助的功能,它们是:
图书信息管理,查询功能,系统管理等。
该系统设计的主要目标是:
设计一个图书馆管理系统,该系统主要功能分为图书查询、图书借阅归还和图书管理三大部分。
在图书查询模块中要求会员能在浏览器中分别图书编号、书名、类型等条件查询;在图书管理模块中要求能完成如添加新的会员、新书录入、借书还书登记、图书修改等日常管理功能。
(1)网站前台设计:
前台供会员使用,会员登录后有如下权利
①个人信息查询与修改:
会员可以查询个人信息,并修改相应的信息(姓名,身份证号等)。
②图书查询:
会员可以书名方式对图书库中的图书进行查询。
③借阅信息查询:
会员可以查看自己的历史借阅信息。
(2)网站后台设计:
后台是供管理员使用的,管理员登陆后有如下权利
①增加会员:
将会员信息填写完整,在数据库中注册新会员;
②图书的录入、修改及删除:
可以对现有图书库中的图书进行删除、修改、也可以添加新书;
③借阅登记:
普通会员借阅或归还图书时,管理员将在借阅信息表中添加相应的记录;
1.4开发工具及相关技术
1.4.1SSH框架
SSH框架是指Struts2+Hibernate+Spring三大开源框架技术,用SSH技术进行开发,能够提高开发效率,层次清晰。
Struts2实现页面的设计和请求的跳转调用业务逻辑;Hibernate实现对数据的增删改查;Spring通过依赖注入控制对象的生成和事务的处理。
Struts2对Model、View和Controller都提供了对应的组件。
Spring是一个轻量级的控制反转(IOC)和面向切面(AOP)的容器框架,使用基本的JavaBean来完成以前只可能由EJB完成的事情。
Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,可以应用在任何使用JDBC的场合,可以在Servlet/JSP的Web应用中使用,完成数据持久化的重任。
SSH任务分工如图1-1所示:
图1-1任务分工图
1.4.1.1Struts22介绍
Struts2是开源软件。
使用Struts2的目的是为了减少在运用MVC设计模型来开发Web应用的时间。
Struts2的框架结构如图1-2所示:
图1-2Struts22框架结构
1.Struts22框架结构
当Web容器收到请求(HttpServletReques
t)它将请求传递给一个标准的的过滤链包括(ActionContextCleanUp)过滤器。
经过Otherfilters(SiteMesh,etc),需要调用FilterDispatcher核心控制器,然后它调用ActionMapper确定请求哪个Action,ActionMapper返回一个收集Action详细信息的ActionMaping对象。
FilterDispatcher将控制权委派给ActionProxy,ActionProxy调用配置管理器(ConfigurationManager)从配置文件中读取配置信息(Struts2.xml),然后创建ActionInvocation对象。
ActionInvocation在调用Action之前会依次的调用所用配置拦截器(InterceptorN)一旦执行结果返回结果字符串ActionInvocation负责查找结果字符串对应的(Result)然后执行这个ResultResult会调用一些模版(JSP)来呈现页面。
拦截器(InterceptorN)会再被执行(顺序和Action执行之前相反)最后响应(HttpServletResponse)被返回在web.xml中配置的那些过滤器和(核心控制器)(FilterDispatcher)。
图1-3Hibernate体系结构图
此图说明了Hibernate的体系结构图,Hibernate使用数据库和配置信息来为应用程序提供持久化服务。
Hibernate的核心接口一共有6个,分别为:
Session、SessionFactory、Configuration、Transaction、Query和Criteria。
这6个核心接口在任何开发中都会用到。
通过这些接口,不仅可以对持久化对象进行存取,还能够进行事务控制。
1.Session接口
Session接口负责执行被持久化对象的CRUD操作(CRUD的任务是完成与数据库的交流,包含了很多常见的SQL语句)。
但需要注意的是Session对象是非线程安全的。
同时,Hibernate的session不同于JSP应用中的HttpSession。
这里当使用session这个术语时,其实指的是Hibernate中的session,而以后会将HttpSesion对象称为会员session。
2.SessionFactory接口
SessionFactory接口负责初始化Hibernate。
它充当数据存储源的代理,并负责创建Session对象。
需要注意的是SessionFactory并不是轻量级的,因为一般情况下,一个项目通常只需要一个SessionFactory就够,当需要操作多个数据库时,可以为每个数据库指定一个SessionFactory。
3.Configuration接口
Configuration接口负责配置并启动Hibernate,创建SessionFactory对象。
在Hibernate的启动的过程中,Configuration类的实例首先定位映射文档位置、读取配置,然后创建SessionFactory对象。
4.Transaction接口
Transaction接口负责事务相关的操作。
它是可选的,开发人员也可以设计编写自己的底层事务处理代码。
5.Query和Criteria接口
Query和Criteria接口负责执行各种数据库查询。
它可以使用HQL语言或SQL语句两种表达方式。
1.4.1.3Spring介绍
Spring是一个开源框架。
Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。
然而,Spring的用途不仅限于服务器端的开发。
简单来说,Spring是一个轻量级的控制反转(LOC)和面向切面(AOP)的容器框架。
Spring框架概述如图1-4所示:
图1-4Spring框架概述
1.控制反转
Spring通过控制反转的技术促进了松耦合。
当应用了控制反转,一个对象依赖的其它对象会通过被动的方式传递进来,而不是这个对象自己创建或者查找依赖对象。
2.面向切面
Spring提供了面向切面编程的丰富支持,允许通过分离应用的业务逻辑与系统级服务进行内聚性的开发。
3.容器
Spring包含并管理应用对象的配置和生命周期,在这个意义上它是一种容器,你可以配置你的每个bean如何被创建——基于一个可配置原型(prototype),你的bean可以创建一个单独的实例或者每次需要时都生成一个新的实例——以及它们是如何相互关联的。
1.4.2Tomcat服务器
Tomcat是一个轻量级应用服务器,在中小型系统和并发访问会员不是很多的场合下被普遍使用,是开发和调试JSP程序的首选。
Tomcat服务器的兼容性很好,有众多大软件的公司的支持,而且服务器的性能稳定,其发展前景很好。
1.3.2.1在Eclipse中添加Tomcat插件步骤如下:
1.首先要在Eclipse的window--showview—servers打开servers的显示窗口如图1-5所示:
图1-5Eclipse主窗口
2.在Eclipse中的Servers窗口中点击右键New—server,进入窗口如图1-6所示:
图1-6选择Tomcat版本
3.在上图中选择所要添加的Tomcat版本,点击Next,进入窗口如图1-7所示:
图1-7添加Tomcat地址
4.在上图中选择所要添加Tomcat的directory,JRE改为Jre6,点击Next,如图1-8所示
图1-8添加项目
5.在上图中选择所要添加的项目加载到Tomcat中,点击finish完成
对Eclipse中的Tomcat进行相关的修改:
1.在Eclipse中修改Tomcat端口号如图1-9所示:
图1-9修改端口号
2.修改Tomcat启动缓存参数如图1-10所示:
图1-10修改缓存参数
1.4.3Eclipse平台
Eclipse是一个开放源代码的、基于Java的可扩展开发平台。
就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。
幸运的是,Eclipse附带了一个标准的插件集,包括Java开发工具(JavaDevelopmentKit,JDK)。
Eclipse插件安装方法
做为当下最流行的开源IDE之一,Eclipse的一大优势就在于其无数优秀的插件。
一个好的插件可以大大的提高工作效率。
Eclipse插件的安装方法:
直接复制法
假设Eclipse的安装目录在E:
\eclipse,解压下载的eclipse插件或者安装eclipse插件到指定目录AA文件夹,打开AA文件夹,在AA文件夹里分别包含两个文件夹features和plugins,然后把两个文件夹里的文件分别复制到E:
\eclipse下所对应的文件夹下的features和plugins下。
注意:
直接将插件包解压到plugins文件夹下之后,重启eclipse,可能不会加载新的插件。
解决方法是:
1.打开命令行,到当前eclipse的目录下,输入eclipse-clean,重新启动eclipse,这样eclipse就会加上新的插件了。
2.如果插件不能升效,则请将eclipse\configuration\org.eclipse.update目录删除后再启动eclipse;
你可以在eclipse的菜单"Help"-->"AboutEclipseSDK"-->"FeatureDetails"和"Plug-inDetails"中看到新安装的插件。
如图1-11所示:
图1-11新添加的插件
1.4.4Mysql数据库
Mysql数据库是一个简单并方便的轻量级数据库,不仅在电脑上容易安装,而且使用简单,很容易就能掌握Mysql的使用。
在Eclipse中安装Mysql插件,步骤如下:
1.首先要在Eclipse的window--showview—dataSourceExplorer打开dataSourceExplorer的显示窗口,如图1-12所示:
图1-12DateSourceExplorer窗口
2.在DateSourceExplorer窗口中点击右键,NewConnectionProfile窗口,如图1-13所示:
图1-13NewConnectionProfile窗口
3.在NewConnectionProfile窗口中,选择要添加的数据库类型,选中所要添加的数据库类型,双击进入NewDriverDefinition窗口进行相应的数据库配置,如图1-14所示:
图1-14NewDriverDefinition窗口
4.配置完成后,单击finish完成。
1.5小结
本章主要介绍了系统开发的背景及目前的现状,对课题的主要工作及完成时间作了相应介绍重点介绍了开发工具与相关技术,对SSH,Tomcat,Eclipse,MySQL都作出了相应的介绍。
第二章系统分析
2.1系统分析的目标与任务
系统分析主要是为了分析清楚系统的需求以及会员对系统的要求,了解系统应实现那几部分的功能,各部分功能实现的具体方法:
图书管理系统包含五个模块分别是:
系统登录、会员管理、图书管理、借阅管理。
系统登录模块:
会员和管理员都必须登录才能进入系统,会员可以对书籍进行浏览及个人借阅信息的查询,管理员不仅可以查看所有信息,而且还可以对会员,图书,借阅等信息进行增删操作。
会员管理模块:
管理员可以在此模块中创建新的会员信息,并且可以对会员的信息进行删除等操作,但是不能进行修改操作,会员可以查看自己的基本信息,并且可以进行修改
图书管理模块:
管理员通过验证界面进入系统后,进入到图书管理模块,可以对图书进行查询、添加、删除、修改图书信息等一系列的操作。
借阅管理模块:
这是图书管系统中最重要的模块之一,管理员进入该模块中可以为会员办理借阅图书,归还图书的功能
会员只能查看到自己的借阅历史信息。
2.2可行性分析
采用现代化统一的计算机信息网站系统,能够有效优化图书馆管理系统,能够迅捷的为会员提供相应的服务。
开发本系统的可行性如下:
2.2.1技术可行性
SSH框架是指Struts2+Hibernate+Spring三大开源框架技术,用SSH技术进行开发,能够提高开发效率,层次清晰。
Struts2实现页面的设计和请求的跳转调用业务逻辑;Hibernate实现对数据的增删改查;Spring通过依赖注入控