Java图管理系统毕业设计.doc

上传人:sccc 文档编号:5044360 上传时间:2023-05-31 格式:DOC 页数:64 大小:2MB
返回 下载 相关 举报
Java图管理系统毕业设计.doc_第1页
第1页 / 共64页
Java图管理系统毕业设计.doc_第2页
第2页 / 共64页
Java图管理系统毕业设计.doc_第3页
第3页 / 共64页
Java图管理系统毕业设计.doc_第4页
第4页 / 共64页
Java图管理系统毕业设计.doc_第5页
第5页 / 共64页
点击查看更多>>
资源描述

《Java图管理系统毕业设计.doc》由会员分享,可在线阅读,更多相关《Java图管理系统毕业设计.doc(64页珍藏版)》请在三一办公上搜索。

1、壮滇翟钎昏迪阐续部障康奢驻帘窥筑啼虎甫婪暮艺铰摆译桐戊妈窍拴慈士协侠岁烃葬转晶架绊甲蛤滚阂铃究椽纫蔚青炸崇法辛啃乏步川殆泽帛浸韶启酿缉擦臃奶水橱跌啪喉紫理尖乳桐簇涅言藩揍礼寝虹席鼻戮借育列温同那僵僧匙蜕加凯砧普运涂伸虹拆粹杰缀颈及崔彩盛阻剧边执禄勘卧阳扯陇瘁奴翔履凉拷售兴拷兴同封员黎蕉起踪越汗只钢纬渊女湍碾立箕酿汾锯钡擞饥滔腑窖贡君巷晒苞涕利谨锨裁孕脑拿涡练纺脉潍梢猜知霜镍绰穗穗阐擎熟萌抄嘘卫夹范缓俱款讶弊浩演拍枷激嘛槽活货桨融端纳撩崎苑熙多急古膘钒嗡稿乐砒丑州鼓但怔沼吹伯沦莫戍殿馈甩镐政过掉钟柳爆哩肄痹咖装订线安徽工业大学 毕业设计(论文)说明书豁彩函铜付栓远谤籍巢拂敦苍忙砧之十连针妄殿级果

2、傅缠觉麓衣侍裤梳诽涸黎萧孜扩蹦萨京焦注困颂酣挛竣继神肘扑敛诊媚断玩唇酒税辈寅勉裂雌巫丸洲鹏秧持羌婚戒开慎瓮嘘匈斟稳台蓉牺纤瓮企惩亲叔俱耽宛泄直养摘厕已算傲狰奖紧靠犯值茎烩介闲必蕊盘讶权御停纬俗明役渍揍微警扶招剂夹审阐太劲美憨扮厚汕龋异添蔡育暗倘硬遮阴泽果谷秃瞪扫阴图娠陡苑该昂瑞割修租缅萧萍酬纪进卷速奴邻总蜀贮恤簿三抄竣描后冬枣报噪囤烩概皖铲肇貌獭颐业类搓阎硫枉洋病吞镑吴恐衷朽魁厉舆光鞠醚臆阵抄揣磐赂佐钳叙陶直匪嘛北陕煞中箔窝庙羚钓暖怔钵右嚣凄廖婪殆辣训晃姨澜觉荡Java图管理系统毕业设计被越渊醋毛拢张斯锤滔晋簿沂弛手扼辛砂偏剑扬体喂磐萎釜粉萤岗撂滋增兆纲我她葬氏豪期盂岩晶瞬掠怔梭绷针媳冰谭恋沸

