《图书管理系统》中数据库的优化设计与实现

上传人:仙*** 文档编号:34512508 上传时间:2021-10-21 格式:DOC 页数:32 大小:708.01KB
收藏 版权申诉 举报 下载
《图书管理系统》中数据库的优化设计与实现_第1页
第1页 / 共32页
《图书管理系统》中数据库的优化设计与实现_第2页
第2页 / 共32页
《图书管理系统》中数据库的优化设计与实现_第3页
第3页 / 共32页
资源描述:

《《图书管理系统》中数据库的优化设计与实现》由会员分享,可在线阅读,更多相关《《图书管理系统》中数据库的优化设计与实现(32页珍藏版)》请在装配图网上搜索。

1、 本 科 毕 业 论 文论 文 题 目:图书管理系统中数据库的优化设计与实现指 导 老 师: 学 生 姓 名: 学 号: W442509121300001院 系 :网络教育学院专 业:计算机科学与技术 写 作 批 次 :2011年春目 录摘要 4Abstract 5导言 6第一章 课题的目的及意义7 1.1 可行性分析7第二章 系统框架设计 82.1需求分析92.2 各模块设计 10 第三章 数据库设计 123.1数据ER图 143.2数据表设计143.3数据查询算法19第四章 系统界面设计 214.1数据界面与查询界面234.2图书信息窗 .21第五章 实现与总结 245.1系统实现效果 2

2、55.2总结 .25参考文献 .31致谢词 .32摘要计算机体系是基于WEB的分布,JAVA是当前满足这一趋势的最佳语言之一,由于其本身的开放体系以及简洁的语法,国内JAVA技术应用得以蓬勃发展起来。本文首先介绍了WEB系统性能优化的一些相关技术理论,包括软件开发的设计模式、WEB系统性能衡量指标以及WEB系统性能测试方法,然后介绍了J2EE的一些与性能优化密切相关的核心技术,如:Servlet、JSP、JavaBean及其相关的性能优化方法等等。另外,还专门对数据库性能的优化进行了研究。基于上述现状,本文主要开展以下四方面的工作。一方面,建立基于J2EE和MVC模式的WEB应用系统开发的解决

3、方案;另一方面,分析J2EE应用系统的性能问题,提出影响系统性能的几个主要因素;三方面,根据上面提出的影响系统性能的主要因素分别提出相应的解决策略。如表示层、控制器层、业务逻辑层以及数据库等方面的优化策略。关键词 :图书管理系统,多层次,功能AbstractW the distributed system on web based is the mostly used computer system at the moment and might be in the future.the key technical part and the content of the application

4、Of the national enterprise isaccessing data,data format switch ,logic control,data transmit,data expression and so on, Java has all these advantages,and it has been choosen to develoepa B/S sustem as the development language and platform. So how to assemble the J2EE technology reasonable and achieve

5、 a system with high performance and high expansibility is my researchful emphasis in the thesis.This discourse firstly introduces some correlative technical theory of performance optimize of WEB system,including the design mode of exploring software,the index of how to scale the performance of WEB s

6、ystem.And then it introduces some core technology of J2EE which is correlative closely with the performance optimize,such as Servlet,JSP,JavaBean and some correlative way of performance optimize.In addition, this article has especially studied data base function optimization.Based on above-mentioned

7、 current actuality,The main thesis contains four important aspects.The first one is to establishes WEB application system development solution based on J2EE and the pattern of MVC.The Second aspect is to analyzes the J2EE application system the performance question,and proposes influence system perf

8、ormance several primary factors.The third aspect is to Bringing forword the solution strategy according to the primary factor of influencing the system performance,for example demonstration layer,controller layer,operation logic layer。KEY WORDS: BOOK Management System, java nlevels structure 导言流水之声可

9、以养耳,青禾绿草可以养目,观书译理可以养心。一部好书就是尘世的一盏明灯,照亮了人们的心灵,也照亮了人类历史的路径。书籍成为人们精神和理想的寄托,而书的滋养确实是任何其他事物所无法替代的。由于人们对读书的需求越来越大,程式医嘱样的图书馆应运而生,一直以来使用传统人工和方式管理档案,现在图书各类多数目庞大,读者借阅频繁,这方式工作繁琐,查询效率低,数据易失,难备份,时间一长,将产生大量文件和数据,这对查找、更新和维护都有好在困难。随着Internet的飞速发展,WEB应用技术日趋成熟。特别是SUN公司推出的J2EE技术被应用于越来越多的企业系统建设中。自JAVA面世以来,与JAVA性能相关的争论一

