基于JSP的图书管理系统的设计实现分析_第1页
基于JSP的图书管理系统的设计实现分析_第2页
基于JSP的图书管理系统的设计实现分析_第3页
基于JSP的图书管理系统的设计实现分析_第4页
基于JSP的图书管理系统的设计实现分析_第5页
已阅读5页,还剩45页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、分类号学校代码学号本科生毕业论文基于JSP的图书管理系统的设计与实现DesignandDevelopmentofBooksManagementSystemBasedonJSP所在院(系):学生指导教师研究起止日期学位论文独创性声明本人重声明:1、坚持以“、创新的科学精神从事研究工作。2、本论文是我个人在导师指导下进展的研究工作和取得的研究成果。3、本论文中除引文外,所有实验、数据和有关材料均是真实的。4、本论文中除引文和致的容外,不包含其他人或其它机构已经发表或撰写过的研究成果。5、其他同志对本研究所做的奉献均已在论文中作了声明并表示了意。作者签名:日期:年月摘要随着计算机技术的开展以及计算机

2、网络的逐渐普及。图书使用计算机管理成为必然,基于jsp的图书管理系统应运而生。本系统利用JSP技术实现了一个基于B/S构造的图书管理系统,以MySQL为数据库平台,Tomcat作为WEB效劳器,采用JavaBeanServlet技术进展开发。图书管理系统是以图书馆为背景,该系统实现了设置模块、读者管理模块、图书管理模块、图书借还模块以及更改口令模块功能,为管理员提供了图书的查询、借阅与图书归还等效劳。本文对系统需求进展分析,对系统的数据库进展了设计,并对系统功能模块的详细实现进展了介绍。关键词:B/S构造;JSP技术;MySql;JavaBean;ServletAbstractWiththed

3、evelopmentofputertechnologyandthegrowingpopularityoftheputernetwork.Useputermanagementbecameinevitable,basedontheJSPlibrarymanagementsystemarisesatthehistoricmoment.ThissystemusesJSPtechnologyimplementsabookmanagementsystembasedonB/Sstructure,basedonMySQLdatabaseplatform,TomcatasaWEBserver,JavaBean,

4、Servlettechnologyisadoptedtoimprovethedevelopment.Applicationofbookmanagementsystemisbasedonthelibraryasthebackground,Systemtoachievethesettingmodule,readermanagementmodule,booksmanagementmodule,themoduleandborrowedbookschangepasswordmodulefunction,providestheadministratorwithbooksquery,borrowandret

5、urnbooksandotherservices.Thisarticleanalyzethesystemrequirements,thesystemdatabasedesign,anddetailedimplementationofthesystemfunctionmoduleareintroduced.Keywords:B/Sstructure;JSP;MySql;JavaBean;Servlet1.绪论.1.1.1选题背景1.1.2选题目的和意义.1.1.3本论文主要研究容1.1.4课题研究的预期结果.2.1.5本章小结2.2.系统需求分析3.2.1系统需求分析.用户需求分析

6、功能需求分析性能需求分析4.2.2可行性分析技术可行性分析.经济可行性分析.操作可行性分析.5.2.3开发平台与技术.软件开发平台5.2.4本章小结3.系统总体设计2.3.2系统硬件平台.1系统总体架构设计系统设置模块读者管理模块图书管理模块..4图书借还模块..5系统查询模块..6更改口令模块..7其他模块系统流程分析数据库设计..1系统数据权限说明1.5.

7、3.3.2数据库概念设计.3数据库逻辑构造设计.本章小结.1.8.4.系统详细设计与实现系统登录模块.系统主界面.图书借还模块..1图书借阅..2图书续借..3图书归还.系统查询模块.2.8. TOC o 1-5 h z 图书档案查询2.8. HYPERLINK l bookmark95 o Current Document 图书借阅查询2.9. HYPERLINK l bookmark99 o Current Document 借阅到期提醒2.9. HYPERLINK

8、 l bookmark18 o Current Document 本章小结3.1.系统测试3.2测试要点3.2测试用例3.2登录模块测试3.3图书管理模块测试3.4读者管理模块测试3.4图书借还模块测试3.5系统查询模块测试3.6本章小结3.6总结与展望3.7设计总结3.7展望3.7致3.8参考文献3.8绪论选题背景随着网络技术的高速开展和计算机应用的普及,利用计算机对图书馆的日常工作进展管理势在必行。虽然目前很多大型的图书馆已经有一整套比拟完善的管理系统,但是在一些中小型的图书馆中,大局部工作仍需由手工完成,工作效率比拟低,管理员不能及时了解图书馆各类图书的借阅信息,不便于动态及时地调整图书

