基于jsp的图书管理系统的设计与实现(论文)_第1页
基于jsp的图书管理系统的设计与实现(论文)_第2页
基于jsp的图书管理系统的设计与实现(论文)_第3页
基于jsp的图书管理系统的设计与实现(论文)_第4页
基于jsp的图书管理系统的设计与实现(论文)_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

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

文档简介

分类号TP311UDCD10621408200923910密级公开编号2005122090成都信息工程学院学位论文基于JSP的图书管理系统的设计与实现论文作者姓名申请学位专业信息安全申请学位类别工学学士指导教师姓名(职称)王翔(讲师)论文提交日期2009年06月01日基于JSP的图书管理系统的设计与实现摘要随着网络技术的发展、计算机应用水平的提高的扩大,原来系统的时效性、数据的正确性、操作的方便性上都存在不足,已影响到系统的正常使用。经过考察比较,决定利用自己的力量对图书管理系统重新设计,使系统能利用软件开发技术的成果,方便图书的管理。图书管理系统是典型的信息管理系统。系统介绍了图书系统的开发过程,设计中遇到的问题及解决方法以及提高当前应用程序或系统开发进度和改善工作性能利用其提供的各种面向对象的开发工具,首先在短时间内建立系统应用原型,然后,对初始原型系统进行需求迭代,不断修正和改进,直到形成用户满意的可行系统。本次课程设计利用JSP开发工具和SQL2000数据库来开发这个图书管理系统。该系统要解决的图书管理所要解决的问题,可以满足图书管理基本要求,包括添加、管理等功能。该系统能根据用户的需求,快捷方便的为读者提供借阅服务。关键词图书管理系统信息管理JSPTHEDESIGNANDIMPLEMENTATIONOFLIBRARYMANAGEMENTSYSTEMABSTRACTALONGWITHNETWORKINGSDEVELOPMENT,THECOMPUTERAPPLICATIONLEVELSENHANCEMENTSEXPANSION,SYSTEMSEFFECTIVENESS,THEDATAACCURACY,INTHEOPERATIONCONVENIENCESHASTHEINSUFFICIENCYORIGINALLY,HASAFFECTEDSYSTEMSNORMALUSEAFTERTHEINSPECTIONCOMPARISON,DECIDEDTHATUSESOWNSTRENGTHTOTHELITERATUREMANAGEMENTSYSTEMMANAGEMENTSYSTEMREDESIGN,ENABLESTHESYSTEMTOUSETHESOFTWAREDEVELOPMENTTECHNOLOGYTHEACHIEVEMENT,CONVENIENTLITERATUREMANAGEMENTTHELITERATUREREGISTRATIONMANAGEMENTSYSTEMMANAGEMENTSYSTEMISTHETYPICALINFORMATIONMANAGEMENTSYSTEMTHESYSTEMINTRODUCEDTHELITERATUREREFERRALSYSTEMSPERFORMANCEHISTORY,INTHEDESIGNMEETSTHEQUESTIONANDTHESOLUTIONASWELLASENHANCETHECURRENTAPPLICATIONPROCEDUREORTHESYSTEMDEVELOPMENTPROGRESSANDTHEIMPROVEMENTOPERATINGPERFORMANCEEACHKINDOFOBJECTORIENTEDDEVELOPMENTKITWHICHPROVIDESUSINGIT,FIRSTESTABLISHESTHESYSTEMAPPLICATIONPROTOTYPEINASHORTTIME,THEN,CARRIESONTHEDEMANDITERATIONTOTHEINITIALPROTOTYPESYSTEM,REVISESUNCEASINGLYANDIMPROVES,UNTILFORMSTHEUSERSATISFIEDFEASIBLESYSTEMTHISCURRICULUMPROJECT2000DATABASESDEVELOPSTHISLITERATUREMANAGEMENTSYSTEMMANAGEMENTSYSTEMUSINGTHEJSP20DEVELOPMENTKITSANDSQLSERVERTHISSYSTEMMUSTSOLVETHELITERATUREADMINISTRATIONCENTERMUSTSOLVETHEQUESTION,MAYSATISFYTHELITERATUREMANAGEMENTESSENTIALREQUIREMENTS,INCLUDINGINCREASE,INQUIRY,MANAGEMENTANDSOONTHREEASPECTFUNCTIONSTHISSYSTEMCANACTACCORDINGTOTHEUSERTHEDEMAND,WHATFACILITATESQUICKLYISTHEREADERPROVIDESTHESERVICEKEYWORDLITERATUREMANAGEMENTSYSTEM、INFORMATIONMANAGEMENT、JSP目录论文总页数23页1引言111系统开发背景112系统目标113系统开发环境12相关技术介绍221JSP技术概述222JDBC技术概述223SERVLET技术概述224MVC模式概述23系统需求分析431功能需求432系统功能分析及说明4321系统功能分析4322系统数据分析533性能需求534系统业务流程图54系统设计741系统架构742数据库设计8421数据库需求分析8422数据库概念结构设计9423数据库逻辑结构设计943系统功能模块设计12431系统功能模块设计12432模块功能设计125系统实现1351数据库连接池的实现1352用户登陆的实现1553图书借阅的实现1654添加用户的实现1755系统界面设计196系统测试1961界面测试1962功能测试20总结20参考文献20致谢22声明231引言随着人类社会的发展,人类对知识的需求也不断地增长。在这种形势下,书籍就渐渐地成为人们获取并增长知识的主要途径,而图书馆就自然而然地在人们的生活中占据了一定的位置,随着图书馆规模的不断扩大,图书数量也相应的增加,有关图书的各种信息量也成倍增加,面对着庞大的信息量,传统的人工方式管理会导致图书馆管理上的混乱,人力与物力过多浪费,图书馆管理费用的增加,从而使图书馆的负担过重,影响整个图书馆的运作和控制管理,因此,必须制定一套合理、有效,规范和实用的图书管理系统,对图书资料进行集中统一的管理。如何科学地管理图书馆不但关系到读者求知的方便程度,也关系到图书馆的发展,因此,开发一套完善的公共图书馆管理系统就必不可少了。11系统开发背景近年来,随着图书馆规模的不断扩大,图书数量也相应的增加,有关图书的各种信息量也成倍增加,面对着庞大的信息量,传统的人工方式管理会导致图书馆管理上的混乱,人力与物力过多浪费,图书馆管理费用的增加,从而使图书馆的负担过重,影响整个图书馆的运作和控制管理,因此,必须制定一套合理、有效,规范和实用的图书管理系统,对图书资料进行集中统一的管理。另一方面,IT产业和INTERNET获得了飞速发展,计算机应用已渗透到了各个领域,引起信息管理的革命,实现了信息的自动化处理,提高了处理的及时性和正确性。图书管理工作面对大量的可模块化处理的信息,是当今信息革命的一个重要阵地。图书管理信息系统就是采用现代化的信息管理方式代替手工管理方式,提高图书管理工作效率,作到信息的规范管理,科学统计和快速查询,让图书馆更好的为学校,社会服务。12系统目标本系统是专为小型图书馆设计的自动化集成系统。能完成图书信息管理、用户信息管理、借书还书管理等功能,适合管理人员少,藏书量不大的单位。所有工作模块集中在同一界面,工作流程一目了然,方便工作人员操作掌握。13系统开发环境PC机一台MICROSOFTWINDOWSXPPROFESSIONAL512M内存编程软件MYECLIPSE601、APACHETOMCAT6014、SUNJDK16U2、MICROSOFTSQLSERVER2000、SQLSERVERDRVIERFORJDBCJDBC驱动2相关技术介绍21JSP技术概述JSPJAVASERVERPAGES是由SUNMICROSYSTEMS公司倡导、许多公司参与一起建立的一种动态网页技术标准。JSP技术有点类似ASP技术,它是在传统的网页HTML文件HTM,HTML中插入JAVA程序段SCRIPTLET和JSP标记TAG,从而形成JSP文件JSP。WEB服务器在遇到访问JSP网页的请求时,首先执行其中的程序段,然后将执行结果连同JSP文件中的HTML代码一起返回给客户。插入的JAVA程序段可以操作数据库、重新定向网页等,以实现建立动态网页所需要的功能。22JDBC技术概述JDBC(JAVADATABASECONNECTIVITY,JAVA数据库连接)是一种用于执行SQL语句的JAVAAPI,可以为多种关系数据库提供统一访问,它由一组用JAVA语言编写的类和接口组成。JDBC为工具/数据库开发人员提供了一个标准的API,据此可以构建更高级的工具和接口,使数据库开发人员能够用纯JAVAAPI编写数据库应用程序23SERVLET技术概述SERVLET是一种独立于平台和协议的服务器端的JAVA应用程序,可以生成动态的WEB页面。它担当WEB浏览器或其他HTTP客户程序发出请求,与HTTP服务器上的数据库或应用程序之间的中间层。SERVLET是位于WEB服务器内部的服务器端的JAVA应用程序,与传统的从命令行启动的JAVA应用程序不同,SERVLET由WEB服务器进行加载,该WEB服务器必须包含支持SERVLET的JAVA虚拟机。24MVC模式概述MVCMODELVIEWCONTROLLER模式,即模型视图控制器模式,其核心思想是将整个程序代码分成相对独立而又能协同工作的3个组成部分。这样的运行机制可以起到分工明确,指责清晰,各尽所长的效果。而在软件开发的过程中,这样的开发方式无疑可以有效地区分不同的开发者,尽可能减少彼此之间的互相影响。充分发挥每个开发者的特长。这在开发大型复杂的WEB项目时体现得尤为突出。MVC设计模式中,事件一般是指客户端WEB浏览器提交的各种不同请求,这些请求由控制器进行处理,控制器根据事件的类型来改变模型或各个视图,视图也可以接受模型发出的数据更新的通知,依据数据更新的结果调整视图效果,呈现在用户面前而模型也可以通过视图所获得的用户提交的数据进行具体业务逻辑的处理。图1MVC设计模式的结构25MD5概述MD5的全称是MESSAGEDIGESTALGORITHM5,在90年代初由MIT的计算机科学实验室和RSADATASECURITYINC发明,经MD2、MD3和MD4发展而来。模型视图1视图2控制器事件改变改变改变更新更新获得数据获得数据MESSAGEDIGEST泛指字节串MESSAGE的HASH变换,就是把一个任意长度的字节串变换成一定长的大整数。请注意我使用了“字节串”而不是“字符串”这个词,是因为这种变换只与字节的值有关,与字符集或编码方式无关。MD5将任意长度的“字节串”变换成一个128BIT的大整数,并且它是一个不可逆的字符串变换算法,换句话说就是,即使你看到源程序和算法描述,也无法将一个MD5的值变换回原始的字符串,从数学原理上说,是因为原始的字符串有无穷多个,这有点象不存在反函数的数学函数。MD5的典型应用是对一段MESSAGE字节串产生FINGERPRINT指纹,以防止被“篡改”。举个例子,你将一段话写在一个叫READMETXT文件中,并对这个READMETXT产生一个MD5的值并记录在案,然后你可以传播这个文件给别人,别人如果修改了文件中的任何内容,你对这个文件重新计算MD5时就会发现。如果再有一个第三方的认证机构,用MD5还可以防止文件作者的“抵赖”,这就是所谓的数字签名应用。MD5还广泛用于加密和解密技术上,在很多操作系统中,用户的密码是以MD5值(或类似的其它算法)的方式保存的,用户LOGIN的时候,系统是把用户输入的密码计算成MD5值,然后再去和系统中保存的MD5值进行比较,而系统并不“知道”用户的密码是什么。一些黑客破获这种密码的方法是一种被称为“跑字典”的方法。有两种方法得到字典,一种是日常搜集的用做密码的字符串表,另一种是用排列组合方法生成的,先用MD5程序计算出这些字典项的MD5值,然后再用目标的MD5值在这个字典中检索。3系统需求分析31功能需求(一)作为书籍管理员对图书管理系统的要求有1能按各种方式(比如书名、编号、作者)查询图书馆的藏书情况。2能按各种方式(比如读者编号、读者姓名、姓别)查询读者情况。3能对图书进行添加、删除。4能够查询自己的基本资料。(二)作为借阅管理员对图书管理系统的要求有1、能够对图书进行借阅、归还、续借的操作。2、能按各种方式(比如书名、编号、作者)查询图书馆的藏书情况。3、能按各种方式(比如读者编号、读者姓名、姓别)查询读者情况。4、能够查询自己的基本资料。(三)作为系统管理员对图书管理系统的要求有1能够对图书进行借阅、归还、续借的操作。2能够对图书进行查询和管理。3能够对读者进行查询和管理。4能够对查看所有用户的资料并管理用户。32系统功能分析及说明321系统功能分析系统功能分析是在系统开发的总体任务的基础上完成。本系统需要完成的功能主要有5部分(一)图书基本情况的录入,修改,删除等基本操作。1书籍类别标准的制定,类别信息的输入,包括类别编号,类别名称,备注信息等。2书籍类别信息的查询,修改,包括类别编号,类别名称,备注信息等。3书籍信息的输入,包括书籍编号,书籍名称,书籍类别,作者名称,出版社名称,备注信息等。(二)个人信息模块。1增加,修改读者信息。2修改用户密码。(三)实现借书功能。1借书信息的输入,包括借书信息编号,读书编号,读者姓名,书籍编号,书籍名称,借书日期,备注信息等。2借书信息的查询,修改,包括借书信息编号,读者编号,读者姓名,书籍编号,书籍名称,借书日期,备注信息等。(四)实现还书功能。1还书信息的输入,包括还书信息编号,读者编号,读者姓名,书籍编号,书籍名称,借书日期,还书日期,备注信息等。2还书信息的查询和修改,包括还书信息编号,读书编号,读者姓名,书籍编号,书籍名称,借书日期,还书日期,备注信息等。(五)能方便的对图书进行查询。322系统数据分析根据以上功能,将图书管理系统的数据分为数据输入部分主要包括图书基本信息的录入、借阅人基本信息的录入、用户基本信息的录入。数据输出部分主要是各种统计查询,包括根据图书信息(如书名、作者、出版社等)查阅图书及其借阅信息等。数据处理部分主要涉及借阅和归还的处理,如一本书借出后,必须在数据库中将该书标记为已借出,以防出现数据库中有书但图书馆无书的情况;一本书归还后,同样必须在数据库中将其标记为已经归还,以便再次借出。33性能需求该管理子系统系统主要实现的是基础数据的录入,发布,更新,因此,不管对图书管理的需要或是学生借书信息的需要,网上的数据必须具有高度的完整性和准确性,这就要求系统的高度安全性,可维护性,可靠性及灵活性。比如图书基础类型管理,图书管理员在录入图书信息的时候或是数据库出现异常而产生差错,可能会影响学生借书出错的情况,这就要求系统具有高度的安全性,可维护性,可靠性和灵活性。另外,系统的操作界面要求简便,通俗,以便于操作。34系统业务流程图借阅流程图2借阅流程图流程图分析在借阅图书的界面下,输入读者编号后查询数据库,若读者编号存在,则读取读者信息,然后判断读者是否被锁定(人为锁定)、读者是否过期、读者是否之前有借阅图书,如果有借阅图书,检查是否有逾期未还的图书,如果有逾期未还的图书则禁止借阅新书,如果没有逾期未还的图书,则是否读者借阅的图书已达上限,如果已达上限则禁止借阅图书。如果以上条件都满足,输入图书编号后查询数据库该图书是否存在,如果存在则检查是否在库,如果已经借出则无法继续借阅,如果尚未借出则检查是否读者的借阅权限是否足够借阅图书,如果权限足够则在确认后即完成图书的借阅操作。还书流程图3还书流程图流程图分析在归还图书的界面下,输入图书编号后查询借阅数据库里的借阅信息,如果没有借阅信息就返回查找不到借阅信息的提示,如果有借阅信息则显示借阅此图书的读者信息和该图书的信息,图书管理员确认后点击确认归还按钮即完成图书的归还操作。续借流程图4续借流程图流程图分析在续借图书的界面下,输入图书编号后查询借阅数据库里的借阅信息,如果没有借阅信息就返回查找不到借阅信息的提示,如果有借阅则检查该书是否已过借阅期限,如果是则只能归还图书不能续借,如果不是检查是否续借次数已满,如果续借次数未满则确认续借后即完成续借操作。4系统设计系统设计是在系统分析的基础上由抽象到具体的过程主要目标是将系统分析阶段所提出的反映了信息需求的系统逻辑方案转换成可以实施的基于计算机与通信系统的物理(技术)方案,为下一阶段系统实施提供必要的技术资料,应符合系统性,灵活性,可靠性。经济性的要求。41系统架构本系统采用B/S模式。B/S(BROWSER/SERVER)结构即浏览器和服务器结构。它是随着INTERNET技术的兴起,对C/S结构的一种变化或者改进的结构。在这种结构下,用户工作界面是通过WWW浏览器来实现,极少部分事务逻辑在前端(BROWSER)实现,但是主要事务逻辑在服务器端(SERVER)实现,形成所谓三层3TIER结构。这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本(TCO)。以目前的技术看,局域网建立B/S结构的网络应用,并通过INTERNET/INTRANET模式下数据库应用,相对易于把握、成本也是较低的。它是一次性到位的开发,能实现不同的人员,从不同的地点,以不同的接入方式(比如LAN,WAN,INTERNET/INTRANET等)访问和操作共同的数据库;它能有效地保护数据平台和管理访问权限,服务器数据库也很安全。特别是在JAVA这样的跨平台语言出现之后,B/S架构管理软件更是方便、快捷、高效。42数据库设计421数据库需求分析(一)需求分析针对一般图书管理信息系统的需求,通过对图书管理工作过程的内容和数据流程分析,设计如下面所示的数据项和数据结构读者信息属性读者编号,读者姓名,性别,单位,是否锁定,借阅权限,创建时间,有效期限,联系电话,备注。主键读者编号图书信息属性图书编号,名称,作者,出版社,ISBN,分类,借阅权限,是否在库,单价,备注。主键图书编号借阅信息属性借阅的图书编号,读者编号,读者姓名,借书日期,还书日期,续借。主键借阅的图书编号(二)系统的数据流程图通过对系统的调查和可行性分析,画出系统的数据流程图图5数据流程图422数据库概念结构设计本程序包括的实体有管理员信息实体,读者信息实体,图书信息实体,借阅信息实体。423数据库逻辑结构设计本图书管理系统的数据库分为六个表,分别为ADMIN表、ADMINLEVEL表、BOOK表、BORROW表、READER表、READERLEVEL表。其中ADMIN表存储管理员的资料,例如管理员的编号、姓名、密码、管理等级等。ADMINLEVEL表存储管理员等级所对应的权限,例如借阅权限、查询/添加/修改/删除图书、查询/添加/修改/删除读者等权限。BOOK表存储图书信息,例如图书编号、书名、作者、在库状态等。BORROW表存储借阅信息,例如读者编号、图书编号、借阅日期、还书日期等。READER表存储读者信息,例如读者编号、姓名、借阅权限等。READERLEVEL表存储读者等级所对应的借阅权限,例如借书上限、借阅期限、续借次数、续借期限等。这六个表的关系图如下图6数据库表关系图以下是每个表的具体描述表1ADMIN表(管理员信息)字段名称字段类型长度备注管理编号CHAR3主键管理姓名VARCHAR30非空密码VARCHAR30非空管理权限CHAR1非空是否锁定CHAR1非空创建时间VARCHAR10非空有效期限VARCHAR2非空上次登录DATETIME8备注VARCHAR100表2ADMINLEVEL表(管理权限)字段名称字段类型长度备注管理权限CHAR1主键借阅CHAR1非空还书CHAR1非空续借CHAR1非空查询图书CHAR1非空查询读者CHAR1非空图书操作CHAR1非空读者操作CHAR1非空馆藏统计CHAR1非空借阅分析CHAR1非空基本设置CHAR1非空管理员CHAR1非空管理员等级VARCHAR10非空表3BOOK表(图书信息)字段名称字段类型长度备注图书编号CHAR8主键书名VARCHAR80非空作者VARCHAR50非空出版社VARCHAR50非空ISBNVARCHAR15分类VARCHAR50非空借阅权限CHAR1非空是否在库CHAR1非空单价VARCHAR6备注VARCHAR100表4BORROW表(借阅信息)字段名称字段类型长度备注图书编号CHAR8主键读者编号CHAR7非空读者姓名VARCHAR30非空借书日期VARCHAR10非空还书日期VARCHAR10非空续借CHAR1非空表5READER表(读者信息)字段名称字段类型长度备注读者编号CHAR7主键读者姓名VARCHAR30非空性别CHAR2非空单位VARCHAR30是否锁定CHAR1非空借阅权限CHAR1非空创建时间VARCHAR10非空有效期限VARCHAR2非空联系电话VARCHAR13备注VARCHAR100表6READERLEVEL表(读者权限)字段名称字段类型长度备注借阅权限CHAR1主键限借书数VARCHAR2非空借阅期限VARCHAR2非空续借次数CHAR1非空续借期限VARCHAR2非空43系统功能模块设计431系统总功能模块设计图书管理系统系统管理员借阅管理员图书管理读者管理用户管理查询处理借书处理还书处理续借查询增加书目删除或更新书目增加读者删除或更新读者增加用户删除或更新用户查询图书信息查询读者信息查询用户信息增加书目删除或更新书目查询读者信息书籍管理员图书管理查询查询图书信息查询图书信息查询读者信息图7总体功能模块图书管理系统按照管理员的权限不同,将管理员分为系统管理员、书籍管理员、借阅管理员,执行相应的操作。1对于系统管理员,也可叫超级管理员,具有最高的权限,可以进行图书管理、读者管理、用户管理等所有操作。2对于书籍管理员,可以进行图书管理、查询信息。3对于借阅管理员,可以进行借书、还书、续借的操作,并且能查询信息。432模块功能设计本系统包括的模块主要有如下几个部分图书管理模块、借阅管理模块、读者管理模块、系统管理模块、信息查询模块、用户管理模块具体的功能描述如下图书管理其功能是管理书库中图书的记录信息,对入库图书信息进行管理,并进行查询。包括图书添加、删除、更新。借阅管理其功能是对读者借阅信息进行管理。包括进行借书,还书,续借操作。读者管理其功能是对读者一般信息进行查询以及维护。添加读者借书和还书信息。可以记录新加入的读者的信息,并且可以对已经存在于数据库中的读者的信息进行修改,系统管理其功能是对用户进行帐户和密码管理以及基础数据维护。包括修改密码、新增用户、删除用户。信息查询括借阅信息查询、书籍信息查询和用户列表查询等功能。通过这些功能,可以通过不同的关键字来对书库中的图书进行查询,同时也可以查询读者的借阅信息。5系统实现51数据库连接池的实现数据库连接是一种关键的有限的昂贵的资源,这一点在多用户的网页应用程序中体现得尤为突出。对数据库连接的管理能显著影响到整个应用程序的伸缩性和健壮性,影响到程序的性能指标。数据库连接池正是针对这个问题提出来的。数据库连接池负责分配、管理和释放数据库连接,它允许应用程序重复使用一个现有的数据库连接,而再不是重新建立一个;释放空闲时间超过最大空闲时间的数据库连接来避免因为没有释放数据库连接而引起的数据库连接遗漏。这项技术能明显提高对数据库操作的性能。数据库连接池在初始化时将创建一定数量的数据库连接放到连接池中,这些数据库连接的数量是由最小数据库连接数来设定的。无论这些数据库连接是否被使用,连接池都将一直保证至少拥有这么多的连接数量。连接池的最大数据库连接数量限定了这个连接池能占有的最大连接数,当应用程序向连接池请求的连接数超过最大连接数量时,这些请求将被加入到等待队列中。数据库连接池的最小连接数和最大连接数的设置要考虑到下列几个因素1最小连接数是连接池一直保持的数据库连接,所以如果应用程序对数据库连接的使用量不大,将会有大量的数据库连接资源被浪费。2最大连接数是连接池能申请的最大连接数,如果数据库连接请求超过此数,后面的数据库连接请求将被加入到等待队列中,这会影响之后的数据库操作。3)如果最小连接数与最大连接数相差太大,那么最先的连接请求将会获利,之后超过最小连接数量的连接请求等价于建立一个新的数据库连接。不过,这些大于最小连接数的数据库连接在使用完不会马上被释放,它将被放到连接池中等待重复使用或是空闲超时后被释放。在WEBINF/CLASS下建一个DBPROPERTIES文件,配置如下DRIVERSCOMMICROSOFTJDBCSQLSERVERSQLSERVERDRIVERLOGFILECLOGTXTLIBRARYURLJDBCMICROSOFTSQLSERVER/1270011433DATABASENAMELIBRARY_DATALIBRARYMAXCONN1000LIBRARYUSERSALIBRARYPASSWORD/创建新的连接池PUBLICDBCONNECTIONPOOLSTRINGNAME,STRINGURL,STRINGUSER,STRINGPASSWORD,INTMAXCONNTHISNAMENAMETHISURLURLTHISUSERUSERTHISPASSWORDPASSWORDTHISMAXCONNMAXCONN/装载荷注册所有JDBC驱动程序PRIVATEVOIDLOADDRIVERSPROPERTIESPROPSSTRINGDRIVERCLASSESPROPSGETPROPERTY“DRIVERS“STRINGTOKENIZERSTNEWSTRINGTOKENIZERDRIVERCLASSESWHILESTHASMOREELEMENTSSTRINGDRIVERCLASSNAMESTNEXTTOKENTRIMTRYDRIVERDRIVERDRIVERCLASSFORNAMEDRIVERCLASSNAMENEWINSTANCEDRIVERMANAGERREGISTERDRIVERDRIVERDRIVERSADDELEMENTDRIVERLOG“成功注册JDBC驱动程序“DRIVERCLASSNAMECATCHEXCEPTIONELOG“无法注册JDBC驱动程序“DRIVERCLASSNAME“,错误“E/创建新的连接PRIVATECONNECTIONNEWCONNECTIONCONNECTIONCONNULLTRYIFUSERNULLCONDRIVERMANAGERGETCONNECTIONURLELSECONDRIVERMANAGERGETCONNECTIONURL,USER,PASSWORDLOG“连接池“NAME“创建一个新的连接“CATCHSQLEXCEPTIONELOGE,“无法创建下列URL的连接“URLRETURNNULLRETURNCON52用户登陆的实现当用户输入用户名和密码登陆系统时,在ADMIN_LOGINJSP页面中通过调用ADMIN类中的ADMINLOGIN方法,将用户名和密码与数据库中事先存放的姓名和密码进行比较,如果相同,则登陆成功,否则提示账号或密码错误。实现该页面的相关代码如下PUBLICBOOLEANADMINLOGINHTTPSERVLETREQUESTRESTHROWSEXCEPTIONREQUESTRES/获取页面请求信息DATABASEDBNEWDATABASEDATETIMEDTNEWDATETIMEMD5MD5NEWMD5ADMINIDREQUESTGETPARAMETER“ADMINID“ADMINPWDDBTOSQLMD5GETMD5OFSTRREQUESTGETPARAMETER“ADMINPWD“DBPREPARESTATEMENT“SELECTFROMADMINWHERE管理编号AND密码“DBSETSTRING1,ADMINIDDBSETSTRING2,ADMINPWDRESULTSETRSDBEXECUTEQUERYIFRSNEXTADMINNAMERSGETSTRING2ADMINPOWERINTEGERPARSEINTRSGETSTRING4ADMINLOCKEDRSGETSTRING5ADMINCTRSGETSTRING6ADMINAVAILINTEGERPARSEINTRSGETSTRING7ADMINLLTRSGETSTRING8ADMINCOMMENTRSGETSTRING9RSCLOSESTRINGNEWLLTDTGETDATETIME/更新最后登录时间DBEXECUTEUPDATE“UPDATEADMINSET上次登录“NEWLLT“WHERE管理编号“ADMINID“DBCLOSERETURNTRUEELSERSCLOSERETURNFALSE53图书借阅的实现当输入图书编号和读者编号后,点击“借阅”,出现图书详细资料和读者详细资料,确认无误后,点击“确认借阅”,此时,通过调用BORROWBOOK类中的EXEBORROW方法执行借阅。该方法首先获取页面的请求信息,然后查询数据库得到相应的读者信息,并计算出还书时间,把借阅信息写入BORROW表中,更新数据库。PUBLICBOOLEANEXEBORROWHTTPSERVLETREQUESTRESTHROWSEXCEPTIONTRYDATABASEDBNEWDATABASEDATETIMEDTNEWDATETIMEREQUESTRES/获取页面请求信息STRINGNEWBOOKSNDBTOSQLREQUESTGETPARAMETER“BOOKSN“STRINGNEWREADERSNDBTOSQLREQUESTGETPARAMETER“READERSN“DBPREPARESTATEMENT“SELECT读者姓名,借阅权限FROMREADERWHERE读者编号“/获取该读者信息DBSETSTRING1,DBTOSQLNEWREADERSNRESULTSETRSDBEXECUTEQUERYRSNEXTSTRINGNEWREADERNAMERSGETSTRING1STRINGNEWREADERPOWERRSGETSTRING2DBPREPARESTATEMENT“SELECT借阅期限FROMREADERLEVELWHERE借阅权限“DBSETSTRING1,NEWREADERPOWERRSDBEXECUTEQUERYRSNEXTINTNEWRPBTINTEGERPARSEINTRSGETSTRING1RSCLOSESTRINGNEWCDDBTOSQLDTGETDATE/计算还书日期STRINGNEWRDDBTOSQLDTGAINMONTHNEWRPBTDBPREPARESTATEMENT“INSERTINTOBORROWVALUES,0“/将借阅信息写入DBSETSTRING1,NEWBOOKSNDBSETSTRING2,NEWREADERSNDBSETSTRING3,NEWREADERNAMEDBSETSTRING4,NEWCDDBSETSTRING5,NEWRDDBEXECUTEUPDATEDBPREPARESTATEMENT“UPDATEBOOKSET是否在库0WHERE图书编号“/将图书不在库信息写入DBSETSTRING1,NEWBOOKSNDBEXECUTEUPDATEDBCLOSERETURNTRUECATCHEXCEPTIONERETURNFALSE54添加用户的实现当要添加用户时,在ADMIN_ADD_ADMINJSP页面中,通过调用ADMIN类中的ADDADMIN方法来进行添加。该方法首先获取页面的请求信息,然后判断此管理员是否具有添加用户的权限,如果有,产生新的用户编号,将客户端传来的信息通过“INSERTINTO”语句添加进ADMIN表中,同时,用户密码用MD5进行加密。PUBLICBOOLEANADDADMINHTTPSERVLETREQUESTRES,HTTPSESSIONSESTHROWSEXCEPTIONDATABASEDBNEWDATABASEADMINADMINTHISREQUESTRES/获取页面请求信息SESSIONSES/从SESSION中获取管理员IDSTRINGSUPERVISORDBTOSQLSTRINGSESSIONGETATTRIBUTE“SUPERVISOR“IFADMINISADMINSASTRINGADMINSNCREATEADMINSN/产生新的用户编号IFADMINSNEQUALS“000“ERRMSG“无法产生新的用户编号,无法添加新用户,请联系高级管理员“RETURNFALSEMD5MD5NEWMD5ADMINIDREQUESTGETPARAMETER“ADMINID“ADMINPWDDBTOSQLMD5GETMD5OFSTRREQUESTGETPARAMETER“ADMINPWD“ADMINIDREQUESTGETPARAMETER“ADMINSN“ADMINNAMEREQUESTGETPARAMETER“ADMINNAME“ADMINLOCKEDREQUESTGETPARAMETER“ADMINLOCKED“ADMINPOWERINTEGERPARSEINTREQUESTGETPARAMETER“ADMINPOWER“ADMINCTREQUESTGETPARAMETER“ADMINCT“ADMINAVAILINTEGERPARSEINTREQUESTGETPARAMETER“ADMINAVAIL“ADMINLLT“ADMINCOMMENTREQUESTGETPARAMETER“ADMINCOMMENT“TRYDBPREPARESTATEMENT“INSERTINTOADMINVALUES,“/添加用户信息DBSETSTRING1,ADMINIDDBSETSTRING2,ADMINNAMEDBSETSTRING3,ADMINPWDDBSETINT4,ADMINPOWERDBSETSTRING5,ADMINLOCKEDDBSETSTRING6,ADMINCTDBSETINT7,ADMINAVAILDBSETSTRING8,ADMINLLTDBSETSTRING9,ADMINCOMMENTDBEXECUTEUPDATERETURNTRUECATCHSQLEXCEPTIONEEPRINTSTACKTRACEERRMSG“添加用户失败,无法写入数据库“RETURNFALSEFINALLYDBCLOSEELSEERRMSG“管理编号为“SUPERVISOR“的管理员没有权限添加用户“RETURNFALSE55系统界面图8图书管理系统的登录页面图9图书管理系统的主页面图10图书借阅页面6系统测试61界面测试界面测试是测试过程中比较简单直观的一种测试方法,只要细心地按界面要求核对就行了。下面是界面测试中出现的BUG及解决方法1错别字,界面中的标题或者文本内容中出现了错别字。解决方法找到错别字所在代码,将字修改正确。2页面类似的内容中,明显有字体,字号不同的情况,使界面整体风格看上去不一致,解决方法看一下是否没有定义CSS,如果定义了仍然有错,则看是否有调用。62功能测试顾名思义,功能测试主要是测试程序模块是否实现了设计中所有要求的功能。1用户登陆测试输入用户名和密码后,点击登陆,成功,通过测试。2修改密码测试登陆后修改密码,然后重新登陆,成功,通过测试。3添加用户,图书,读者测试登陆系统后,添加新的用户,图书,读者,成功,通过测试。4登陆失败测试输入错误的用户名

温馨提示

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

评论

0/150

提交评论