10、直没有平息,而JAVA也在这些争论中不断发展,慢慢走向成熟。另一方面,企业的信息化程度加强,对企业应用系统提出的要求也越来越高。为此,我想作一个图书管理系统管理的优化来对系统所涉及的问题作一个解决方法。第一章 课题的目的及意义世界经济发展已进入一个激烈竞争的年代,可以说,谁先获得信息,谁就有可能抓住发展经济的机遇。同样,谁能很好地管理和利用信息,谁就有可能占领市场,获得效益。国内外大量事实已说明:在目前这个激烈竞争的市场经济中,谁的信息管理现代化水平高。我选择了“图书馆管理系统”这样一个教为普遍,同时又较为典型的课题。在这样一个科技高速发展的社会里,仅有理论知识是显然不行的,所以,我希望通过开

11、发这个系统,能更好地把理论与实际结合起来,充分将自己所学的专业知识应用于实践之中,并在实践中不断充实自己,提高自己的专业技能水平,以获取更多的教益。选题的目的及研究意义:图书管理系统是一种基于集中统一规划的数据库数据管理新模式。在对图书、读者的管理,其实是对图书、读者数据的管理。本系统的建成无疑会为管理者对图书管理系统提供极大的帮助。图书馆的使命在于培养社会公众的阅读习惯、支持各类教育、提供和激发创造机会、加强文化保存与传播、保证获取各种知识、提供知识服务和促进信息技术的发展,以知识自由为图书馆职业的逻辑起点核心价值最具综合性与统摄性, 并演绎出其它图书馆各核心价值体系, 图书馆应与所有倡导自

12、由表达和自由获取思想的个人和团体合作”和“不受年龄、种族、性别、宗教信仰、国籍、语一言或社会地位的限制”等方面; 富有成效的参与和民主的发展有赖于良好的教育和对知识、思想、文化及信息的自由和不受限制的获取。对信息和知识利用与获取得到满足,那么社会公众对图书馆这种特有的信息物利益意识获得满足。在倡导自由、公平社会里,社会公众信自、利益的获得和满足必须依靠和通过利用图书馆信息资源提供各种制度关系中得到体现, ,知识的最大利用原则得到更广泛的认同,并发展为“每本书有其读者”的职业法则。到本世纪初,由于信息资源的网络化和数字化,图书馆信息资源共建、共享的思想得到落实,图书馆信息的社会效益得到发展,这使

13、图书馆的信息价值得到进一步体现。项目背景: 随着信息膨胀和工作节奏的日益加快,手工模式已经无法满足办公现代化的需要,办公自动化系统作为提高工作效率、规范办公制度、降低办公成本、方便领导决策的重要工具,电子办公正领导着现代化办公的潮流。目的:利用先进的科学技术和信息资源,为提高办公效率,辅助决策,求得更好的效果,以达到既定(即经济或其它方面)的目标。选题的目的及研究意义:图书管理系统是一种基于集中统一规划的数据库数据管理新模式。在对图书、读者的管理,其实是对图书、读者数据的管理。本系统的建成无疑会为管理者对图书管理系统提供极大的帮助。要求:安全、及时、准确、可靠地采集和传输办公相关的所有信息思路

14、:采用计算机、通信技术、应用计算机设备、通信设备实现自动化办公。1.1 可行性分析可行性分析就是在系统调查的基础上,针对新系统的开发是否具备必要性和可能性,对新系统开发包括经经济可行性、技术可行性、操作可行性。可行性分析要求:主要功能是负责图书外借情况和图书管理。只有以图书管理员的身份才可以进行管理。可行性分析目标:方便图书馆管理人员对图书的借阅、归还等方便快捷的管理方式,同时也让读者随时可以清楚自己的借阅情况。公司的图书管理涉及图书信息、读者信息、图书借阅等多种数据管理。从管理睥角度可将图书分为三类:图书信息管理、系统用户管理、读者数据管理。图书信息管理包括图书购入、借还、查询等操作,系统用

15、户管理包括用户类别和用户数据管理,读者数据管理 包括,读者的类别和个人数据的录入、修改和删除。经过实际考察与分析,图书管理系统主要应用有发下功能:清楚图书管理系统需要实现的功能主要有五大块:“新书登记”、“借书管理”、“还书管理”、 “用户管理”和“书籍查询”模块。其中日常工作管理和基本资料维护是整个系统的核心。本次可行性分析是按照前面给出的步骤进行的,即按照复查项目目标和规模,研究目前正使用的系统,导出新系统的高层逻辑模型,重新定义问题这一循环反复过程进行的。本系统的研制和开发充分考虑用户工作流程、计算机操作水平等,尽可能提供更人性化、直观的界面,满足用户要求。系统的操作方式在用户组织内可行