9、构造。为了更好的适应当前的读者借阅需求,解决手工管理中存在的许多弊端,越来越多的中小型图书馆正在逐步向计算机信息化管理转变。图书馆的图书管理是一件非常繁杂的工作,建立一套规的体系来管理图书,不仅可以为图书管理员减轻工作负担,而且提高工作效率,使图书管理工作规化,系统化,程序化,防止图书管理的随意性,提高信息处理的速度和准确性,能够及时、准确、有效的查询和修改图书情况,这是非常有必要的。选题目的和意义目的:随着科学技术的开展,数字化管理的优势日趋显著。针对中小型图书馆或图书室管理落后的情况,运用计算机的独特优越性设计实现一个图书馆管理系统,可以给图书管理员在图书管理方面提供以下几个优点:迅速检索

10、出受欢送的图书、查找编辑方便、数据可靠、较大存储量、针对管理员性好、使用时间长、本钱低等。这些优点很好的提高工作效率,使图书馆管理实用化、正规化。意义:图书管理系统的开发是一项有意义、开展潜力很大的工作,而与计算机在信息处理功能方面的结合使用,更是为图书管理带来前所未有的改变,它可以带来意想不到的效益,同时也会为企业的飞速开展提供无限潜力。采用计算机管理信息系统已成为图书管理科学化和现代化的重要标志,它给企业管理来了明显的经济效益和社会效益。主要表达在:1提高图书管理员管理图书的效率,减少了以往借书流程繁琐,杂乱,周期长的弊端。2基于图书管理的全面自动化,可以减少图书信息的添加和维护管理中的漏

11、洞,可以节约不少管理开支,增加企业收入。本论文主要研究容本系统采用动态WEB开发技术,JSP用于页面显示局部,JDBC用于数据库的连接,数据库用于信息的存储。JSP通过对数据库的数据处理,实现图书馆图书的管理。在MyEclipse开发环境下,以J2EE为平台,运用JSP网络编程语言和MySQL数据库完成了B/S模式的图书管理系统。本系统主要实现的功能有查询、借阅、信息管理,其息管理为重点,包括对图书档案、读者档案、借阅信息等的管理。通过对信息输入、编辑增加、删除、查询、修改等功能完成对图书信息、读者信息和借阅信息的操作管理。课题研究的预期结果通过此系统能实现对图书馆书籍、读者资料以及借还书操作

12、的高效管理,系统最终能实现如下功能:系统信息的设置,读者信息和类型的编辑;图书信息和类型的编辑;图书的借阅、续借和归还;图书档案、借阅档案和借阅到期提醒的查询。本课题设计出一个完整的,实用的图书管理系统,并对系统功能详细设计与实现进展了阐述,对系统的流程图、ER图进展了抽象绘制,并对数据库设计进展了详细设计。本章小结介绍了选题的背景;2介绍了选题目的和意义;3对本论文的主要容进展了概括,课题研究的预期结果进展分析。系统需求分析随着计算机网络的开展,越来越多的人利用计算机网络实现所需效劳,网络已深深影响到人们生活的各个方面。基于JSP的图书馆管理系统不仅具有传统图书馆的大局部功能,而且能够满足各

13、类用户的常规与特殊需求,而且操作快捷,实现技术又比拟成熟,因此受到人们的喜爱。该系统主要是为图书管理员设计的,为了方便管理员对图书及读者信息进展管理,对本系统进展了详细的需求分析。管理员不仅可以对图书的档案和读者的档案进展编辑查找,还可以帮助读者对图书进展借阅、续借和归还。管理员还可以根据借阅和归还的时间查询出将要到期的图书,提醒用户归还图书。系统需求分析正确的需求分析是重要的根底和必要的步骤,它决定了系统是成功还是失败。如果没有进展恰当的需求分析,系统就失去了它的完整意义和价值。为了使本系统能够更好、更完善地被设计出来,就必须先进展调查研究。在系统调查的根底上,对新系统的功能进展细致的分析,

14、这样才能够开发出完整的系统设计。用户需求分析博学图书馆管理系统为管理员建立一个突破时间、突破地域限制的平台,补充因人力造成的缺乏,提高图书管理的效率。本系统采用超级管理员和一般管理员划分机制,即用户身份为:超级管理员和一般管理员两种,系统对其各自的功能作用进展划分和限定。超级管理员有使用系统所规定的的所有功能的权限;超级管理员可以对一般管理员进展权限设置。功能需求分析博学图书馆管理系统为图书管理员提供了一个非常方便快捷的平台。管理员可以浏览图书借阅排行,对图书和读者的信息进展编辑,管理借阅者图书的借阅、归还和续借操作。系统应该实现的功能如下:1登录模块:需要输入管理员名称和密码,进入系统。2系

15、统设置模块:图书馆信息:显示图书馆的一些根本信息,对图书馆信息的添加,修改和删除。管理员设置:管理员的权限进展设置、管理员删除和添加管理员。参数设置:办证费和期限的设置。书架设置:书架信息进展查询、修改、删除和添加。3图书管理模块:图书类型管理:查询出所有的图书类型,对图书类型进展添加、修改和删除。图书档案管理:查询出所有的图书档案信息,对图书档案信息进展添加、修改和删除。4读者管理模块:读者类型管理:查询出所有的读者类型,对读者类型进展添加、修改和删除。读者档案管理:查询出所有的读者档案信息,对读者档案信息进展添加、修改和删除。5图书借还模块:图书借阅:查询并显示读者信息,添加读者借书信息。