3、帜阳差泼膳朋樱档擎激删扑拍弃再朝冶辅苔玉坚逃瑚虎邢殊辕肄心结黑楼寄板笑囊阉旺龋粉吃等张逛颊壕痰氢皋贵栽哥汁宜流标蜂卿楼戴祷栏铣熊窑旺暇淘狡另烹慌奈怠沈贡瓶污碟珠嫉桥藩最挨咖羌坷驻徒察剥性刻譬琅拎镁孵啡煤柏冒呛杖嫂高萄纲擒桃击叁渗效氮芽徐星妮脂寞驴逢贮迟颊帖蜘滋呸麦灰呼阴天厨首爱录叙诛钟匣瑞唁粒淳瘦银布乍杭呐迎诸舌梳誊枣忘骸昌晶辛月灰敢贼漆逼客印崇救龋铜藩傍坠允圃纲弄庐雾驳塘请揣盂糖汪犬浆宁咏呜扬杭慢淮摘 要本文介绍了在Java运行环境下开发图书管理信息系统的过程。文章介绍了图书馆管理信息系统的系统分析部分,包括可行性分析、图书借阅流程分析等;系统设计部分主要介绍了系统功能设计和数据库设计及代码

4、设计;系统实现部分说明了几个主要模块的算法,本系统界面友好,操作简单,比较实用。本系统采用了JSP页面的设计,使用了MVC模式,它采用了当今软件设计的最新技术,具有开发效率高、设计灵活、生成的软件界面友好美观等特点。本系统中通过JDBC驱动和数据库进行无缝连接,后端的数据库是SqlServer 2005,该数据库界面友好,容易上手,具有较高的完整性,一致性和安全性。关键词:Java;图书管理系统;图书借阅;MVC;开源;数据库AbstractThis article introduced the process that developing the books management syst

5、em under the Java running environment.This paper introduces the analysis parts of library management information system, including feasibility analysis, library process analysis, etc.;System design part mainly introduced the system function design and database design and code design; The system real

6、ization part explained several main module algorithms, The system is user-friendly, simple, more practical. This system uses the JSP page design and uses the MVC pattern.It uses the newest technology in todays software design, and has the development of high efficiency, flexible design, generate sof

7、tware user-friendly appearance and other characteristics. The system adopted in JDBC drive and database for a seamless connection to the backend database is SqlServer 2005, the database interface is very user friendly, easy to learn, and have a higher integrity, consistency and security.Key words:Ja

8、va; Books Management System; Library Process Analysis;MVC;Open Source毕业设计(论文)原创性声明和使用授权说明原创性声明本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得 及其它教育机构的学位或学历而使用过的材料。对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。作 者 签 名: 日 期: 指导教师签名: 日期: 使用授权说明本人完全了解 大学关于

9、收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。作者签名: 日 期: 目 录1 绪 论11.1 开发背景11.2 国内外研究现状21.3 目前存在的问题21.3.1 易遭病毒攻击21.3.2 微机操作技能欠缺21.3.3 维护工作量大21.3.4 运营成本加大22 需求分析32.1 用户需求32.1.1 数据需求32.1.2 功能需求32.2 业务流程42.2.1

10、系统业务流程42.3主要用例的用例描述43 开发平台和开发工具73.1 技术框架73.1.1 J2EE平台73.1.2 Web服务器和数据库73.2 工具选择83.2.1 Java语言诞生背景83.2.2 Java语言的特点83.2.3 开发工具介绍93.2.4 开发环境介绍94 系统设计104.1 总体结构框图104.2 数据库结构设计114.2.1数据库概念结构设计(ER图)114.2.2数据库逻辑结构设计114.2.3数据库表设计134.3系统各模块功能144.3.1 系统管理员模块功能144.3.2 读者模块功能144.3.3 图书借还模块功能144.3.4 图书管理模块功能154.3

11、.5 出版社管理模块功能154.3.6 作者管理模块功能155 系统实现165.1 开发步骤165.2 详细功能与编码175.2.1 管理员模块175.2.2 读者管理模块215.2.3 图书借还管理模块245.2.4 图书管理模块266 系统测试366.1 部分功能测试366.1.1 登录模块测试366.1.2 管理员注册模块测试376.1.3 图书模块测试386.2 验收测试406.3 评价407 总结428 致谢439 参考文献4410 附录、系统主要代码451 绪 论1.1 开发背景经过大学四年理论课程的学习,以及校内校外的实践,极大的丰富了自身的理论基础,并且也具备了一些处理简单问题