16、。本系统采用的是JSP、Servlet和MySQL开发,Windows XP操作系统,用Dreamweaver进行前台网页界面设计、采用JDBC方式与后台数据库进行连接,完成数据的添加、修改、删除、查询等功能。Servlet技术是Sun公司提供的一种实现动态网页的解决方案,它是基于Java编程语言的WEB服务器端编程技术,主要用于在WEB服务器端获得客户端的访问请求信息和动态生成对客户端的响应消息。Servlet技术也是JSP技术(另外一种动态网页开发技术)的基础。一个Servlet程序就是一个实现了特殊接口的Java类,用于被支持Servlet的WEB服务器调用和运行,即只能运行于具有Ser

17、vlet引擎的WEB服务器端。一个Servlet程序负责处理它所对应的一个或一组URL地址的访问请求,接收访问请求信息和产生响应内容。JDBC(Java Data Base Connection,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序,同时,JDBC也是个商标名。有了JDBC,向各种关系数据发送SQL语句就是一件很容易的事。换言之,有了JDBC API,就不必为访问Sybase数据库专门写一个程序,为

18、访问Oracle数据库又专门写一个程序,或为访问Informix数据库又编写另一个程序等等,程序员只需用JDBC API写一个程序就够了,它可向相应数据库发送SQL调用,将Java语言和JDBC结合起来使程序员只须写一遍程序就可以让它在任何平台上运行。JDBC对Java程序员而言是API,对实现与数据库连接的服务提供商而言是接口模型。作为API,JDBC为程序开发提供标准的接口,并为数据库厂商及第三方中间件厂商实现与数据库的连接提供了标准方法。JDBC使用已有的SQL标准并支持与其它数据库连接标准,如ODBC之间的桥接。JDBC实现了所有这些面向标准的目标并且具有简单、严格类型定义且高性能实现

19、的接口,而且JDBC 还扩展了 Java 的功能。例如,用 Java 和 JDBC API 可以发布含有 applet 的网页,而该 applet 使用的信息可能来自远程数据库企业也可以用 JDBC 通过 Intranet 将所有职员连到一个或多个内部数据库中即使这些职员所用的计算机有 Windows、Macintosh 和UNIX 等各种不同的操作系统。第二章 系统框架设计j2EE为搭建具有可伸缩性、灵活性、易维护性的商务系统提供了良好的机制:J2EE架构可以充分利用用户原有的投资,如一些公司使用的BEA Tuxedo、IBM CICS, IBM Encina,、Inprise VisiBr

20、oker 以及Netscape Application Server。这之所以成为可能是因为J2EE拥有广泛的业界支持和一些重要的企业计算领域供应商的参与。J2EE允许公司把一些通用的、很繁琐的服务端任务交给中间件供应商去完成。这样开发人员可以集中精力在如何创建商业逻辑上,相应地缩短了开发时间。(1)伸缩性。支持异构环境: J2EE能够开发部署在异构环境中的可移植程序。基于J2EE的应用程序不依赖任何特定操作系统、中间件、硬件。因此设计合理的基于J2EE的程序只需开发一次就可部署到各种平台。这在典型的异构企业计算环境中是十分关键的。J2EE标准也允许客户订购与J2EE兼容的第三方的现成的组件,

21、把他们部署到异构环境中,节省了由自己制订整个方案所需的费用。(2)可伸缩性: 企业必须要选择一种服务器端平台,这种平台应能提供极佳的可伸缩性去满足那些在他们系统上进行商业运作的大批新客户。基于J2EE平台的应用程序可被部署到各种操作系统上。例如可被部署到高端UNIX与大型机系统,这种系统单机可支持64至256个处理器。(这是NT服务器所望尘莫及的)J2EE领域的供应商提供了更为广泛的负载平衡策略。能消除系统中的瓶颈,允许多台服务器集成部署。这种部署可达数千个处理器,实现可高度伸缩的系统,满足未来商业应用的需要。稳定的可用性: 一个服务器端平台必须能全天候运转以满足公司客户、合作伙伴的需要。因为

22、INTERNET是全球化的、无处不在的,即使在夜间按计划停机也可能造成严重损失。若是意外停机,那会有灾难性后果。J2EE部署到可靠的操作环境中,他们支持长期的可用性。(3). J2EE 的四层模型J2EE使用多层的分布式应用模型,应用逻辑按功能划分为组件,各个应用组件根据他们所在的层分布在不同的机器上。事实上,sun设计J2EE的初衷正是为了解决两层模式(client/server)的弊端,在传统模式中,客户端担当了过多的角色而显得臃肿,在这种模式中,第一次部署的时候比较容易,但难于升级或改进,可伸展性也不理想,而且经常基于某种专有的协议通常是某种数据库协议。2.1需求分析.现在J2EE 的多

23、层企业级应用模型将两层化模型中的不同层面切分成许多层。一个多层化应用能够为不同的每种服务提供一个独立的层,以下是 J2EE 典型的四层结构:运行在客户端机器上的客户层组件运行在J2EE服务器上的Web层组件运行在J2EE服务器上的业务逻辑层组件运行在EIS服务器上的企业信息系统(Enterprise information system)层软件J2EE应用程序组件J2EE应用程序是由组件构成的.J2EE组件是具有独立功能的软件单元,它们通过相关的类和文件组装成J2EE应用程序,并与其他组件交互。J2EE说明书中定义了以下的J2EE组件应用客户端程序和applets是客户层组件.Java Ser

24、vlet和JavaServer Pages(JSP)是web层组件.Enterprise JavaBeans(EJB)是业务层组件.客户层组件,J2EE应用程序可以是基于web方式的,也可以是基于传统方式的.web 层组件J2EE web层组件可以是JSP 页面或Servlets.按照J2EE规范,静态的HTML页面和Applets不算是web层组件。web层可能包含某些 JavaBean 对象来处理用户输入,并把输入发送给运行在业务层上的enterprise bean 来进行处理。由运行在业务层上的enterprise bean 进行处理.表明了一个enterprise bean 是如何从客

25、户端程序接收数据,进行处理(如果必要的话), 并发送到EIS 层储存的,这个过程也可以逆向进行。有三种企业级的bean: 会话(session) beans, 实体(entity) beans, 和 消息驱动(message-driven) beans. 会话bean 表示与客户端程序的临时交互. 当客户端程序执行完后,会话bean 和相关数据就会消失. 相反, 实体bean 表示数据库的表中一行永久的记录当客户端程序中止或服务器关闭时, 就会有潜在的服务保证实体bean 的数据得以保存消息驱动 bean 结合了会话bean 和 JMS的消息监听器的特性, 允许一个业务层组件异步接收JMS 消

26、息.企业信息系统层企业信息系统层处理企业信息系统软件包括企业基础建设系统例如企业资源计划 (ERP), 大型机事务处理, 数据库系统,和其它的遗留信息系统. J2EE 的结构这种基于组件,具有平台无关性的J2EE 结构使得J2EE 程序的编写十分简单,因为业务逻辑被封装成可复用的组件,并且J2EE 服务器以容器的形式为所有的组件类型提供后台服务.容器和服务容器设置定制了J2EE服务器所提供得内在支持,包括安全,事务管理,JNDI(Java Naming and Directory Interface)寻址,远程连接等服务,以下列出最重要的几种服务:J2EE安全(Security)模型可以让你配

27、置 web 组件或enterprise bean ,这样只有被授权的用户才能访问系统资源. 每一客户属于一个特别的角色,而每个角色只允许激活特定的方法。你应在enterprise bean的布置描述中声明角色和可被激活的方法2.2 各模块设计。(1)新书登记:主要功能是记录新到书籍的原始资料。在数据库中插入一条新记录,该记录包括登记编号、种类、名称、作者、。(2)借书管理:主要功能是记录借书人和书编号,进行借书过程。在数据库中插入一条借书记录,该记录包括借书人、书编号、借出日期、是否借出。(3)还书管理:主要功能是在借阅登记表中找到相应的记录,将该记录的相应数据插入到还书记录中,同时将借书记录

28、删除,并保存在借阅历史记录表中。(4)用户管理:包括新会员的资料入库,以及现有会员资料的修改和删除。(5)书籍查询:根据相应的图书信息对所有书籍进行所需查询。此查询包括:书名、作者。J2EE 事务管理(Transaction Management)模型让你指定组成一个事务中所有方法间的关系,这样一个事务中的所有方法被当成一个单一的单元. 当客户端激活一个enterprise bean中的方法,容器介入一管理事务。因有容器管理事务,在enterprise bean中不必对事务的边界进行编码。要求控制分布式事务的代码会非常复杂。你只需在布置描述文件中声明enterprise bean的事务属性,而

29、不用编写并调试复杂的代码。容器将读此文件并为你处理此enterprise bean的事务。JNDI 寻址(JNDI Lookup)服务向企业内的多重名字和目录服务提供了一个统一的接口,这样应用程序组件可以访问名字和目录服务.J2EE远程连接(Remote Client Connectivity)模型管理客户端和enterprise bean间的低层交互. 当一个enterprise bean创建后, 一个客户端可以调用它的方法就象它和客户端位于同一虚拟机上一样.生存周期管理(Life Cycle Management)模型管理enterprise bean的创建和移除,一个enterprise

30、 bean在其生存周期中将会历经几种状态。容器创建enterprise bean,并在可用实例池与活动状态中移动他,而最终将其从容器中移除。即使可以调用enterprisebean的create及remove方法,容器也将会在后台执行这些任务。truts(表示层)+Spring(业务层)+Hibernate(持久层)Struts:是一个表示层框架,主要作用是界面展示,接收请求,分发请求。在MVC框架中,Struts属于VC层次,负责界面表现,负责MVC关系的分发。(View:沿用JSP,HTTP,Form,Tag,Resourse ;Controller:ActionServlet,strut

31、s-config.xml,Action)Hibernate:是一个持久层框架,它只负责与关系数据库的操作。Spring:是一个业务层框架,是一个整合的框架,能够很好地黏合表示层与持久层。我们知道,传统的Java Web应用程序是采用JSP+Servlet+Javabean来实现的,这种模式实现了最基本的MVC分层,使的程序结构分为几层,有负责前台展示的 JSP、负责流程逻辑控制的Servlet以及负责数据封装的Javabean。但是这种结构仍然存在问题:如JSP页面中需要使用符号嵌入很多的 Java代码,造成页面结构混乱,Servlet和Javabean负责了大量的跳转和运算工作,耦合紧密,程

32、序复用度低等等。Struts 为了解决这些问题,出现了Struts框架,它是一个完美的MVC实现,它有一个中央控制类(一个 Servlet),针对不同的业务,我们需要一个Action类负责页面跳转和后台逻辑运算,一个或几个JSP页面负责数据的输入和输出显示,还有一个 Form类负责传递Action和JSP中间的数据。JSP中可以使用Struts框架提供的一组标签,就像使用HTML标签一样简单,但是可以完成非常复杂的逻辑。从此JSP页面中不需要出现一行包围的Java代码了。 可是所有的运算逻辑都放在Struts的Action里将使得 Action类复用度低和逻辑混乱,所以通常人们会把整个Web应

33、用程序分为三层,Struts负责显示层,它调用业务层完成运算逻辑,业务层再调用持久层完成数据库的读写。 使用JDBC连接来读写数据库,我们最常见的就是打开数据库连接、使用复杂的SQL语句进行读写、关闭连接,获得的数据又需要转换或封装后往外传,这是一个非常烦琐的过程。 Hibernate 这时出现了 Hibernate框架,它需要你创建一系列的持久化类,每个类的属性都可以简单的看做和一张数据库表的属性一一对应,当然也可以实现关系数据库的各种表件关联的对应。当我们需要相关操作是,不用再关注数据库表。我们不用再去一行行的查询数据库,只需要持久化类就可以完成增删改查的功能。使我们的软件开发真正面向对象

34、,而不是面向混乱的代码。我的感受是,使用Hibernate比JDBC方式减少了80%的编程量。 现在我们有三个层了,可是每层之间的调用是怎样的呢?比如显示层的Struts需要调用一个业务类,就需要new一个业务类出来,然后使用;业务层需要调用持久层的类,也需要new一个持久层类出来用。通过这种new的方式互相调用就是软件开发中最糟糕设计的体现。简单的说,就是调用者依赖被调用者,它们之间形成了强耦合,如果我想在其他地方复用某个类,则这个类依赖的其他类也需要包含。程序就变得很混乱,每个类互相依赖互相调用,复用度极低。如果一个类做了修改,则依赖它的很多类都会受到牵连。 为此,出现Spring框架。

35、Spring Spring的作用就是完全解耦类之间的依赖关系,一个类如果要依赖什么,那就是一个接口。至于如何实现这个接口,这都不重要了。只要拿到一个实现了这个接口的类,就可以轻松的通过xml配置文件把实现类注射到调用接口的那个类里。所有类之间的这种依赖关系就完全通过配置文件的方式替代了。所以 Spring框架最核心的就是所谓的依赖注射和控制反转。 现在的结构是,Struts负责显示层,Hibernate负责持久层,Spring负责中间的业务层,这个结构是目前国内最流行的Java Web应用程序架构了。另外,由于Spring使用的依赖注射以及AOP(面向方面编程),所以它的这种内部模式非常优秀,

36、以至于Spring自己也实现了一个使用依赖注射的MVC框架,叫做Spring MVC,同时为了很好的处理事物,Spring集成了Hibernate,使事物管理从Hibernate的持久层提升到了业务层,使用更加方便和强大。 Struts框架是2000年就开始起步了,到目前已经发展了5年,技术相当成熟,目前全球Java开发中Struts框架是显示层技术中当之无愧的王者。它拥有大量的用户群和很好的开发团队。这也是国内大部分Java软件公司对新进员工的基本要求。 其他 Java这个名词似乎注定和开源紧密联系在一起了,在Java界,每天都有大量的开源技术出现,由于是开放源代码的,技术中存在的问题和不足

37、很快就会被人发现,开源软件提供者会很快的修正或扩展这些技术,因此版本更新很快,几个星期或者几天就有一个新版本出来。 当我们在技术线路中选择了Java,也就选择了你必须持续学习,经常关注最新的技术,了解它们,看是否适合你的需要,然后学习使用它们。第三章 数据库设计数据库主要着重于数据对象的属性和数据对象之间的关系的分析。一般采用E-R图,即实体-关系模型来分析数据对象的属性和数据对象之间的关系。编写好档案系统的业务逻辑类,将有关系统域模型全部建全,因为使用STRUTS的MVC框架,所以接下来将编写STRUTS的控制器类,根据档案管理实现功能;用户管理控制类、登录控制器类和档案借阅记录控制器类、控

38、制器类都继承了Atruts提供 AcrionSupport控制存在位置接口PositionService, 主要用来定义存放位置,包括新增、修改、删除和查询存在位置。MVC全称为MODEL-View-Controllet,把一个应用的输入层、业务处理层、控制流程按照Vie(视图)、 Model (模型) 、Controllet(控制器)的方式进行分离,这样一个应用程序就被划分成相对独立而又协同工作的三个层,视图层、模型层、控制层。在MVC设计模式中,客户端WEB浏览器会提交各种不同的用户请求,这些请求由控制器处理,控制器根据事件的类型来改变模型视图效果,呈现在用户面前,而模型 也通过视图所获得

39、的用户提交的数据进行业务逻辑的处理.MVC模式主要由模型、控制器、视图三部分组成 ,其中控制器的主要责任是接收客户端所提交的请求,并将请求转发给适当的模型对象进行处理,再将处理的结果发给视图进行显示。MVC通常会使用Servlet 来担任控制器的角色,因为在Servlet中可以直接使用H ttpServletRequst, H ttpServleponse 等类来表示请求和请求响应对象。模型的主要作用是根据客户的请求来进行相应的业务运算,这部分的功能在MVC中主要使用JavaBean 来完成,这部分的代码不能依赖于Servlet 的API,从而可以保证业务逻辑的可移植性,控制器将模型运算的结果

40、送到视图,视图负责将这部分数据显示在客户端,这功能在MVC中主要是使用JSP来完成,因为JSP 允许在HTML当中插入JAVA代码,从而完成复杂的操作,数据库主要着重于数据对象的属性和数据对象之间的关系的分析。一般采用E-R图,即实体-关系模型来分析数据对象的属性和数据对象之间的关系。编写好档案系统的业务逻辑类,将有关系统域模型全部建全,因为使用STRUTS的MVC框架,所以接下来将编写STRUTS的控制器类,根据档案管理实现功能;用户管理控制类、登录控制器类和档案借阅记录控制器类、控制器类都继承了Atruts提供 AcrionSupport控制存在位置接口PositionService, 主

41、要用来定义存放位置,包括新增、修改、删除和查询存在位置。MVC全称为MODEL-View-Controllet,把一个应用的输入层、业务处理层、控制流程按照Vie(视图)、 Model (模型) 、Controllet(控制器)的方式进行分离,这样一个应用程序就被划分成相对独立而又协同工作的三个层,视图层、模型层、控制层。在MVC设计模式中,客户端WEB浏览器会提交各种不同的用户请求,这些请求由控制器处理,控制器根据事件的类型来改变模型视图效果,呈现在用户面前,而模型 也通过视图所获得的用户提交的数据进行业务逻辑的处理.MVC模式主要由模型、控制器、视图三部分组成 ,其中控制器的主要责任是接收

42、客户端所提交的请求,并将请求转发给适当的模型对象进行处理,再将处理的结果发给视图进行显示。MVC通常会使用Servlet 来担任控制器的角色,因为在Servlet中可以直接使用H ttpServletRequst, H ttpServleponse 等类来表示请求和请求响应对象。模型的主要作用是根据客户的请求来进行相应的业务运算,这部分的功能在MVC中主要使用JavaBean 来完成,这部分的代码不能依赖于Servlet 的API,从而可以保证业务逻辑的可移植性,控制器将模型运算的结果送到视图,视图负责将这部分数据显示在客户端,这功能在MVC中主要是使用JSP来完成,因为JSP 允许在HTML

43、当中插入JAVA代码,从而完成复杂的操作。3.1数据ER图 要求:该系统应该具有对图书信息、读者信息进行存储和管理,并能够保存图书信息、读者信息、借阅信息、帐号信息,并具有用户管理的功能。该系统能极大地减少图书管理员的日常工作,并提供图书借阅报表,给图书管理员的图书管理提供辅助决策的功能。功能:图书管理系统最主要功能是图书信息管理、读者信息管理、图书借阅管理、用户管理等功能。性能、书管理系统的使用者是图书管理员和读者。对于图书管理员的管理工作,性能要求不是很严格,但需要方便图书入库等操作。系统的输出(1)图书库存情况(2)读者图书预定需求。(3)图书借阅情况。系统的输入(1)新书入库。(2)读

44、者图书借阅。(3)用户数据添加。 处理流程和数据流3.1数据ER图图 书 表读 者 表借阅登记表管理员注销用户登录 类型。编号读者管理 管理员编号密码名称修改删除添加借还还书时间修改管理理图书借书时间。类型编号删除添加图3.11 图书管理系统E-R (2)实体的各种属性:用椭圆表示,椭圆内为属性名称。使用线段将其和响应的实体连接起来。(3)实体之间的联系:用菱形表示,菱形内为联系的名称。实体玫实体之间联系表示,菱形内为联系的名称。实体和实体之间的联系较多,比较常见的联系有1:1,1:N.和N:M这三种。3.2数据库逻辑结构设计概念是独立于实际数据模型的信息结构,必须将其转化为逻辑结构后才能进行

45、数据库应用的设计。第一种转化是将实体转化 为关系表,这种转化简单,需要将实体的属性定义为表的属性即可。第二种转化是联系的转化。即将各个实体之间的联系转化为表格之间的关系,如外部键的定义。图书管理系统中要有图书,图书是图书管理系统中密不可分的部分,因此要创建一图书信息实体,用来保存图书的详细信息。图书信息实体属性图如下:图书信息实体名称类型条形码操作员入库时间库存数量书架页码价格作者读者出版社图3-2图书信息实体读者是图书管理系统重要组成部分,这里创建了一个读者信息实体,用来存储读者的详细信息。读者信息实体E_R图读者信息实体读者名称读者编号性别备注操作员注册日期电话证件号码读者类型读者信息实体

46、属性图图书管理系统为了增加系统的安全性,管理员只有在系统登陆模块验证通过后才能进入管理员的操作界面,因此在数据库中创建一个存放登陆用户信息的管理编号名称密码管理员实体表2-2读者信息列 名数据类型长 度主 键证号int4Yes姓名varchar20联系方式varchar50已借书数目int4读者类别int4表2-3借阅信息列 名数据类型长 度主 键证号int4Yes借阅日期datetime8应归还日期datetime8实际归还日期datetime8续借bit1表2-4书籍信息列 名数据类型长 度主 键书号char10Yes书类别nchar50作者nchar50定价money8总册数int4库存

47、量int4出版社varchar50书名varchar50表2-5管理者信息列 名数据类型长 度主 键用户名称char20Yes密码char20权限int4录模块设计为用户常用功能,包括用户登陆、验证码、用户注册、找回密码。1用户登陆用户通过用户名,密码,验证码登陆。2用户注册可以通过点击链接到注册页面,完成新用户注册。3验证码用户登陆时要求用户输入一组随机的文字,假如看不清可以点击“看不清楚,换一张”,若输入错误则不能登陆。4密码找回当个人忘记密码时,由其通过回复注册时填写的问题,如果正确可以找回密码。5.2.2 登录模块实现 用户登录:打开网页进入首页点击“用户注册”进入到用户注册页面,如图

48、5.2,填写应经注册过的账号和密码,如果账号或密码错误,则系统提示登录失败,重新登录,成功则跳转到首页。忘记密码的用户可以点击“取回密码”按钮,按照系统的提示一步一步的操纵,填写密码提示问题的答案,从而找回密码。在主窗体上单击“显示报表”,那么就可以查看反映读者信息和借阅信息的报表,借阅信息的报表如图所示。读者信息表 号码: 姓名: 性别:男 女 你喜欢下列哪方面的书籍: 哲学 自然科学 文学 经济学 计算机 人文地理 政治学 医药学你的照片 你最近想读的书: 请将书名输入此处 借阅信息表在login对话框输入 信息然后查询1.选择File 菜单 ,New APPlication 选项,在 A

49、PPlication File Nan输入 c:MYBOOKAPPMYBOOKAPP.ear, 在application Disply Name输入MYBOOKAPP, 点 OK .2. 选择FILE菜单,MEW ENTETPRISE BEAN选项,第一个界面为直接NEXT。第二个界面,选中Create New Jar File Ln APPlication,在下面的下拉列表框中选择,MYbookapp, 在JAR Display Name 中指定名字BOOKJAR, 在Contens 框 中添加 CLASS 文件,按 EDIT 添加,在ROOTDIRECTORY 中指定C:MYBOOKAPP

50、BEN为根目录,按回车,选出BOOK,CLASSBOOKHOMECLASSBOOKBEAN.CLASS通过ADD添加到下边的框中,这是三个基本构建EJB文件,按OK确定,按NEXT进入下一步,第三界面中:在BEAN TYPE中选中Entity,在Enterprise Bean CLASS中选中 borrowbean, 在 Enterprise Bean Name中指定 bookEJB, 在Remote Home lnterface 中指定BookWJB, 在 Remote Home Lntetface中选中BookHome, 在 Remote Lnterface中选中book ,按,NEXT进

51、入下一步,第四、五、六、七个界面中可以直接按NEXT,体各项情况,不用做配置。在第八个界面中,Resource Facrories Referenced in Code r 页面中,点 ADD 然后在 CodeName 中填入 JDBC/Book,在 JNDI NAME中填入 jdbc/book,最后点 FINISH完成。4.选择FILE菜单,民NEW Enterprise beant选项,第一个界面为说明,直接NEXT,第二个选中Create new jarFlie ln application,在列表框选MYbookAPP 在JAR Diwplay NAME 中指定名字BORROWJAR

52、在 CONTENTS 添加CLASS文件,按 EDLT 添加,Dorectory 中指定 c:MYBOOKAPPBEAN为目录,按回车,选Borrw.classBorrowHome.class.borrowbean.class 通过ADD添加到下边框,这三个最基本构建EJB的文件,按OK, 按next进入下一步,第三个界面中:在Bean type 中选中Entity,在 EnterpriseBEANclass中选中borrowbean,在 Enterprise Bean Name指定borrowEJB,在R emote lnterface 中选中BORROWM 按NEXT进入下一步按,NEXT

53、进入下一步,第四、五、六、七个界面中可以直接按NEXT,体各项情况,不用做配置。在第八个界面也就是,Resource Facrories Referenced in Code r 页面中,点 ADD 然后在 CodeName 中填入 JDBC/Book,在 JNDI NAME中填入 jdbc/book,最后点 FINISH完成。指定Home Lnterface 为 borrowHome ,指定loca/Remote lnterface 为borrow在下面的JNDIName 中选择myborrow.再次ADD,然后指定 lnterfaces 为remote 指定home lnterface 为

54、usethom e指定 type为ebtity指定 lnterfaff 为re,pte指定home ;mterave 在下面的jndi NAME中选择 myuset 接下来将JAVA客户端程序添加 mybookAPP到应用中.NAME 中指定名字 booksessoinJAR, 在 CONTENTS 框中添加CLASS文件 按 EDIT添加 ,在ROOT DIRECTORY中指定C:/MYBookApp/BEAN为根目录 BORROWPANEL$BTAL.CLASS, borrowpaneo.class,branch.class,businesslogic.class,datamodel.cl

55、ass,logindig$btai.class,mycient.classl,logiondog.class,myc;oemt.class,borrowpanel,class,branch,class,businesslogic,class,datamodel.class.logindig$btai,class,login.xlass.myclientFrame$treeSL,class,myclientframe,class,mycilentFRAME$TREEsl.class.mycllienttree.class,QueryPanel$btal.class,Querypanei.clas

56、s,RETURNpaNEI$BTal.CLASS,reTURNpanel$btReturnal.class,ReturmPanel.class, 通过ADD添加到下边的框中按OK,按NEXT进入下一步,第三个界面中:在MAINCLASS中选中myclient,指定DISPLAY 为 Display Name为MYCLIENT,按NEXT进入一下步,第四个界面中可以直接按NEXT,第五个界面中,EJBSREFERENCDE IN CODE的页面中,点ADD,然后指定CODED NAME 为 ejb/simplebooksession,指定TYPE为SESSION,指定LNTERFACES为Rem

57、ote,指定 home lnterface 为 booksessionhome,1)在选择菜单“项目”中的“添加新项”对话框中选择Crystal Report选项。不要把它写成软件开发过程。(2)在“名称”文本框中输入报表名“读者信息报表.rpt”,单击“打开”按钮,就会弹出入图所示的“Crystal Report库”对话框。(3)在其对话框中选择“使用报表专家”单选按钮,在“选择专家”列表框中选择“标准”选项,单击“确定”按钮,进入下一步。(4)在弹出的“标准报表专家”对话框中,选择“可用的数据源”列表框中的OLB DB(ADO)选项,就会弹“OLE DB(ADO)”对话框。选择OLB DB

58、提供程序为Microsoft OLE DB Provider for SQL Server,单击“下一步”按钮,显示 “连接信息”对话框。(5)在其中设置连接信息,单击“完成”按钮,返回“标准报表专家”对话框。(6)选择数据源为OLE DB(ADO)中的Library数据库,并且选中其中的“读者信息”表。单击“插入表”按钮,把“读者信息”表插入到报表中,单击“下一步”按钮。(7)在“字段”选项卡中单击“全部添加”按钮,把“读者信息”表中的所有字段添加到报表中,单击“完成”按钮就完成报表的设计。设计完成的“读者报表”如图所示。Spring 框架是一种管理业务对象的,图书管理系统的控制模型都继承SPRING提供的MULTIACTIONCONTROLLER类,需要4个控制器,主要是图书控制器、借阅规则控制器、用户控制器和借阅控制器。图书实体类,它通过数据库连接技术 依据组件开发模式的思想,系统将访问数据库的功能封装在组件中。基于Java可采用Java Bean和EJB技术,考虑到EJB虽然功

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

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

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


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