16、图书续借:查询并显示读者信息,增加图书借阅期限。图书归还:查询并显示读者信息,完成图书归还。6系统查询模块:图书档案查询:根据查询条件,查询出图书档案信息。图书借阅查询:根据查询条件,查询出图书借阅情况。图书到期提醒:根据查询条件,查询出要到期的图书情况。2.1.3性能需求分析操作简单:本系统应便于一般人的使用,系统不应太复杂和繁琐,因此要求系统的操作尽可能简单易行。实时性:为了展现实时性这个特点,博学图书馆管理系统采用准确的时间,及时更新图书借阅信息和图书排行榜信息。代码可读性好:文中的代码尽可能简洁,易懂。可维护性:本系统设计简洁,具有很好的可维护性。针对性:本系统是针对学校图书馆的管理系

17、统,操作简单,具有一定的针对性。可行性分析可行性分析FeasibilityAnalysis也称为可行性研究,可行性研究的目的就是用最小的代价,在尽可能短的时间确定问题是否能够解决。为此,有必要在用户的需求根底上提出假设干种可能的系统实现方案,对每种方案都从技术、经济、操作等方面进展可行性分析。技术可行性分析技术上的可行性分析主要分析技术条件能否顺利完成开发工作,软、硬件能否满足需要。本系统采用JSP开发友好美观的人机界面,便于用户理解、操作。MySQL用于数据库管理,存储量大,能保持数据的完整性和平安性。因此本系统的开发平台已成熟可行。硬件方面,硬件更新速度越来越快,容量越来越大,可靠性越来越

18、高,价格越来越廉价,因此硬件平台也能够满足本系统所需。经济可行性分析首先由于现有的PC系统的软硬环境都能满足目标系统的运行需要,无需再投入资金购置其他设备。其次Tomcat作为WEB效劳器,MySQL作为数据库,JSP作为效劳器端脚本解释器。而这三个软件的源码都是开放的,均可在网上自行下载,因此使用这种方式建立的本钱很低。操作可行性分析博学图书馆管理系统通过运行实践,其操作根本无误。管理员通过一定的规章制度对数据进展管理和维护,以确保其能够满足用户的需求。本系统在操作上是可行的。综上所述,此系统开发目标已明确,在技术和经济等方面都可行,并且投入少、见效快。因此系统的开发是完全可行的。开发平台与

19、技术软件开发平台选择适宜的软件对于一个系统的整体性有很大影响,博学图书馆管理系统中软件平台的选择包括操作系统,Web效劳器软件及数据库的选择。本论文的图书馆管理系统的开发框架选择具有代表性的MVC框架(JSP1+Servlet+JavaBean)进展架构,以WindowsXP作为操作系统,以Tomcat为WEB效劳器,以MySQL为后台数据库,使用JSP语言进展程序开发,开发工具包使用JDK,以实现与数据库的连接和前端浏览器的控制。.MVC模型MVC模式将交互式应用分成模型Model、视图View和控制器Controller三局部,是软件开发过程中比拟流行的设计思想。模型是封装应用程序的数据构

20、造和事务逻辑,集中表达应用程序的状态,当数据状态改变时,能够在视图里表达出来。模型是实际进展数据处理的计算的地方,它封装了数据和对数据的操作。视图是应用和用户之间的接口,它负责将应用显现给用户和显示模型的状态。控制器负责视图和模型之间的交互,控制对用户输入的响应响应程,它主要 的动作:把 分发到相应 模型的改变 视图上。些对象别离 性和复用方式和流负责两方面用户的请求的模型;将及时反响到MVC将这以提高灵活性。MVC模式的构造如图2-1所示:图2-1MVC设计模式的构造图.B/S构造本系统采用的是B/S浏览器/效劳器模式,即一种从传统的二层C/S模式开展起来的新的网络构造模式。在B/S模式中,

21、客户端运行浏览器软件。浏览器访问数据库是向WEB效劳器提出的要求以超文本形式,WEB效劳器承受客户端请求后,将这个请求转化为SQL语法,并交给数据库效劳器,数据库效劳器得到请求后,验证其合法性,并进展数据处理,然后将处理后的结果返回给WEB效劳器,WEB效劳器再一次将得到的所有结果进展转化,变成HTML文档形式,转发给客户端浏览器,以友好的WEB页面形式显示出来。如图2-1所示。图2-2B/S工作模式3.JDBCJDBC是使用嵌式的SQL,由一组Java语言编写的类和接口组成,主要实现三方面的功能:建立与数据库的连接,执彳TSQL声明以及处理SQL执行结果。JDBC可方便地与不同的关系型数据库

