优秀毕业设计论文 源码基于java的图书馆管理系统毕业设计

上传人:r****d 文档编号:81772257 上传时间:2022-04-27 格式:DOC 页数:57 大小:935.50KB
返回 下载 相关 举报
优秀毕业设计论文 源码基于java的图书馆管理系统毕业设计_第1页
第1页 / 共57页
优秀毕业设计论文 源码基于java的图书馆管理系统毕业设计_第2页
第2页 / 共57页
优秀毕业设计论文 源码基于java的图书馆管理系统毕业设计_第3页
第3页 / 共57页
点击查看更多>>
资源描述
图书管理系统毕业论文目 录摘 要IIIABSTRACTIV1. 绪 论1毕业设计主要任务1目前图书管理系统存在的问题1课题意义1论文的工作和安排22.图书借阅管理需求分析32.1 可行性分析32.1.1.技术可行性32.1.2.经济可行性32.2 图书借阅管理系统需求概述3系统目标3用户类和用户特性42.3 图书借阅管理系统需求模型4功能描述4图书管理员详细功能描述5读者详细功能描述5主要用例的用例描述63.总体设计93.1 数据库设计9数据库设计概述9图书信息表结构设计10图书类型信息表结构设计113.1.4 读者信息表结构设计11读者类型信息表结构设计12图书借阅信息表结构设计12图书归还信息表结构设计13用户信息表结构设计13图书馆信息表结构设计14办证参数信息表结构设计143.2 系统总体结构设计15图书管理系统总体结构图153.2.2 系统管理员模块功能153.2.3 读者管理模块功能163.2.4 图书管理模块功能163.2.5 图书借还模块功能173.2.6 系统查询模块功能184.程序设计与编码20开发平台与工具204.1.1 J2EE平台204.1.2 WEB效劳器和数据库20程序设计21程序设计概述21数据库与Web效劳器的连接21登录模块程序设计23系统管理员功能模块的实现25读者管理功能模块的实现26查询功能模块的实现27图书管理功能模块的实现294.图书借还功能模块的实现305.软件测试335.1 软件测试的方法与步骤335.2 测试用例设计与测试用例的运行过程及测试结果分析34模块测试34集成测试355.2.3 验收测试365.3 评价366.结束语376.1 工作成果376.2 改良意见376.3 收获体会37参考文献39致 谢40摘 要随着科学技术的进步,计算机行业的迅速开展,大大提高人们的工作效率。计算机信息处理系统的引进已彻底改变了许多系统的经营管理 。图书管理系统是学校管理机制中的重要组成局部,通过对图书管理系统的运行管理机制进行调查研究,开发了此图书系统。本系统中解决了学校图书管理事务中的常用根本问题以及相关统计工作。本系统中包含6个功能模块:系统设置,读者管理,图书管理,图书借还,系统查询和更改口令。本系统使有jsp进行网页界面的设计,使用MVC设计模式,采用了开源框架Struts,它采用了当今软件设计的最新技术,具有开发效率高、设计灵活、生成的软件界面友好美观等特点。本系统中通过JDBC驱动和数据库进行无缝连接,后端的数据库是mysql,也是一个开源的数据库系统,该数据库具有较高的完整性,一致性和平安性。关键词:图书管理;信息管理;jsp;strutsAbstract With the progress of science and technology, the astonishing rapid development of the computer industry has been improving peoples working efficiency greatly.The introduction of computerized information system has sharply changed the management in many systems in many fields. The management system of the library takes an important role in the administration of school organization. I desigen the system after the thorough investigations about the library management systems mechanism. This system contains with reader informantion management model, book information management model, books borrowing and returning including system information query and password setting.The system is contrived with Java Server Pages Techonolege as well as Struts,the software design mode of MVC with open source framework techonolege, which makes this system have the advantages of efficiently designed with beauteous and friendly interface . This system use jdbc driver to connect the mysql database server,which is also an open source database system for its users. The batabase was desigend with highly integrity, security, and consistency.Key words: book management, management of information ,jsp,struts1. 绪 论毕业设计主要任务 1.实现图书馆对所藏图书的按类别、书名等多方面的查询,最大的方便读者和图书馆工作人员对所需图书的查询;2.建立图书馆外借读者数据库,方便工作人员对读者进行有效管理;3.建立图书馆工作人员数据库,限定每个工作人员对软件操作的权限,最大限度的保护数据库;4.实现图书馆对新书入库,旧书注销的简单处理,并且建立书籍档案,方便进货;目前图书管理系统存在的问题1)检索速度慢、效率低因为图书馆的藏书种类多、数量多,将藏书准确地分门别类,快速检索,手工进行非常困难往往是终于查到了二伟的信息,馆中没有此书或已被别人借走。图书馆的规模越大,这个问题越突出。2)借书、还书工作量大借书、还书频率越大,说明图书馆的作用越大,然而随之而来的大量的借书、还书登记、实存图书的更新以及借出图书超期、遗失等的处理,其工作量之大,往往是人工操作所难以胜任的。而且经常会出现这样那样的过失。3)图书统计工作难、藏书更新不能及时完成。图书馆的图书应根据科学技术的开展和教学工作的需要及时添加和更新,然而由于藏书数量及图书种类越来越多,加上自然损耗,人为破坏,使图书的统计工作难以及时完成,藏书的更新也就很难有针对性地进行,藏书的知识结构得不到良好地控制。我校也是一所开展中的高校,近儿年的开展速度很快,图书馆的规模和藏书数量也不断的扩大,为了解决海量图书的管理问题,改变传统的管理方式也是迫在眉睫了。1.3课题意义随着计算机的广泛应用,其逐步成为现代化的标志。图书馆或者一些企业内部,甚至是书店,在正常运行过程中总是面对大量的读者信息,书籍信息以及两者相互作用产生的借书信息、还书信息。因此需要对读者资源、书籍资源、借书信息、还书信息进行管理,及时了解各个环节中信息的变更,要对因此而产生的单据进行及时的处理,为了提高图书馆或者企业内部对图书存销的自动化的管理,能够更快速的满足读者的要求,提高各种工作的效率,现对其设计相应的系统,以到达上述的目的1。图书管理系统的主要功能是实现图书馆图书借阅和归还的管理的自动化。围绕这一主要功能,本系统涉及到以下核心功能:借阅管理,归还管理。除了这些核心功能外,还包括一些根本和辅助功能,它们是:用户管理、图书馆参数管理、图书管理、统计查询。本次设计的目标是,开发一个图书馆借阅管理系统。借助该系统,管理员通过快捷可靠的数据库管理,方便的管理图书馆的信息资料,标准化的管理读者用户,设定不同用户权限,并能通过互联网向读者提供更为方便的在线查询效劳,方便读者的使用,最终到达提高图书馆资源利用效率的目的。论文设计和实现了图书借阅管理系统系统,可以根据用户的不同权限,对图书馆的的各种信息进行添加、删除、修改或查询操作。论文分为五个局部:第一章即本章绪论,简述图书馆借阅管理系统这个课题的背景情况以及开发本系统的意义。第二章为需求分析,本章中明确了系统需要实现的功能,分析了系统的用例,并介绍根据系统的需求选择的开发工具和技术的概况。第三章是总体设计,详细描述了本系统中数据库的设计情况,并给出了系统总体界面的设计方案。 第四章为程序设计与编码各主要功能模块的实现方法和局部关键代码,同时提供了个主要界面运行的参考图片,以更直观了解系统的实现情况。第五章是软件测试,测试系统功能实现并对测试结果进行记录分析第六章为结束语,为此次毕业设计做一个总结,总结所获得的经验和体会。2.图书借阅管理需求分析2.1 可行性分析采用现代化统一的计算机信息网站系统,能够有效优化图书馆管理系统,使其高效的发挥最大作用,能够迅捷的为读者提供相应的效劳。开发本系统的可行性研究如下: 技术可行性技术上的可行性分析主要分析技术条件能否顺利完成开发工作,软、硬件能否满足需要。本系统采用JSP开发出友好美观的人机界面,便于用户理解、操作。数据库管理系统采用MySQL,它能够处理大量数据,同时保持数据的完整性、平安性。因此本系统的开发平台已成熟可行。硬件方面,在科技飞速开展的今天,硬件更新速度越来越快,容量越来越大,可靠性越来越高,价格越来越廉价,因此硬件平台也能够满足本系统所需2。.经济可行性鉴于计算机技术开展异常迅猛,在硬件软件配置以及开发技术均以可行的情况下开发这样一个管理系统本钱不会很高,但其可以大大提高图书馆的工作效率,也是图书馆管理开展的必然趋势,其必将有比拟宽阔的市场,因此改性统在经济可行性上时可行的2。2.2 图书借阅管理系统需求概述2.2.1系统目标该系统主要建立一个基于B/S模式的图书馆借阅管理系统,面对当起很多小型图书管理仍是人工管理带来的检索速度慢,效率低,借阅归还图书量大,图书统计工作量大,藏书不能完成及时更新的问题,该系统可以对跟系统的三个用户类型的使用实现:读者在本系统的应用下可实现按照各种方式(如:书名,编号,作者)查询图书馆的藏书请客,方便的借阅图书,续借图书,归还图书,能够查询自己的借阅图书情况。2.对于图书馆工作人员能够实现方便的对图书进行查询,方便的进行读者借阅情况查询,方便的进行借书还书处理等,便捷的对图书信息进行添加、修改、删除,分类管理等操作,对读者信息进行相关添加,修改,分类管理等操作。可以对图书馆信息进行修改更新操作,对系统用户进行添加、修改、删除、权限设置等操作,对图书馆的办证参数进行修改维护等操作功能。2.2.2用户类和用户特性图书借阅管理系统是一个基于B/S模式的对图书馆进行高效率管理的应用系统,它的用户主要是读者和图书管理员,学生通过该系统进行图书查询进而对自己需要的图书进行借阅及自己的借阅情况进行查询,图书管理员那么通过本系统实现对图书及读者的高效管理,除此之外,还需要一个系统管理员对不同的用户进行权限的设置等操作2。三类用户的具体描述如下表所示:用户类描述读者读者是该系统的重要的使用角色,他们通过该系统查询自己需要的图书信息,并像图书管理员提出借阅图书的申请进而借阅自己所需的图书,还可以通过对自己借阅情况进行查询。图书管理员图书管理员是该系统的另一个重要使用者,图书管理员通过该系统进行图书的增加,修改,删除,分类管理等操作,实现对读者借阅归还续接图书的方便操作,实现对系统中图书,读者,读者借阅情况的查询,信息更改维护等操作,管理读者类型,对不同类型读者可借阅的图书数量进行设置等图书馆的根本操作。系统员系统管理员主要是图书管理系统中用户的管理,实现用户添加修改删除以及用户权限设置等操作,实现对图书馆根本信息的修改维护等操作,还包括对图书馆书架的设置操作,以及校外读者办证所需费用、证件有效期等参数的设置。2.3 图书借阅管理系统需求模型2.3.1功能描述图书借阅管理系统的主要任务是实现读者迅速检索查询,方便借阅归还图书,图书管理员高效的完成系统的各项根本操作,系统管理员是管理用户设置权限等操作3:1. 登录。读者、图书管理员,系统管理员进入该系统必须登录,身份验证正确了才可以进入该系统,以不同身份进入该系统所对应的系统使用权限是不同的。2. 系统设置功能:系统管理员可以设置图书馆相关的参数信息。户管理功能:对系统用户进行添加,修改,删除,权限设置等操作。4.查询功能:对图书馆的馆藏图书,借阅历史,读者用户等信息进行查询。系统管理员可以修改自己的密码,并且拥有其他用户所拥有的所有功能。 2.3.2图书管理员详细功能描述1. 读者管理功能:对读者的类型和读者档案进行管理,包括添加,修改,删除读者类型和读者用户的相关信息,管理不同类型读者借阅图书的数量。2. 图书管理功能:包括对图书类型和具体图书信息的管理,可以增加,修改,删除图书,丰富具体图书的信息,对不同图书进行分类操作。3. 图书借阅功能:可以完成对读者借阅,续接和还书的操作。4. 系统查询功能:查询图书相关资料,借阅历史和借阅到期题型.5. 修改密码功能:可以修改自己的登录密码。2.3.3读者详细功能描述1) 修改登陆密码:修改自己的登录密码。2) 查询功能:对图书馆图书信息进行查询,对自己当前借阅书籍进行查询,对图书规划到期题型进行查看。2.3.4主要用例的用例描述图书借阅借阅管理系统涉及到的用例包括:图书借阅,图书归还,读书查询,读者信息管理,图书信息管理,用户管理等,现就系统的主要用例图书借阅,图书归还,图书查询进行详细分析。1)用例“图书借阅用例名称图书借阅标识符UC-1参与者读者,图书管理员描述读书可以通过查询等方式获得自己想借阅的图书的名称,编号,等其他可唯一识别的信息,向图书管理员提出借阅请求,管理员在系统中记录相应信息,将图书交给读者,借阅成功。前置条件1. 登录;2. 进入图书借阅的页面后置条件1 更新图书借阅列表; 主干过程1.0 借阅图书1. 读者请求借阅新地图书,并提供自己的编号2. 系统显示读者借阅情况的表单3. 读者提供想借阅的图书的标号4. 系统存储读者和借阅的图书,并将之存储到数据库中5. 系统更新借阅列表分支过程1.1 选择重置第3步后分支出来1. 读者选择重置2. 系统刷新该页面异常1.0.E.1 读者借阅已满第2步1读者借阅的数目已经到达自己借阅的上线2. 系统将错误信息显示在借阅页面3. 系统重新启动该用例被包含用例无被扩展用例无优先级高 2)用例“图书归还用例名称图书归还标识符UC-1参与者读者,图书管理员描述读者将自己借阅的图书归还图书馆。前置条件1. 登录;2. 进入图书归还页面后置条件1 更新图书归还列表; 主干过程2.0 图书归还6. 读者请求归还借阅的图书并提供自己的编号7. 系统显示该读者的借阅信息表8. 使用者填将要归还的图书交给管理员9. 管理员输入图书编号,系统存储归还信息,并将之存储到数据库中10. 系统更图书归还列表分支过程1.1 选择重置第3步后分支出来1. 读者选择重置2. 系统刷新该页面异常1.0.E.1 读者借阅超时第4步1该书超出了应该归还的时间范围2. 系统将罚款信息显示在归还页面3. 需要缴纳罚金被包含用例无被扩展用例无优先级高3)用例“图书查询用例名称图书查询标识符UC-3参与者读者,图书管理员描述读者通过图书的标号,名称等信息对相应的图书进行查询。前置条件1. 登录; 2. 转到图书查询页面后置条件1. 查询页面显示相应的图书的信息主干过程图书查询1. 读者输入想要查询的图书信息2. 系统显示相应的图书信息3. 读者点击读书名称,跳转到图书详细信息链接页面分支过程输入信息时(第2步后)1. 系统显示:请选择查询依据2. 用户进行相应选择重新查询第2步后1. 系统已经显示了相应图书信息2. 读者想查询其他图书异常5.0.E.1 查询的图书不存在第2步后1. 读者输入的图书信息不能在数据库中查询到2. 系统显示暂时无该图书信息3. 重新启动该用例被包含用例无被扩展用例无优先级高3.总体设计3.1 数据库设计3.数据库设计概述数据库是整个系统的基石,数据库的设计优劣直接影响到整个系统的设计成败,本节对数据库的设计进行专门阐述5。数据库是数据管理的最新技术。十多年来数据库管理系统已从专用的应用程序开展成为通用的系统软件。由于数据库具有数据结构化,最低冗余度,较高的程序与数据独立性,易于扩充,易于编制应用程序等优点,较大的信息系统都是建立在数据库设计之上的。因此不仅大型计算机及中小型计算机,甚至微型机都配有数据库管理系统6。数据库系统的出现使信息系统从以加工数据的程序为中心转向围绕共享的数据库为中心的新阶段。这样既便于数据的集中管理,又有利于应用程序的研制和维护,提高了数据的利用性和相容性,提高了决策的可靠性。目前,数据库已经成为现代信息系统不可分割的重要组成局部。数据库技术也是计算机领域中开展最快的技术之一。数据库设计是把现实世界的实体模型与需求转换成数据库的模型的过程,它是建立数据库应用系统的核心问题。数据库及其应用的性能都建立在良好的数据库设计的根底之上,数据库的数据是一切操作的根底,如果数据库设计不好,那么其它一切用于提高数据库性能的方法收效都是有限的。数据库设计的关键是如何使设计的数据库能合理地存储用户的数据,方便用户进行数据处理6。设计数据库必须遵循一定的规那么,在关系型数据库中,这种规那么就是范式,范式是符合某一种级别的关系模式的集合。一般人们设计数据库遵循第三范式。即:数据库表中不包含已在其他表中包含的非主关键字信息。采用范式减少了数据冗余,节约了存储空间,同时加快了增、删、改的速度6。整个系统所包括的信息有图书信息、读者信息、留言信息、图书借阅信息、图书归还信息、系统用户信息、读者类型信息。可将这些信息抽象为以下系统所需要的数据项和数据结构:1)图书信息编号,图书名称,图书类型,作者,译者,ISBN号,价格,出版社,所在书架,入库时间,操作员2)图书类型(编号,名称,可借阅天数)3)读者信息编号,姓名,性别,条形码,读者类型,出生年月,有效证件,证件号码,登记日期, ,邮箱,操作员4)读者类型(名称,可借阅图书本数)5)图书借阅信息图书编号,读者ID,借出时间,应还时间,是否归还,操作员6)图书归还信息图书编号,读者ID,归还时间,操作员7)用户(编号,用户名称,密码)8)图书馆信息(编号,名称,馆长, ,地址,邮箱,创立日期,简介)图书馆参数信息(编号,办证费用,有效期限)注:带下划线表示主键在这里使用E-R图描述了图书借阅管理系统的数据模型。图3.1图书借阅管理系统E-R图描述了该系统所涉及到的实体以及他们之间的关系。具体结构如以下图所示:.3.数据库设计:图书信息表:字段名说明类型长度及备注ISBN国际标准书号Varchar(13)主键typeId图书类型idIntBookname书名Varchar(40)Writer作者Varchar(21)Translater译者Varchar(30)可以为空Publisher出版社Varchar(50)Date出版日期SmalldatetimePrice价格money图书类别表:字段名说明类型长度及备注TypeName图书类型Varchar(20)Id自动编号Int主键用户信息表:字段名说明类型长度及备注Id自动编号Int主键Name姓名Varchar(2)Sex性别Varchar(2)Age年龄intIdentitycard证件号码Varchar(2)Workdate办证日期datetimeTel 号码Varchar(2)Yajin押金IntPassword密码Nvarchar(10)admin管理员Nchar(10)读者信息表:字段名说明类型长度及备注Name姓名Varchar(10)Sex性别Varchar(2)Age年龄intidentityCard证件号码Varchar(30)Date日期SmalldatetimemanNum最大书量IntTel 号码Varchar(15)keepMoney押金MineyZj证件类型IntZy职业Varchar(50)ISBN国际标准书号Varchar(13)bztime办证时间datetime3.2 系统总体结构设计该系统在Windows98/2000/XP环境下,主要采用JSP开发工具,MySQL数据库来设计,开发过程与成果应符合GB/T 11457-1995软件工程术语,GB/T 8567-1988计算机软件产品开发文件编制指南等7。3.图书管理系统总体结构图绘制系统结构图的过程,实际上就是对系统功能模块进行分解设计的过程,即合理地将数据流程图转变为所需要的系统结构图8。系统结构图将会使读者和用户能直观的了解系统的结构模式,理解系统的各个功能的结构,能很好地方便用户使用和理解整个系统。本系统的结构图如下:系统总体结构图根据需求分析的结果,按照“低耦合、高内聚的原那么,本系统将划分为以下主要功能模块:系统管理员功能模块,读者管理功能模块,图书管理功能模块,图书借还功能模块;系统查询功能模块8。3.2.2 系统管理员模块功能该模块主要包括图书馆信息设置,用户管理,参数设置,书架设置。该功能选项用于系统管理员对图书馆名称,地址,联系方式,简介等信息的管理更新,以便于读者和外界人士对图书馆的了解。该功能是对td_library表进行维护修改等操作,修改后的信息将被保存在该表中。2.用户设置该功能子模块主要是系统管理员对系统用户的管理,通过此子模块的功能实现可以对用户进行添加、修改、删除、权限设置等操作,该子模块能将图书馆的不同工作细化到不同的相关人员,极大地提高了图书馆的工作效率。该操作是对tb_users表进行操作,在对用户进行了相关的操作后把操作后的最新信息存放在该表中。通过该子模块设置在图书馆办理临时读者证的费用及证件有效期限。该操作是对于tb_parameter表进行,并把操作后的最新数据存放在该表中。 读者管理模块功能该模块主要包含读者类型管理和读者信息管理两个子模块:1. 读者类型管理该子模块是对图书馆系统用户读者的类型进行维护,修改等操作,在此模块中主要设置不同类型读者一次性可借阅的图书的数量,该操作是对于tb_resderType表进行,并将操作结果保存在该表中。2. 读者信息管理该子模块是对读者的根本信息进行管理,可以对读者的根本信息进行添加,修改,删除操作,这下操作均是对tb_resder表进行的,并将操作后的结果保存在该表中。3.2.4 图书管理模块功能 图书管理功能模块可分为图书类型管理和图书信息管理两个子模块,其各自的实现分别如下面表中所示:表3.11 图书类型管理描述图书类型管理功能描述对图书进行类型设置分类,并对不同类型图书可被借阅的天数进行设置访问的数据库表图书类型表:tb_bookType进行的操作添加、修改、删除图书类型,对不同类型图书可被借阅的天数进行设置产生的结果 对图书类型进行管理,对不同类型图书参数进行设置结果存储位置或输出 结果存储在图书类型表(tb_bookType)中,结果在图书类型查询页面输出表3.12 图书信息管理描述图书信息管理功能描述对图书进行根本操作和信息管理访问的数据库表图书类型表:tb_bookType进行的操作添加、修改、删除图书,对图书的编号、所在书架、价格、出版社等根本信息进行管理产生的结果 对图书根本操作管理,对不同图书参数进行各自信息的设置管理结果存储位置或输出 结果存储在图书类型表(tb_book)中,结果在图书查询页面输出 图书借还模块功能该功能模块主要实现对读者借阅、续接、归还图书的操作,其中子模块各自的描述如下各表所列:表3.13 图书借阅描述图书借阅管理功能描述对读者借阅图书进行根本操作和信息管理访问的数据库表图书信息表: tb_bookinfo读者信息表:tb_reader读者类型信息表:tb_resderType进行的操作对读者借阅图书进行管理产生的结果 读者借阅成功,系统对借阅信息进行记录结果存储位置或输出 结果存储在图书借阅表(tb_borrow)中,结果在图书借阅查询页面输出表3.14 图书续借描述图书续接管理功能描述对读者借阅图书进行提续接操作访问的数据库表图书借阅表: tb_borrow进行的操作对借阅的图书进行续接产生的结果 读者归还日期延后一个月结果存储位置或输出 结果存储在图书借阅表(tb_borrow)中图书归还管理功能描述对读者归还图书进行根本操作和信息管理访问的数据库表图书借阅信息表: tb_borrow读者类型信息表:tb_resderType进行的操作对读者借阅图书进行管理产生的结果 读者借阅成功,系统对借阅信息进行记录结果存储位置或输出 结果存储在图书归还表(tb_giveback)中 系统查询模块功能该模块包括对图书馆藏书进行查询,对读者借阅情况进行查询,以及对借阅到期和超期的读者进行提醒的信息,其中三个子模块的各自实习如下所示:表3.16 图书查询描述图书查询功能描述系统用户对馆藏图书信息进行查询操作访问的数据库表图书信息表: tb_book进行的操作用户通过图书的编号,作者,出版社等信息对图书进行相关查询产生的结果 读者查询到相应的图书或系统提醒查询的图书不存在结果存储位置或输出结果在图书查询页面输出表3.17 图书借阅查询描述图书借阅查询功能描述系统用户对读者借阅图书信息进行查询操作访问的数据库表图书借阅表: tb_borrow进行的操作用户通过图书的编号,读者编号等信息对摸个读者或某本图书的借阅情况进行相关查询产生的结果 查询到相应的读者或图书得借阅情况结果存储位置或输出结果在图书查询页面输出表3.18 图书借阅到期提醒描述图书借阅到期提醒管理功能描述对读者借阅的到期图书进行提醒访问的数据库表图书借阅表: tb_borrow图书归还表:tb_giveback读者信息表:tb_reader读者类型信息表:tb_resderType进行的操作对借阅到期和超期的读者进行提醒产生的结果 向借阅到期和借阅超期的读者发送邮件等提醒信息结果存储位置或输出 结果存储在图书借阅到期提醒表4.程序设计与编码开发平台与工具4.1.1 J2EE平台 J2EE ,即是Java2平台企业版Java 2 Platform Enterprise Edition,是原Sun公司现已被甲骨文公司收购为企业级应用推出的标准平台。它简化了企业解决方案的开发、部署和管理相关复杂问题的体系结构,J2EE技术的根底就是核心Java平台或Java 2平台的标准版,J2EE不仅稳固了标准版中的许多优点,例如编写一次、随处运行的特性、方便存取数据库的JDBC API、CORBA技术以及能够在Internet应用中保护数据的平安模式等等,同时还提供了对 EJBEnterprise JavaBeans、Java Servlets API、JSPJava Server Pages以及XML技术的全面支持。其最终目的就是成为一个能够使企业开发者大幅缩短投放市场时间的体系结构。J2EE体系结构提供中间层集成框架用来满足无需太多费用而又需要高可用性、高可靠性以及可扩展性的应用的需求。通过提供统一的开发平台,J2EE降低了开发多层应用的费用和复杂性,同时提供对现有应用程序集成强有力支持,完全支持Enterprise JavaBeans,有良好的向导支持打包和部署应用,添加目录支持,增强了平安机制,提高了性能9。 在开发图书馆借阅管理系统的过程中,应用Myeclipse,它可以在数据库和J2EE的开发、发布,以及应用程序效劳器的整合方面极大的提高工作效率。Myeclipse是功能丰富的J2EE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML, Struts, JSF, CSS, Javascript, SQL10。 WEB效劳器和数据库在系统的开发过程中使用的Web应用效劳器是Tomcat,是Apache 软件基金会Apache Software Foundation的Jakarta 工程中的一个核心工程,由Apache、SUN和其他一些公司及个人共同开发而成。由于有了Sun 的参与和支持,最新的Servlet 和JSP 标准总是能在Tomcat 中得到表达。Tomcat是一个小型的轻量级应用效劳器,它运行时占用的系统资源小、扩展性好、支持负载平衡和邮件效劳等开发应用系统常用的功能,因此在中小型系统和并发访问用户不是很多的时候,经常被使用11。 使用MySQL作为数据库开发工具。MySQL是一个小型关系型数据库管理系统,开发者为瑞典MySQL AB公司。在2021年1月16号被Sun公司收购。目前MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有本钱低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有本钱而选择了MySQL作为网站数据库11。为了开发的便捷快速,使用struts第三方插件。Struts是一个全新的MVC框架,实在WebWork根底上开展起来的12。开发系统用的系统工具如表所示:表4.1 系统开发平台和工具工具名称用途JDK _11MyEclipse SJava 开发工具包J2EE集成开发环境小型关系数据库管理系统MySQL图形化数据库管理工具Web应用效劳器第三方插件,可扩展的Java EE Web框架程序设计程序设计概述在设计的Web层应用了著名的MVC模式,V有JSP来实现,为了业务逻辑和表示的别离.它是基于Web应用系统,它的客户端使用Broswer,然后是Web层的应用,业务逻辑层(有EJB实现),资源管理层。客户请求浏览页面,一般Web层的View有JSP组成,并且使用了大量Taglib。把每个请求映射到某个HTMLAction类来响应它。HTML Action类是一个标准的类,执行选择的HTML Action。使用MVC模式减少了代码的复制,即减少了代码的维护,由于模型返回的格式不带任何显示格式,因而模型可以直接应用于接口的使用,还因为MVC模型把不同的模型和不同的视图组合在一起完成不同的请求,因此,控制层可以说包含了用户请求权限的概念13。在设计中还因应用了Struts框架,Struts跟Tomcat、Turbine等诸多Apache工程一样,是开源软件,这是它的一大优点。使开发者能更深入的了解其内部实现机制11。 除此之外,Struts的优点主要集中表达在Taglib和页面导航。Taglib是Struts的标记库,灵活动用,能大大提高开发效率。页面导航使系统的脉络更加清晰。通过一个配置文件,即可把握整个系统各局部之间的联系,这对于后期的维护有着莫大的好处11。数据库与Web效劳器的连接 数据库连接时采用连接池技术链接SQL,具体代码实现如下:package com.ljj.dao;import java.sql.Connection;import java.sql.Date;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.util.ArrayList;import java.util.List;import com.ljj.model.BookInfo;import com.ljj.model.BookType;import com.ljj.model.Operator;import com.ljj.model.Reader;import com.ljj.model.User;public class Dao protected static String dbClassName = com.microsoft.sqlserver.jdbc.SQLServerDriver;protected static String dbUrl = jdbc:sqlserver:/localhost:1433;+ DatabaseName=db_library;SelectMethod=Cursor;protected static String dbUser = sa;protected static String dbPwd = zhangyong;protected static String second = null;private static Connection conn = null;/创立数据库连接private Dao() try if (conn = null) Class.forName(dbClassName).newInstance();conn = DriverManager.getConnection(dbUrl, dbUser, dbPwd);System.out.println(数据库连接成功!);elsereturn; catch (Exception ee) ee.printStackTrace();/执行查询private static ResultSet executeQuery(String sql) try if(conn=null)new Dao();return conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE).executeQuery(sql); catch (SQLException e) e.printStackTrace();return null; finally /执行更新private static int executeUpdate(String sql) try if(conn=null)new Dao();return conn.createStatement().executeUpdate(sql); catch (SQLException e) System.out.println(e.getMessage();/if(e.getMessage().equals(MicrosoftSQLServer 2000 Driver for JDBCSQLServerDELETE 语句与 COLUMN REFERENCE 约束 FK_TB_BORRO_REFERENCE_TB_BOOKI 冲突。该冲突发生于数据库 db_library,表 tb_borrow, column bookISBN。)return -1; finally /关闭数据库public static void close() try conn.close(); catch (SQLException e) e.printStackTrace();finallyconn = null;/* * 管理员登录方法 */public static Operator check(String name, String password) int i = 0;Operator operater=new Operator();String sql = select * from tb_operator where name= + name+ and password= + password + and admin=1;ResultSet rs = Dao.executeQuery(sql);try while (rs.next() String names = rs.getString(1);operater.setId(rs.getString(id);operater.setName(rs.getString(name);operater.setGrade(rs.getString(admin);operater.setPassword(rs.getString(password);if (names != null) i = 1; catch (Exception e) e.printStackTrace();Dao.close();return operater;/* * 查询类别方法 */查询图书目录public static List selectBookCategory() List list=new ArrayList();String sql = select * from tb_bookType;ResultSet rs = Dao.executeQuery(sql);try while (rs.next() BookType bookType=new BookType();bookType.setId(rs.getString(id);bookType.setTypeName(rs.getString(typeName);list.add(bookType); catch (Exception e) e.printStackTrace();Dao.close();return list;public static List selectBookCategory(String bookType) List list=new ArrayList();String sql = select days from tb_bookType where typeName=+bookType+;ResultSet rs = Dao.executeQuery(sql);try while (rs.next() BookType type=new BookType();type.setDays(rs.getString(days);list.add(type); catch (Exception e) e.printStackTrace();Dao.close();return list;/* * 图书类别表相关操作 * */插入图书类型public static int InsertBookType(String bookTypeName)int i=0;tryString sql=insert into tb_bookType(typeName) values(+bookTypeName+);i=Dao.executeUpdate(sql);catch(Exception e)e.printStackTrace();return i;/更新图书类别public static int UpdatebookType(String id,String typeName)int i=0;tryString sql=update tb_bookType set typeName=+typeName+ where id=+id+;/System.out.println(sql);i=Dao.executeUpdate(sql);catch(Exception e)e.printStackTrace();Dao.close();return i;/删除图书类别public static int DelbookType(String id)int i=0;tryString sql=delete from tb_bookType where id=+id+;/System.out.println(sql);i=Dao.executeUpdate(sql);catch(Exception e)e.printStackTrace();Dao.close();return i;/* * 图书信息表相关操作 */* * 插入图书信息方法 */插入图书信息public static int Insertbook(String ISBN,String typeId,String bookname,String writer,String translator,String publisher,Date date,Double price)int i=0;tryString sql=insert into tb_bookInfo(ISBN,typeId,bookname,writer,translator,publisher,date,price) values(+ISBN+,+typeId+,+bookname+,+writer+,+translator+,+publisher+,+date+,+price+);/System.out.println(sql);i=Dao.executeUpdate(sql);catch(Exception e)System.out.println(e.getMessage();Dao.close();return i;/* * 查询图书相关信息 * */public static List selectBookInfo() List list=new ArrayList();String sql = select * from tb_bookInfo;ResultSet rs = Dao.executeQuery(sql);try while (rs.next() BookInfo bookinfo=new BookInfo();bookinfo.setISBN(rs.getString(ISBN);bookinfo.setTypeid(rs.getString(typeid
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 商业管理 > 商业计划


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!