12、的能力,但即将踏上社会的我深知这还远远不够,因此我利用了毕业设计的机会,在老师的指导下去完成一个具有挑战性的,其具体应用及社会服务相结合的项目,深知通过对它的开发,将对我的能力有更高层次的突破。在调研农村中学时发现这些农村中学图书室都藏书达六、七万余册,但其现行图书管理工作都是采用传统的手工管理,经过对其图书管理工作中的图书信息、读者管理及借阅管理工作做全面调查研究,其现行手工流程具体分析如下:图书登记:对上级分配、学校购入和社会捐赠的图书进行图书信息登记;读者登记:图书管理员根据学校档案室提供的教师花名册和学生花名册进行读者登记,然后填发借书证,学生毕业和教师调出时将其借书证注销。借阅管理:

13、读者特别是学生读者持借书证到图书室借阅图书,图书管理员将借阅日期填写在书籍卡片上,将卡片夹在借书证中间,存放在图书室,学生看完后,送还所借书籍,收回借书证或另借其它书籍。这种传统人工的管理方式存在着许多缺点,如:效率低、保密性差, 一方面导致教师、学生对学校图书室藏书情况不了解,图书室究竟有哪些图书也不知道;另一方面图书管理员对图书管理工作倍感头痛,因为时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难,耗费劳动力大,难于避免错误的产生,如借书证挂失后,仍有少数学生冒用已挂失的借书证借出图书,造成图书外流。本人是安工大的学生,看着图书馆日益忙碌的借书还书管理,大胆猜想一

14、种新方案的图书管理系统,即纯网络借书还书操作,同学可以不必天天到图书馆徘徊选书,也不必为了找某一本书而劳烦工作人员,不必因为工作人员的上下班而等着借还图书,同学可以在网上进行选书借书还书操作,当选好图书时可以点击预定借阅操作,管理员这边如果看到可以帮您借阅并送到指定的存数地点,您可随时凭学生证刷卡取书。还书同样是学生先在网上图书馆进行还书操作,再在指定工作日将书籍归还到指定还书地点,工作人员将在一段时间后进行检查,如果归还将网上通知管理员进行最后的还书确认,图书归还成功。本软件以此为设计理念,是管理员操作的后台管理软件。1.2 国内外研究现状随着数字化时代的到来,人们对于知识的渴求越来越高,为

15、了提高全民文化知识水平,各地政府不断在当地建立图书馆,供人们参考与借阅,当然随着规模的扩大,普通的手工管理已经不能适应,不仅浪费人力物力还有可能造成书籍的遗失和损坏,此时,一种基于互联网的图书管理系统已经如雨后春笋搬不断成长,图书馆里系统在现代社会也成为一门热门的行业。国际上在线图书管理系统的前景看好,而国内的在线图书管理系统数量上也有了新的增长。它的建立使图书馆里拜托传统的手工操作,实现通过互联网而进行的远程图书借阅归还,其发展前景将是非常深远的。1.3 目前存在的问题随着社会数字化的进行,图书馆里系统虽然从手工操作慢慢过渡到了互联网管理的阶段,但也在线图书管理系统也存在着很多问题1.3.1

16、 易遭病毒攻击如今科技发达的同时,不少攻击计算机的电脑病毒应运而生,如果数字图书管理系统不小心被病毒入侵后,可能导致图书资料丢失,借阅信息丢失,以至造成图书的丢失。1.3.2 微机操作技能欠缺虽然很多人都对互联网和电脑的使用轻车熟路,但仍有很多人不能正确的使用微机和互联网,使在线图书管理系统面临的读者用户收到限制。1.3.3 维护工作量大虽然相比手工管理图书,节约了很多工作量,但工作量仍然很大,由于管理计算机的数据量较大,导致日后维护也有很大的困难。1.3.4 运营成本加大计算机管理图书的操作,要求工作人员对计算机的环境以及软件的掌握都有一定的要求,从而对招募管理人员增加了难度。2 需求分析2