22、建立连接,进展相关操作,支持根本的SQL功能。.MySQL概述MySQL2是一个多用户、多线程的SQL数据库,是一个客户机/效劳器构造的应用,很多中小型为降低本钱选择MySQL是由于其体积小、速度快、总体拥有本钱低,尤其是开放源码这一特点。MySQL有其独特的优越性:支持多种编译器进展测试,保证源代码的可移植性;支持多线程,充分利用CPU资源;采用优化的SQL算法,有效提高查询效果;提供管理、检查、优化数据库操作的管理工具,使得其运用围更加广泛。5.ServletServlet3是运彳f在Web效劳器端的Java应用程序,可以生成动态的Web页面,属于客户与效劳器响应的中间层其构造图如2-3所

23、示,实际上jsp在底层就是一个Servlet。Servlet是有生命周期的:当客户端向Web提出第一次Servlet请求时,Web效劳器就会实例化一个Servlet,并调用init()方法;如果已存在Servlet实例,那么直接使用此实例。请求到达,调用service(而法,service(方法将根据客户端的请求方式来决定调用对应的doGet()/doPost方法.当Servlet实例从Web效劳器中消亡时,Web效劳器将会调用Servlet的destroy。方法。同时由于servlet是用java编写的,因此是跨平台的。响应图2-3Servlet构造图.3.2系统硬件平台软硬件平台的选择是本

24、系统建立中遇到的首要问题,不同的软硬件对于系统的整体性能有很大的影响。硬件平台由主机系统、传输介质、网卡和联网设备组成,另外还包括防火墙、网络打印机等附加设备。不同的硬件平台有不同的优缺点,使用何种硬件是设计过程中最关键的决策之一。本系统在目前的阶段对硬件系统的要求比拟低,现在电脑的配置一般都能满足。但是,如果是在投入大规模实际使用时将有较高的硬件要求,而且软件要靠硬件来支撑,软件与硬件结合起来才能完成各种功能,这时,硬件局部也必须考虑。本系统的硬件包括一台Pentium4cpu以上的微机及兼容的CPU,512MB以上最好1GB存的存和VGA彩显一台的显示屏。2.4本章小结1对系统进展了需求分

25、析,分别从用户需求、系统功能和性能需求三个方面进展全面分析。2对系统进展可行性分析,包括技术可行性、经济可行性和操作可行性分析。3.系统总体设计系统总体架构设计根据图书馆管理需求的需求分析,设计出本管理系统有六大功能模块,一是用于设置系统的一些根底参数,主要包括图书馆信息、管理员设置、参数设置、书架设置的系统设置模块;二是用于对读者类型和读者档案信息进展增删改查的读者管理模块;三是用于用于对图书类型和图书信息进展增删改查的图书管理模块;四是用于实现图书的借阅、续借和归还等功能的图书借阅模块;五是用于实现图书和借阅信息的查询,主要包括图书档案查询、图书借阅查询、借阅到期提醒的系统查询模块;六是于

26、修改管理员的密码的更改口令模块。因此,图书馆管理图书馆信息管理员设置参数设置书架设置读者类型管理读者档案管理图书类型管理图书档案管理图书借阅图书续借图书归还图书档案查询图书借阅查询借阅到期提醒更改口令退出系统系统的整体架构设计图如3-1所示:图3-1系统总体构造图系统设置模块在本模块中包含四个小模块:图书馆信息、管理员信息设置、书架设置和参数设置。系统设置模块的设计构造图如图3-2所示。.图书馆信息:显示图书馆的一些根本信息,对图书馆信息进展编辑。.管理员设置:显示图书管理员,对图书管理员进展权限的设置、添加和删除。.书架设置:包括书架名称的添加,修改以及删除功能。.参数设置:对办证的费用和期

27、限进展修改。系统设置书架设置添加书架图书馆信息图3-2系统设置模块构造图3.1.2读者管理模块在本模块中包含两个小模块:读者类型管理和读者档案管理。读者管理模块的设计构造图如图3-3所示。读者管理添加读者类型1读者类型设置修改读者类型删除读者类型添加读者档案读者档案管理修改读者档案删除读者档案图3-3读者管理模块构造图.读者类型管理:包括读者类型的添加和现有读者类型的修改及删除。.读者档案管理:包括现有读者信息的查询,新读者信息的添加,现有读者信息的修改及删除。3.1.3图书管理模块在本模块中包含两个小模块:图书类型管理和图书档案管理。读者管理模块的设计构造图如图3-4所示。图书管理图3-4图

28、书管理模块构造图.图书类型设置:包括现有图书类型信息的查询,新图书类型的添加和现有图书类型的修改及删除。.图书档案管理:包括现有图书相关信息的查询,新图书信息的添加和现有图书信息的修改及删除。.1.4图书借还模块在本模块中包含两三个小模块:图书借阅、图书续借和图书归还。图书借还模块的设计构造图如图3-5所示。图书借还图书借阅查询读者信息借阅图书查询读者信息图书归还归还图书图3-5图书借还模块构造图1图书借阅:根据读者卡号查询读者信息和借阅信息,再根据图书编号借阅图书。即数据库中插入一条借书记录,该记录包括读者ID、图书ID、借出日期、还书期限及相关其它信息。2图书归还:主要功能是输入读者卡号查

29、询读者信息和为归还的图书信息,点击归还超,归还图书。3图书续借:完成续借相关功能,输入读者卡号和图书编号,完成续借过程。.1.5系统查询模块在本模块中包含两三个小模块:图书档案查询、图书借阅查询和借阅到期提醒。系统查询模块的设计构造图如图3-6所示。系统查询图3-6系统查询模块构造图.图书档案查询:根据相应的图书信息对所有书籍进展所需查询。此查询包括:图书编号、图书类别、图书名称、作者、及书架。.图书借阅查询:根据相应的借阅信息进展所需查询。此查询包括:图书编号、读者卡号、读者名称及借阅时间。.借阅到期提醒:根据相应的图书信息归还日期进展查看是否到期。更改口令模块在本模块中,主要实现管理员密码

30、的更改功能。其他模块.首页显示图书借阅排行榜;.左端显示今日日期时间;.最下端显示一些提示信息。系统流程分析进入本系统首先进展身份验证,本系统设置了两种用户:超级管理员和一般管理员。验证成功前方可进入系统模块根据需要进展相关操作。如图3-7所示,用户输入用户名和密码,通过连接数据库,检查正确性,假设输入不正确,系统提示重新输入;否那么按数据库权限进入相应NO子系统。返回主界面图3-7系统总体流程图图3-8系统子模块流程图进入相应子系统后如图3-8所示,按实际的需求进展功能选择,然后根据功能菜单进步操作。操作完之后,假设需要继续使用子系统的功能,那么点击相应的子功能菜单进展操作。数据库设计系统数

31、据权限说明本系统有两种用户:超级管理员与一般管理员。根据系统设计和功能模块分析,超级管理员有本系统的所有模块的使用权限,一般管理员有本系统模块中的一个或两个或全部的使用权限。一般管理员的权限需要由超级管理员进展权限设置,方可登录系统进展操作。数据库概念设计根据图书馆管理系统的功能需求,通过分析数据库,得到相应的数据项和数据构造,设计出能够满足用户需求的各种实体,为后面的逻辑构造设计打下根底。以下给出几个重要实体ER图。.图书档案实体图书档案实体包括图书id、图书编号、书名、类型、作者、译者、定价、页码、书架、录入时间、操作员和是否删除等属性。图书馆档案实体E-R图如下列图3-9所示。.读者档案

32、实体读者档案实体包括读者id、性别、读者卡号、职业、出生日期、有效证件、证件、电子、登记日期、操作员、类型和备注等属性。读者档案实体E-R图如下列图3-10所示。图3-10读者档案实体E-R图.借阅档案实体借阅档案实体包括借阅id、读者卡号、图书编号、借阅时间、应还时间、操作员和是否归还等属性。借阅实体E-R图如图3-11所示。图3-11借阅档案实体E-R图4.归还档案实体归还档案实体包括归还id、读者卡号、图书编号、归还时间和操作员等属性。归还档案实3.3.3数据库逻辑构造设计数据库的逻辑构造设计是在数据库概念构造设计完成后,由数据库概念构造转化而来的。一个符合规的数据库设计不仅可以在设计的

33、时候让程序设计员逻辑更为清晰,更能让分析程序的人容易理清数据间的关系。本系统数据库采用MySQL数据库,系统数据库名称db_library,其中包含12数据表来实现对对数据的存储、调用。.图书信息表图书ID,图书名称,图书类型,作者,译者,ISBN号,价格,所在书架,入库时间,操作员.图书类型表图书类型ID,名称,可借阅天数.读者信息表读者ID,性别,读者卡号,读者类型,出生年月,有效证件,证件,登记日期,操作员.读者类型表名称,可借阅图书本数.图书借阅信息表图书ID,读者ID,借出时间,应还时间,是否归还,操作员.图书归还信息表图书ID,读者ID,归还时间,操作员.管理员信息表管理员名称,密

34、码.图书馆信息表图书馆ID,名称,馆长,地址,创立日期,简介.书架设置表书架ID,书架名称.信息表ISBN,名称.参数设置表参数ID,办证费,有效期限.权限表管理员ID,系统设置,读者管理,图书管理,图书借还、系统查询系统逻辑构造设计,如表4-1至表4-6所示。表4-1图书信息表(tb_bookinfo)字段名称属性长度说明barcodeVarchar30图书编号booknameVarchar70:书名authorVarchar30作者translatorVarchar30译者ISBNVarchar20priceFloat8,2图书价格bookcasevarchar10图书所在书架pageIn

35、t10图书页数inTimeDATE录入时间operatorVarchar30操作员delTinyint1是否删除typeidInt10回idInt11keyid自动编号图书信息表用于存储图书馆中的图书相关信息,其中的相关信息是在由操作员进展添加完善,此表主要用于图书管理员对馆中图书的。表4-2图书借阅信息表(tb_borrow)字段名称属性长度说明idint10Key(id自动编号)readeridint10以的idbookidint10图书idborrowTimeDATE借书时间backtimeDATE应还时间operatorvarchar30操作员IfbackTinytin1是否归还图书借

36、阅信息表用来保存图书借阅信息,方便修改图书借阅信息。表4-3图书归还信息表(tb_giveback)字段名称属性;长度说明Idint10Key(id自动编号)readeridint11以的idbookidint11图书idbackTimeDATE归还时间operatorvarchar30操作员图书归还信息表用来保存图书归还信息,方便修改图书归还信息。表4-4读者信息表(tb_reader)字段名称属性长度说明idInt10Key(id自动编号)nameVarchar30sexVarchar4性别barcodeVarchar30读名编pvocationVarchar50职业birthdayDAT

37、E出生日期paperTypeVarchar10启效证件paperNOVarchar20证件telVarchar20EmailVarchar100电子createDateDATE登记日期operatorVarchar30操作员remarkTEXT备注typeidInt11旧图书归还信息表用来保存图书归还信息,方便修改图书归还信息。表4-5图书馆信息表(tb_library)字段名称属性长度说明IdIntUnsigned10Key(id自动编号)LibrarynameVarchar50图书馆名称CuratorVarchar10馆长TelVarchar20AddressVarchar100Email

38、Varchar100联系UrlVarchar100图书馆网址createDateDATE建馆时间IntroduceTEXT图书馆简介图书馆信息表用来保存图书馆信息,方便修改图书馆信息。表4-6权限表(tb_purview)字段名称属性长度说明IdInt11Key(管理员id号)syssetTinyint1系统设置readersetTinyint1读者管理booksetTinyint1图书管理borrowbackTinyint1图书借还sysqueryTinyint1系统查询权限表用来保存管理员的权限信息,该表中的id字段与管理员信息表中的id字段相关联。3.4本章小结.本章介绍了博学图书馆管理

39、系统的总体架构设计,以及各模块实现的主要功能;.根据管理员的权限进展了流程分析;.分析数据库的概念与逻辑构造设计;.分析了系统的开发平台和相关技术。4.系统详细设计与实现本章对图书馆管理系统图书借还模块中的图书借还、图书续借和图书归还以及系统查询中的图书档案查询、借阅信息查询和到期提醒查询,给出了详细的实现过程、关键代码说明和效果图。在本章的首页,首先介绍了系统登录的实现,数据库的,具体介绍如下所示。系统登录模块本系统需要先登录才能进入操作模块,进入相应的模块后管理员可进展相关操作,登录时先输入用户名和密码,当点击【登录】按钮后就会对管理员的名称和密码进展验证,假设用户名与密码正确,那么进入主

40、界面进展相应的模块操作;如果未输入用户名、密码或者输入有误,系统会通过JavaScript进展判断,并给予提示信息。系统登陆页面实现效果图如4-1所示。埃唠囹书馆管理系统DO XUE KIDRARYCccyfipht工的13vvvncun面项蹿花学理本站请使用印噱以上版率1鹤4笛蠲糠随示渤果图4-1系统登录界面关键代码说明(1渔进入主页面之前,首先对输入的数据进展验证。编写自定义的JavaScript函数,用于管理员名称和密码的非空判断。functioncheck(form)if(.value=)alert(请输入管理员名称!);.focus()return

41、false;/判断管理员名称是否为空if(form.pwd.value=)alert(请输入管理员密码!);form.pwd.focus();returnfalse;/判断管理员密码是否为空(2渔验证之前,要对数据库进展连接,在文件ConnDB.java进展数据库的连接,关键代码如下:publicclassConnDBpublicConnectionconn=null;publicStatementstmt=null;publicResultSetrs=null;Stringurl=jdbc:mysql:localhost:3306/db_library?useUnicode=true&cha

42、racterEncoding=utf-8;Stringusername=root;Stringpassword=123;publicConnectiongetConnection()定义getConnection()方法获取连接tryClassforName(.mysql.jdbc.Driver);conn=DriverManager.getConnectionurl,usernamepassword);catch(Exceptione)e.printStackTrace();returnconn;连接上数据库之后,就调用数据库中的tb_manage或进展匹配。匹配成功之后就进入系统的主界面,

43、匹配失败就跳到error.jsp页面提示你输入的管理员名称或管理员密码有误如图4-2所示。错晨提示信.息:您输入的管理员名称或密码错误!遁回图4-2登录错误提示图系统主界面管理员通过“系统登录模块的验证后,可以登录到图书馆管理系统的主界面。系统主界面主要包括Banner信息栏、导航栏、排行榜和信息4局部。其中,导航栏中的功能菜单将根据登录管理员进展显示。例如,系统管理员mr登录后,将拥有整个系统的全部功能,因为它是超级管理员,并在Banner信息栏显示当前登录的用户。系统主界面实现具体效果图4-3所示。图4-3系统主页面效果图关键代码说明当用户通过验证之后,就进入了main.jsp页面,在该页

44、面中实例化一个操作对象bdao,调用bookBorrowSort()方法查询借阅的信息并保存在ArrayList集合中并返回到main.jsp中显示出来。主要代码如下:BorrowDaobdao=newBorrowDao();/实例化BorrowDao的一个对象bdaoArrayListal=bdao.bookBorrowSort();/调用bdao中的bookBorrowSort()方法ArrayListal=newArrayList();/创立并实例化ArraryList对象BorrowFormform=null;/声明BorrowForm对象ResultSetrs=conn.execut

45、eQuery(sql);/执行查询语句whilers.next()/查询出借阅的图书信息在系统主界面中,调用了数据库中的tb_bookinfo、tb_borrow、tb_publishing和tb_booktype进展连接查询,将查询到的信息显示在mian.jsp页面上。图书借还模块图书借阅登录系统之后,选择“图书借还/图书借阅命令,进入到图书借阅页面,在该页面中的“读者卡号文本框中输入读者卡号如:20140505000004后,单击“确定按钮,系统就会自动检索出该读者的根本信息和未归还的借阅图书信息。如果找到对应的读者信息,就将其显示在页面中。因为图书编号是图书的唯一标识,有可能两个人会编写

46、同一本书,此时输入图书编号之后,单击“确定按钮,就完成了借书。图书借阅界面的运行结果如图4-4所示。加博旭15aM日星期三13.3LMJ首胃I壬综以置I4些理应#但理I因书岩江I茎绕苴海I更改畛I谢tl程自当前位置:骷书房近用信句.L-:借阅涔若蛤海师卡号j20H06QE000004_诞姓起:工亦如身份证性卧证件号吗T连岩之别:司借戴里:学生a困3?137371948507R=i7:前由东据:*留书隔土9737301014|褚定恬闻园书石布借同时日应还时而出制书架宝珀玩)行曲用三生生潮EDL4-05-052C14-Ce-EO邮电出版社X-355口Ldr,iQ开发宝曲B3L1-03-122014

47、-ce-04制林丁廿出所社V279D加V5开发其鳖阅更大全014-05-14n1正田的人艮如电出版社K2刘口BDL4-0G-14机械,世出世社A7BB.0图4-4图书借阅界面tb_readerType 中的关键代码说明(1)不同类型的读者可以借阅不同的图书,并且该数量由读者类型表可借数量number决定,所以这里编写了自定义的JavaScript函数checkbook。,用于判断当前选择的读者是否还可以借阅新的图书,同时该函数还具有判断是否输入读者卡号的功能,代码如下:functioncheckbook(form)if(form.barcode.value=乂判断是否输入读者卡号alertf请

48、输入读者卡号!);form.barcode.focus()return;if(form.inputkey.value=)/判断查询关键字是否为空alert(请输入查询关键字!);form.inputkey.focus();return;if(form.number.value-form.borrowNumber.value=0)/判断是否可以再借阅其他图书alert(您不能再借阅其他图书了!);return;form.submit();提交表单/script(2)当点击图书借阅这个命令时,首先进入的是BorrowServlet类中,调用ReaderDao类中的queryM(readerform

49、)方法查询出读者信息和BorrowDao类中的borrowinfo()方法查询出读者的借阅信息。主要代码如下:readerform.setBarcode(request.getParametd典arcode);/获取读者卡号ReaderFormreader=(ReaderForm)rdao.queryM(readerform);/调用ReaderDa。中的queryM方法查询读者信息request.setAttributefreaderinfo,reader)/保存读者信息、至Urequestrequest.setAttributefborrowinfo,borrowdao.borrowinf

50、o(request.getParameterbarcode)查询读者的借阅信息在本模块中,将数据库表tb_reade丽tb_readerTypei接查询出读者信息。根据读者卡号,查询数据表tb_borrow和tb_bookinfo左连接查询出图书借阅信息,再分别和tb_publishing、tb_bookcasei接查询出信息和书架信息。4.3.2图书续借登录系统之后,选择“图书借还/图书续借命令,进入图书续借页面。界面有两个局部的设计,一是查询并显示读者的信息,二是用于显示读者的借阅信息和一个续借的超。在该页面中“读者卡号”文本框中输入读者的卡号如20140505000003,单击确定按钮,

51、系统会自动检索出该读者的根本信息和未归还的借阅图书信息。如果找到对应的读者信息,就将其显示在页面中,此时单击“续借超,即可续借指定图书续借时间为一星期。图书续借界面的运行结果如图4-5所示。图4-5图书续借界面关键代码说明(1通单击“续借超时,还需要将读者卡号和借阅ID号一起传到图书续借的Servlet控制类中,代码如下:ahref=/library/BorrowServlet?action=bookrenew&barcode=&id=续借(2)当点击图书续借这个命令时,它会跳到BorrowServlet这个类中,并传递一个action=bookrenew。BorrowServlet类接收这个

52、action,并且与现有的action匹配,然后跳到与之相匹配的那个方法。调用ReaderDao类中的queryM(readerform)方法查询读者信息和BorrowDao类中的borrowinfo()方法查询借阅信息。/图书续借的方法bookrenew()readerform.setBarcode(request.getParametd典arcode);/获取读者卡号ReaderFormreader=(ReaderForm)rdao.queryM(readerform);/根据读者卡号查询读者信息request.setAttribute(readerinfo,reader)/保存读者信息、

53、至Urequest中request.setAttribute(borrowinfo,borrowdao.borrowinfo(request.getParameterbarcode);/根据读者的卡号调用Dao中的方法查询读者的借阅信息/保存图书续借信息方法renew()Stringsql0=SELECTbookid,backtimeFROMtb_borrowWHEREid=+id+;/根据借阅ID查询图书ID的SQL语句Stringsql1=selectt.daysfromtb_bookinfobleftjoin+tb_booktypetonb.typeid=t.idwhereb.id=+r

54、s1.getInt+;/获取可借天数的SQL语句Stringsql=UPDATEtb_borrowSETbacktime=+backAddTime+whereid=+id+;/更新归还时间完成续借在本模块中,将数据库表tb_reader和tb_readerType连接查询出读者信息。根据读者卡号,查询数据表tb_borrow和tb_bookinfo左连接查询出图书借阅信息,再分别和tb_publishing、tb_bookcase连接查询出信息和书架信息。4.3.3图书归还登录系统之后,选择“图书借还/图书归还命令,进入图书归还页面。界面有两个局部的设计,一是查询并显示读者的信息,二是用于显示

55、读者的借阅信息和一个归还的超。在该页面中“读者卡号”文本框中输入读者的卡号如20140505000003,单击确定按钮,系统会自动检索出该读者的根本信息和未归还的借阅图书信息。如果找到对应的读者信息,就将其显示在页面中,此时单击归还超,即可归还指定图书,图书归还界面的运行结果如图4-6所示。图4-6图书归还界面关键代码说明(1堆单击归还超时,还需要将读者卡号和借阅ID号和操作员一起传到图书归还的Servlet控制类中,代码如下:ahref=BorrowServlet?action=bookback&barcode=&id=&operator=归还(2)当点击图书归还这个命令时,它会跳到Borr

56、owServlet这个类中,并传递一个action=bookback。BorrowServlet类接收这个action,并且与现有的action匹配,然后跳到与之相匹配的那个方法。调用ReaderDao类中的queryM(readerform)方法查询读者信息和BorrowDao类中的borrowinfo()方法查询借阅信息。这两个方法的关键代码如下:实现图书归还的方法bookback()if(request.getParameter(d)!=null)intid=Integer.parseIn(request.getParamete(d);获取借阅IDStringoperator=reque

57、st.getParameter(operator);获取页面中传递的操作员信息if(id0)/执行归还操作intret=borrowdao.back(id,operator);/调用back()方法执行图书归还操作执行归还操作的方法back()J前翳囹有菌管理系绿H* U k LIB HAkA 1首页 茶鳏也求I读者营但I国T1百里I凰T能江I .系好善词I更瓦口吩 理出系时士而堂录月户;nr即14耳QG月岫口 星期二 0T*/hhii归还度若初请营午与291405网。其。3而苣it屯;性别;男翻微型:3三证件经5k身第旺证洋三日;32122C239435078S1可信前至:4册图书锚借用E寸

58、间出防牡是tn玩1应用井在与谢2014-05-20人民由1电工期社A-155.0芝口旧-EFbZOI4-J5-Z现和工版社A-I的0/根据借阅ID获取t者ID和图书IDStringsql0=SELECTreaderid,bookidFROMtb_borrowWHEREid=+id+ResultSetrs1=conn.executeQuery(sql0);/执行查询语句Stringsql1=INSERTINTOtb_giveback(readerid,bookid,backTime+”.operator)VALUES(+readerid+,+bookid+,+date+,+operator+);

59、/保存归还信息intret=conn.executeUpdate(sql1);/执行更新语句在本模块中,将数据库表tb_reade丽tb_readerTypei接查询出读者信息。根据读者卡号,查询数据表tb_borrow和tb_bookinfo左连接查询出图书借阅信息,再分别和tb_publishing、tb_bookcasei接查询出信息和书架信息.系统查询模块图书档案查询登录系统之后,选择“系统查询/图书档案查询命令,进入图书档案查询页面。界面有两个局部的设计,一是下拉菜单和一个文本框,二是用于显示的图书信息。在该页面中,在下拉菜单中选择要查询的条件,在文本框中输入关键字,单击确定按钮系统

60、会自动检索出对应的图书信息并在下面显示出来。图书档案查询页面实现效果如图4-7所示。&横营幽泽盘管理系统DOKL匚LIDRARYI初4年05月N口星期一1D4T.42首口I餐领I历I添首苣【里I3WS|用晒借式I硒遣词I电口令空前也工:品就正旧)因科档案三询人W请港驿直而侏福;用&下1直回赵书编修出版社5707302210327hLjT市m战二中芮乌大学匕版计*-1tTSTHElGEgTEJw的班友奥型眼一谶人例出版社mni”能ins即据库开片人玛迪出版社rraTiiszwios林也。i册肉机怔北F航t育苗E%有华夫电脆出A-2方前负I处1,灯f喷一艮图4-7系统登录界面JavaScript函

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论