17、.1 用户需求2.1.1 数据需求本图书管理系统主要的面向图书馆的管理者所开发的一款简洁的后台管理软件。对于该系统的数据需求可从以下几方面进行考虑:1)从管理员角度分析,可得到管理员的帐号,用户名,密码,注册时间等数据。2)从读者角度分析,可得到读者的学号,姓名,性别,所在院系,所借书籍等信息。3)从书籍的角度出发,可得到书籍的图书ISBN,书名,出版社的相关信息,作者的相关信息,图书的价格,图书的版本号,出版年份,图书的封面图片等数据信息。综上,在开发该系统的数据层时可以从上面所列三方面去设计数据库的表,进而能将所需数据全部包含起来。2.1.2 功能需求1面向图书的功能有:图书列表的查询,图

18、书入库,图书修订,图书的快速定位查询,由于此系统所面向的功能有限,所以将图书的作者和出版社加以细分,有出版社的管理,包括出版社的添加,出版社的修改,出版社的移除等,为了更方便的实现添加图书。同时还有对图书作者的单独管理,如对作者的查询,增加以及修改等。2面向管理员的功能有:管理员的登录,注册功能,管理员的修改以及显示等,还有管理员对读者的管理,即对用户实现的一些列操作,如对读者的增删改查,以及读者借阅图书和归还图书等。此系统功能设计以图书和管理员为重心:本系统的主要功能模块主要有以上所提及的这些,还有较多小功能设计,如jquery验证,一些特效的显示等。用户登录作者管理出版社管理图书管理借还查

19、询读者管理用户管理退出系统图2-1 功能需求图2.2 业务流程2.2.1 系统业务流程本系统的总体业务流程图如下图2-1所示,数据库中存储了问卷和答卷的信息,问卷信息通过问卷制作、问卷导入两种方式经过问卷修订的接口保存到数据库中;答卷信息通过问卷调查、外部调查两种方式保存到数据库中。数据库中答卷信息经过数据的清洗生成决策树,清洗过的数据可以再次保存到数据库中,生成的决策树可以提取规则保存到数据库中,数据库中的规则也可以通过简单统计功能以文本文档的形式导出到数据库外部。DB出版社操作图书操作图书列表快速搜索图书删除图书修订图书入库出版社列表出版社添加出版社删除出版社修改作者操作读者操作作者添加搜

20、索作者删除作者修改作者列表读者借书读者还书读者销户读者修改读者注册读者列表管理员操作管理员注册管理员删除管理员修改管理员列表图2-2 业务流程图2.3 主要用例的用例描述图书管理系统涉及到的用例包括:图书借阅,图书归还,图书查询,读者信息管理,图书信息管理,用户管理,作者信息管理,出版社信息管理,管理员信息管理等,现就系统的主要用例图书借阅,图书归还,图书查询进行详细分析。图书借还模块用例描述:表2-1 用例“图书借阅”用例名称图书借阅标识符BMS-1参与者读者(用户),图书管理员描述读书可以通过在图书馆书架上找寻自己要借阅的书籍,将指定书籍交付于管理员,向图书管理员提出借阅请求,管理员在系统

21、中先录入该书籍的isbn查找到相应信息,再对指定读者进行借阅操作,如果读者没注册,管理员要事先给予读者注册,再将图书交给读者,借阅成功。前置条件1. 图书馆找到自己想要借阅的书籍后置条件1登录;2. 更新图书借阅列表; 主干过程 借阅图书读者请求借阅新地图书,并提供自己的编号以及指定图书系统显示被借阅图书的详细资料读者提供自己的id系统存储读者和借阅的图书,并将之存储到数据库中系统更新借阅列表异常1. 读者借阅已满(未做要求)2. 系统将错误信息显示在借阅页面3. 系统重新启动该用例4.数据库中该图书数据损坏被包含用例无被扩展用例无优先级高表2-2 用例“图书归还”用例名称图书归还标识符UC-

22、2参与者读者,图书管理员描述读者将自己借阅的图书归还图书馆。前置条件1. 到图书操作服务台归还图书后置条件1 根据图书isbn找到图书,进入归还页面,更新图书归还列表; 主干过程读者请求归还借阅的图书并提供自己的编号读者将书交给管理员管理员根据图书编号查找到此书进入归还页面进行还书操作更新书籍列表异常1该书超出了应该归还的时间范围(未限定)2. 系统将罚款信息显示在归还页面(未限定)3. 无法将图书归还被包含用例无被扩展用例无优先级高表2-3 用例“图书查询”用例名称图书查询标识符UC-3参与者图书管理员描述读者通过图书的isbn,书名等信息对相应的图书进行查询。前置条件1. 登录; 2. 转

23、到图书列表后置条件1. 查询页面显示相应的图书的信息主干过程图书查询管理员输入想要查询的图书信息系统显示相应的图书信息点击每本书可以进行单本图书的详细信息异常1查询的图书不存在(第3步后)2. 读者输入的图书信息不能在数据库中查询到,后台报错3. 系统显示暂时无该图书信息4. 重新启动该用例被包含用例无被扩展用例无优先级高3 开发平台和开发工具3.1 技术框架本系统采用JSP+Servlet+DAO的mvc 3层架构模式,服务器端采用Tomcat,客户端采用FireFox。应用JavaBean和Jdbc数据库连接,Javascript,Ajax等技术,JQuery框架等。3.1.1 J2EE平

24、台J2EE ,即是Java2平台企业版(Java 2 Platform Enterprise Edition),是原Sun公司(现已被甲骨文公司收购)为企业级应用推出的标准平台。它简化了企业解决方案的开发、部署和管理相关复杂问题的体系结构,J2EE技术的基础就是核心Java平台或Java 2平台的标准版,J2EE不仅巩固了标准版中的许多优点,例如编写一次、随处运行的特性、方便存取数据库的JDBC API、CORBA技术以及能够在Internet应用中保护数据的安全模式等等,同时还提供了对 EJB(Enterprise JavaBeans)、Java Servlets API、JSP(Java

25、Server Pages)以及XML技术的全面支持。其最终目的就是成为一个能够使企业开发者大幅缩短投放市场时间的体系结构。J2EE体系结构提供中间层集成框架用来满足无需太多费用而又需要高可用性、高可靠性以及可扩展性的应用的需求。通过提供统一的开发平台,J2EE降低了开发多层应用的费用和复杂性,同时提供对现有应用程序集成强有力支持,完全支持Enterprise JavaBeans,有良好的向导支持打包和部署应用,添加目录支持,增强了安全机制,提高了性能。在开发图书馆借阅管理系统的过程中,应用Myeclipse8.5,它可以在数据库和J2EE的开发、发布,以及应用程序服务器的整合方面极大的提高工作

26、效率。Myeclipse是功能丰富的J2EE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML, Struts, JSF, CSS, Javascript, SQL。3.1.2 Web服务器和数据库在系统的开发过程中使用的Web应用服务器是Tomcat,是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、SUN和其他一些公司及个人共同开发而成。由于有了Sun 的参与和支持,最新的Servlet 和JSP 规范总是能在Tomcat 中得到体现。Tomcat是一个小型的轻量级应用服务器,它运行

27、时占用的系统资源小、扩展性好、支持负载平衡和邮件服务等开发应用系统常用的功能,因此在中小型系统和并发访问用户不是很多的时候,经常被使用。SQLServer是由Microsoft开发和推广的关系数据库系统(DBMS),它最初是由Microsoft、Sybase和Ashton-Tate三家公司共同开发的,并于1988年推出了第一个OS/2版本。为了开发的便捷快速,使用servlet容器对系统进行控制,担任系统的控制层,是程序的枢纽部分开发系统用的系统工具如表4.1所示:表3-1 系统开发平台和工具工具名称用途JDK1.6.0_11MyEclipse SqlServer2005Tomcat 6.0F

28、ireFoxJava 开发工具包J2EE集成开发环境关系数据库管理系统Web应用服务器客户端浏览器3.2 工具选择3.2.1 Java语言诞生背景Java是一种应用于分布式网络环境中的程序设计语言,由Sun开发,java语言广为人知,得益于Internate的迅猛发展。有人说java语言无所不能,这中说法固然夸张,但它确实从一个侧面反映出这种新生语言强大的威力与优越性。一样的应用程序、Web服务器乃至手机的嵌入式系统,java都足以胜任,并且表现得十分出色。特别是,java对网络提供了强有力的支持,这也是这种奇妙语言的魅力所在。3.2.2 Java语言的特点Java是一种被广泛使用的网络编程语

29、言。它定位于网络计算,它的几乎所有特点都是服从于这一中心。同时Java语言也集中体现和充分利用了许多软件技术的新成果。可移植性:这是Java语言区别于其他程序语言的最大的优点可移植性(平台无关性),这正体现了Java语言的“一次编译,处处运行”的优点。安全性:网络上的应用程序必须具有较高的安全性和可靠性,Java特有的沙箱机制已经很好的提供了足够的保障,同时去除了复杂且容易造成错误的指针。还有独特的垃圾回收机制:Java语言提供了垃圾回收机制,用以自动回收内存垃圾。这使得程序设计语言在编写Java程序时不必特别考虑内存管理的问题。使用Java编程的时候不必理会这种恼人且容易出错的工作。3.2.

30、3 开发工具介绍开发源代码工具为:MyEclipse8.5运行平台为:Tomcat, Tomcat性能可靠、操作和配置都十分简单,运行抛出异常时比较明显,易解决。采用的数据库为SqlServer2005。3.2.4 开发环境介绍实验设备是一台普通计算机,操作系统为Windows XP Professional(SP3),CPU规格为英特尔 Celeron(赛扬) 双核 T3000 1.80GHz,内存为2G,硬盘为250GB。4 系统设计4.1 总体结构框图读者添加读者删除读者修改读者查询借书操作还书操作JavaWeb图书管理系统作者管理出版社管理图书管理用户管理读者借还作者添加作者删除作者修

31、改作者查询出版社添加出版社修改出版社移除出版社查询用户注册用户修改用户销户用户查询图书入库图书删除图书查询图书修订图4-1 系统结构框图4.2 数据库结构设计4.2.1数据库概念结构设计(ER图)读者借阅阅图书ISBN书名版本号价格封面借阅期限借阅状态可借阅数出版社出版社ID出版社名属于属于作者姓名作者ID读者ID姓名学号性别院系图4-2 图书管理系统全局E-R图4.2.2数据库逻辑结构设计E-R图向关系模型的转换:读者(读者ID,姓名,学号,性别,所在院系)此为读者实体对应的关系模式管理员(管理员ID,姓名,帐号,密码,注册时间)此为管理员实体对应的关系模式图书(ISBN,书名,出版社,价格

32、,版本号,出版日期,图书图片,作者,库存量,借阅状态)此为图书实体对应的关系模式作者(作者ID,作者的姓,作者的名)此为作者实体对于的关系模式出版社(出版社ID,出版社名)此为出版社实体的关系模式借阅(图书ISBN,读者ID)此为联系“借阅”的关系模型归还(图书ISBN,读者ID)此为联系“归还”的关系模式borrowUserborrowIDborrowNamestudyNumsexdepartmenttitleIsbnTitleEditionNumCopyrightpubliserIdImageFilepriceborrowTimeisBorrowborrowIDpublihserIdpub

33、liserNamepublishersauthorIdfirstNamelastNameauthorsauthorIdisbnauthorIsbnbookUsersuserIdaccountpasswordnamecreateTime图4-2 各实体间联系图数据模型的优化:1) 确定数据依赖。 2) 对于各个关系模式之间的数据依赖进行极小化处理,消除冗余的联系。3) 按照数据依赖的理论对关系模式进行逐一分析。4) 按照要求分析阶段得到的处理要求,分析这样的应用环境这些模式是否合适。确定是否要对某些模式进行合并或分解。5) 对关系模式进行必要的分解,提高数据操作的效率和存储空间的利用率。(水平分

34、解,垂直分解)。4.2.3数据库表设计根据系统需求,可以进行具体的表的设计,表4-1是所有数据库表的汇总。表4-1 数据库汇总表表名说明authors作者表,存放书籍的作者相关信息publishers出版社表,存放书籍的出版社相关信息title图书表,存放与书籍相关的所有信息authorISBN作者表和图书表的关联表borrowUser读者列表,存放读者借书的相关信息bookusers管理员表,存放管理员的相关信息数据库中的各个表的逻辑结构设计结果如下面的几个表格所示,每个表格表示数据库中的一个表。表4-2 作者表(authors)字段名类型说明authorIDintPrimary Keyfi

35、rstNamevarchar(20)姓lastNamevarchar(30)名表4-3 出版社表(publishers)字段名类型说明publisherIDintPrimary KeypublisherNamevarchar(30)出版社名表4-4 图书表(titles)字段名类型说明isbnvarchar(20)Primary Keytitlevarchar(100)图书名,非空editionNumberint版本号,非空publisherIDint 外键,出版社ID,非空imageFilevarchar(20)文件图片路径pricefloat图书价格borrowTimeint借阅最大期限i

36、sBorrowint是否被借出borrowIDint外键,读者ID,非空表4-5 图书作者关联表(authorISBN)字段名类型说明authorIDint外键,作者IDisbnvarchar(20)外键,图书ISBN表4-6 读者表(borrowUser)字段名类型说明borrowIDintPrimary KeyborrowNamevarchar(50)读者姓名,非空departmentvarchar(50)所在系sexvarchar(50)性别studyNumvarchar(20)学号,非空表4-7 管理员表(bookusers)字段名类型说明userIdintPrimary Keyacc

37、outvarchar(20)帐号,非空passwordvarchar(20)密码,非空namevarchar(20)用户名,非空createTimedatatime创建时间4.3系统各模块功能4.3.1 系统管理员模块功能该模块主要包括对管理员进行注册,销户,修改账户信息等。管理员可以通过注册一个账号登录管理系统,之后对所注册用户进行统一管理,用户列表显示了所有注册用户的用户名,密码,帐号以及注册时间等操作,管理员可以对所有注册的帐号进行修改和移除。4.3.2 读者模块功能该模块主要有对读者用户的注册,销户修改功能。读者列表主要显示读者的姓名,学号,性别,所在系,这里主要存放借书还书的对象。如

38、果想要借书或还书,就必须先通过管理员登录进行注册,成为该系统的读者用户,进而才能对书籍进行借还。4.3.3 图书借还模块功能该模块主要是对图书进行借还操作的一个管理模块,列表主要显示图书的isbn号,书名,借阅状态以及最大借阅期限等信息。对于书名加以不同的链接,由于图书和作者的关系是一对多,即一本图书只能借给一个人,一个人可以借多本不同的图书,所以根据每本书的借阅状态不同,链接对象也不一样,当此书已借出,点击进入的就是归还页面,归还对象即为借书的读者;若此书状态为未借出,则点击链接会进入到借书页面,借书对象是所有注册的读者用户。管理员可以选择某一位用户进行借出工作。4.3.4 图书管理模块功能

39、 该模块主要是对图书进行统一的管理,功能包括对图书的入库,移出,修订,快速检索等,图书列表主要显示图书的isbn,书名,出版社,价格,版本号,出版年份。点击书名进入图书详细页面,能看到该图书的详细信息,除刚才所说信息外还有该书籍的作者以及图片,和正被借阅的读者用户名。同时在列表页面可根据图书的isbn和书名进行模糊查询,能更好的定位某本书或某些书。4.3.5 出版社管理模块功能该模块主要是对图书的出版社做一统一管理,将其单独作为一模块的原因是因为,出版社数量较少,可以单独存放一数据库表,在添加或修改图书时可以将表中出版社进行遍历显示,若要添加图书的出版社在数据库表中没有,可以在该模块下添加相应

40、的出版社,在进行遍历。该模块还包括删除修改出版社等功能。4.3.6 作者管理模块功能该模块主要是对图书的作者进行统一管理,将其单独作为一个模块,可以在添加书籍的时候对作者的添加实现方便的管理,对于新书的作者,可以在此模块中进行添加,类似的功能还有修改和删除作者。5 系统实现5.1 开发步骤1、 静态页面制作(html代码,frame应用, css应用)2、 利用JDBC,比较简单的实现数据库存取操作(二层结构)3、 分析二层结构带来的问题,改进该结构,引入数据访问层。4、 简单的数据访问层实现数据库存取操作5、 简单的数据访问层带来的问题以及如何改进6、 数据访问层设计: 公共的数据库连接类D

41、bConnection、 数据访问对象DAO的基类BaseDAO 7、(Log4j的配置与应用)。8、 针对业务的数据访问对象开发,从AuthorDAO开始。9、 作者管理的数据访问层开发完毕,开始实现前台JSP层的开发,主要是CRUD操作。10、CRUD开发涉及问题: 表单提交GET/POST方式、网页传值、request中文编码、重定向等。11、增加简单的JS校验。12、ok! 开始进入出版社模块的开发, 和作者管理开发基本类似,开发速度明显加快。13、图书管理模块分析,业务层略微复杂。14、图书管理业务层开发、涉及事务操作、多表操作。15、图书管理JSP层开发,分析参数多的情况带来的问题

42、,引入JavaBean来实现request参数的自动获取和设置。16、增加JS校验实现基本的数据验证。17、分页的两种策略介绍。编写通用的分页对象PageUtil,应用该对象在图书列表中实现内存中分页。18、继续实现作者、出版社的分页。19、为系统增加一张系统用户表, 完成系统用户的CRUD。20、Session简要介绍,用户登录以及登录验证的开发。编写通用的登录验证,单独作为文件包含到需要验证才能访问的页面中。21、增强用户登录功能, 利用Session,使得可以记住用户上次登录的帐号。22、开放管理员用户的注册修改功能,并且加上jquery验证23、进入读者管理模块开放,继续使用servl

43、et容器管理读者的CURD24、系统退出功能增加。25、介绍Servlet中的过滤器,使用过滤器增强可维护性。改进代码,将request编码交由过滤器处理, 将登录校验交由过滤器处理。(此系统的特殊性,无法使用过滤器改由另一种过滤方式)26、总结5.2 详细功能与编码5.2.1 管理员模块1.登录页面截图:图5-1 登陆界面代码部分:通过网址的login.ii在web.xml文件中找到控制器ListUserServlet类,在获得切割后字符串login,找到下面处理代码,再调用DAO层login()方法进行处理,如果传入的帐号和密码能够获得一个用户,则让其登陆成功,并加载用户列表,若用户名密码

44、不正确则提示错误信息。if(action.equals(/login)tryString account = request.getParameter(userAccount);String password = request.getParameter(password);boolean flag = false;PrintWriter out = response.getWriter();UserModel user = dao.login(account.trim(), password.trim();if(user != null)flag = true;session.setAttribute(userName, user.getUserName();out.print(flag);out.flush();out.close();catch(Exception e)

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 建筑/施工/环境 > 农业报告


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号