【delphi开源代码栏目提醒】:网学会员为广大网友收集整理了,基于struts的图书预订管理系统 - 毕业设计,希望对大家有所帮助!
摘要 随着科学技术的进步,计算机行业的迅速发展,大大提高人们的工作效率。
计算机信息处理系统的引进已彻底改变了许多公司的经营管理 。
甚至附近的一个小店主也可能正在用计算机来控制销售、记账以及其他活动。
在一些大公司里,电子信息处理系统监测全部工作设备的操作与运行。
图书管理系统是学校管理机制中的重要组成部分,通过对图书管理系统的运行管理机制进行调查研究,开发了此图书系统。
本系统中解决了学校图书管理事务中的常用基本问题以及相关统计工作。
本系统中包含 6 个功能模块:系统设置,读者管理,图书管理,图书借还,系统查询和更改口令。
本系统使有 jsp 进行网页界面的设计,使用 MVC 设计模式,采用了
开源框架 Struts它采用了当今软件设计的最新技术,具有开发效率高、设计灵活、生成的软件界面友好美观等特点。
本系统中通过 jdbc 驱动和数据库进行无缝连接,后端的数据库是 mysql,也是一个
开源的数据库系统,该数据库具有较高的完整性,一致性和安全性。
关键词 图书管理;信息管理;JSP;strutsAbstract With the progress of science and technologythe rapid development of thecomputer industry improve peoples working efficiency greatly.The introduction ofcomputerized information systems has sharply changed management control in manycompanies. Even a neighborhood shopkeeper may now use computers to control salesbilling and other activitise . In large companies electronic data processing systemsmonitro entire projects and sets of operations.The management of books is the importantpart of the administration of school organization. Investigations through the mechanism ofmanagement the books system. This system contains six modules namely system set reader informantionmanagement book information managementbooks borrowing and returningsysteminformation query and password set.This system use Java Server Pages Techonolege carryon front develop the software design mode of MVC with open source frameworktechonolege namely Struts which adopts new technologies most who software designnowadays and has to be high to develop efficency designflexible beautiful friendshipinterface software that produce etc.characteristic. This system use jdbc driver to connectthe mysql database serverwhich is also an open source database system in the world.It hashigh integrity security and consistency. Key words books management information management JSP struts 目 录前 言 ............................................................. 51 JAVA 的网络功能与编程 ............................................ 71.1 JAVA 语言简介 ................................................. 71.2 JAVA 语言在网络上的运用 ........................................ 71.3 sevlet 技术简介 ................................................ 71.4 Struts 概述 .................................................... 81.4.1 Struts 的由来和发展 .......................................... 8 1.4.2 MVC 简介.................................................. 8 1.4.3 jsp 发展模型对比 ......................................... 101.5 Struts 的优缺点 ............................................... 10 1.5.1 Struts 的优点 ............................................ 10 1.5.2 Struts 的缺点 ............................................ 11 1.5.3 Struts 的工作流程 ........................................ 112 系统需求分析 ................................................... 132.1 需求分析 ..................................................... 13 2.1.1 问题定义 ................................................ 13 2.1.2 可行性研究 .............................................. 13 2.1.3 图书管理系统具体任务要求和运行过程....................... 142.2 技术方面可行性分析 ............................................ 14 2.2.1 软件分析 ................................................ 14 2.2.2 人员分析 ................................................ 152.3 经济方面可行性分析 ............................................ 152.4 结论 ......................................................... 153 系统总体设计 ................................................... 163.2 系统总体软件结构 .............................................. 173.3 数据库设计.................................................... 19 3.3.1 数据项和数据结构 ........................................ 19 3.3.2 数据库概念设计 .......................................... 20 3.3.3 数据库物理表设计 ........................................ 234 主要功能详细设计 ............................................... 254.1 封装了数据操作层的类com.core.ConnDB实现 ...................... 254.2 系统登陆模块的实现 ............................................ 274.3 图书信息管理模块的实现 ........................................ 29 4.3.1 图书类别信息添加功能实现 ................................ 30 4.3.2 图书类别信息维护功能实现 ................................ 31 4.3.3 图书信息添加功能实现 .................................... 334.4 读者信息管理模块的实现 ........................................ 36 4.4.1 读者类别信息添加功能实现 ................................ 36 4.4.2 读者信息添加功能实现 .................................... 38 4.4.3 读者信息管理功能实现 .................................... 414.5 图书借阅管理模块的实现 ........................................ 42 4.5.1 图书借阅功能实现 ........................................ 42 4.5.3 图书归还功能实现 ........................................ 464.6 系统管理模块的实现 ............................................ 48 4.6.2 个人口令修改功能实现 .................................... 48总结 ............................................. 错误!未定义书签。
参考文献 ......................................................... 49 批注 微软用户1: 前 言 研究背景和意义 图书馆是高等院校的重要组成部门, 是教师和学生获取知识的重要场所。
长期以来,人们使用传统的人工方式管理图书馆的业务,其操作流程比较繁琐。
通过卡片记录信息,既浪费信息,又浪费人工,纸张,而且书籍和读者的信息查询都比较麻烦,不能提供领导管理上需要的各种信息如馆内各种资料的分布及借阅等情况,工作人员在读者借书或还书的过程都是需要很大的工作量的。
前天在图书馆还看到一本后边粘着卡片的书,上边标着每次的借书者姓名及还书日期。
这些都已是传统的手工流程,可见这种流程的效率及处理能力都是比较低的。
随着电子信息技术的飞速发展,图书馆的工作也发生了实质性的进展和变化。
现代化的服务手段逐渐替代传统的手工操作,计算机编目、光盘数据库和网络检索技术等新型的项目开始在图书馆领域普及。
在计算机技术、网络技术的进一步冲击下,图书馆随着教育教学改革的深入和素质教育的全面推动,逐渐演变形成数字化图书管理,其作用也越来越重要了。
为了使图书馆的管理更科学、更规范,减少重复劳动,节省图书馆建设和管理中的人力、财力,方便读者查询和借阅书籍,所以有必要建立一个图书馆管理系统。
因此,开发这样一套管理软件成为很有必要的事情。
图书管理信息系统是典型的信息管理系统其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。
对于后台数据库的建立要求建立起数据一致性和完整性强.数据安全性好的库。
而对于前端应用程序则要求应用程序功能完备易使用等特点。
与国内研究对比 我国的图书馆自动化起步于 70 年代末、80 年代初,经过 20 年的努力, 已经取得了很大的成绩。
全国已有几千家图书馆在不同程度上把计算机应用于管理和业务工作,建立了相应的数据库。
但统观我国的高校图书馆事业,大部分的 图书馆与计算机无缘,已建成的数据库多偏于地方性、专业性,规模较小。
这些都表明,我国的图书馆信息化程度与发达国家相比尚存在较大的差距。
本系统主要实现对图书馆的信息进行管理,以及对预订功能进行更多细化与完善。
图书馆的正常运营中总是面对大量的读者信息,图书信息以及两者相互作用产生的借书信息,因此要对读者资源,图书资源,借书信息进行管理。
本系统的开发就是在于提高图书管理的工作效率,加强图书馆的管理,以及使图书预订管理变得更加人性化。
图书馆管理系统是图书馆管理工作中不可缺少的部分它的内容对于图书馆的管理者和使用者来说都至关重要所以图书管理系统应该能够为管理者或读者提供充足的信息和快捷的数据处理手段。
但一直以来人们使用传统人工的方式进行图书管理和借阅管理,这种管理方式存在着许多缺点如:效率低、易忘记、保密性差另外时间一长将产生大量的文件和数据这对于查找、更新和维护都带来了不少的困难。
随着科学技术的不断提高计算机科学日渐成熟其强大的功能已为人们深刻认识它已进入人类社会的各个领域并发挥着越来越重要的作用。
作为计算机应用的一部分使用计算机对图书信息进行管理具有着手工管理所无法比拟的优点.例如:检索迅速、查找方便、易修改、可靠性高、存储量大、数据处理快捷、保密性好、寿命长、成本低、便于打印等。
这些优点能够极大地提高图书管理的效率也是图书馆的科学化、正规化管理与世界接轨的重要条件。
第 1 章 JAVA 的网络功能与编程1.1 JAVA 语言简介 Java 是一种简单易用、完全面向对象、具有平台无关性且安全可靠的主要面向Internet 的开发工具。
自从 1995 年正式问世以来,Java 的快速发展已经让整个 Web世界发生了翻天覆地的变化。
在早期,Java 比较多的用在浏览器上,插入到网页中即是 Java Applet 程序,成为最灵活、最强大的网页多媒体的载体,但由于 Java 虚拟机相对于个人电脑而言,有占用资源大,安全性相对较差等缺点,Applet 逐渐的被后起之秀 Flash 所替代,但随着 Java Servlet 的推出,Java 在电子商务方面开始崭露头角,最新的 JSPJava Server Page技术的推出,更是让 Java 成为基于 Web 的应用程序的首选开发工具,目前的 Java 技术已成为所有大型电子商务项目的必然选择。
1.2 JAVA 语言在网络上的运用 Java 程序可以获取网络上结点的图象、声音、HTML 文档及文本等资源,并可以对获得的资源进行处理。
例如 Java 程序可以每隔一定时间读取某结点提供的最新数据,并以图表的形式显示出来。
在编程处理上,一般先生成一个 URL 类型的对象,然后用 Java 中相应的方法(method)获取该对象所代表的资源。
1.3 sevlet 技术简介 Java Servlet 是 JSP 技术的基础, 本身就是预先被编译成 Servlet, JSP 然后再运行的,而且大型的 Web 应用程序的开发需要 Java Servlet 和 JSP 配合才能完成,Servlet 这个名称大概源于 Applet,现在国内的翻译方式很多,本文为了避免误会,本文直接采 读者如果愿意,用 Servlet 这个名称而不做任何翻译, 可以称之为“小服务程序”。
Servlet其实和传统的 CGI 程序和 ISAPI、NSAPI 等 Web 程序开发工具的作用是相同的,在使用 Java Servlet 以后,用户不必再使用效率低下的 CGI 方式,也不必使用只能在某个固定 Web 服务器平台运行的 API 方式来动态生成 Web 页面。
许多 Web 服务器都支持 Servlet,即使不直接支持 Servlet 的 Web 服务器也可以通过附加的应用服务器和模块来支持 Servlet。
得益 于 Java 的跨平台的特性,Servlet 也是平台无关的,实际上,只要符合 Java Servlet 规范,Servlet 是完全平台无关且是 Web 服务器无关的。
由于Java Servlet 内部是以线程方式提供服务,不必对于每个请求都启动一个进程,并且利用多线程机制可以同时为多个请求服务,因此 Java Servlet 效率非常高。
但 JavaServlet 也不是没有缺点,和传统的 CGI、ISAPI、NSAPI 方式相同,Java Servlet 是利用输出 HTML 语句来实现动态网页的,如果用 Java Servlet 来开发整个网站,动态部分和静态页面的整合过程简直就是一场噩梦。
这就是为什么 SUN 还要推出 JavaServer Pages 的原因。
1.4 Struts 概述1.4.1 Struts 的由来和发展 Struts 框架工具是 Apache 基金会 Jakarta 项目中推出的一个子项目。
Struts在英文中是支架、支撑的意思,这也体现出 Struts 在开发 Web 应用程序过程所起到的重要作用, Struts 为 Web 应用提供了通用的框架,让开发人员可以把主要精力集中在如何解决实际业务问题上,与此同时 Struts 框架也允许开发人员根据实际需要进行扩展和定制,从而可以更好的适应用户的需求。
采用 Struts 可以简化遵循MVC 设计模式的 Web 应用的开发工作,很好地实现
代码重用,使开发人员从一些繁琐的工作中解脱出来,快速开发能够充分发挥 JSP/Servlet 优点、并具有强可扩展性的 Web 应用。
总之, Struts 的出现使得 Web 应用的开发过程大大简化,从而能够缩短开发周期、提高开发效率。
Struts 架构一经推出,即受到 Java 开发群体的广泛重视,从 2004 年开始逐渐升温,并日渐成为 Java 创建 Web 应用开发的最流行的框架工具,在目前 Java Web程序员的招聘要求中,几乎都提出了对 Struts 的要求,精通 Struts 架构已经成为Java Web 程序员必备的技能。
1.4.2 MVC 简介 模型-视图-控制器(MVC)是 80 年代 Smalltalk-80 出现的一种软件设计模式,现在已经被广泛的使用,其模型如图 1-1 所示:1、模型Model: 模型是应用程序的主体部分。
模型表示业务数据,或者业务逻辑.2、视图View: 视图是应用程序中用户界面相关的部分,是用户看到并与之交互的界面。
3、控制器controller: 控制器工作就是根据用户的输入,控制用户界面数据显示和更新 model 对象状态。
图 1-1 MVC 组件类型的关系和功能 MVC 式的出现不仅实现了功能模块和显示模块的分离,同时它还提高了应用系统的可维护性、可扩展性、可移植性和组件的可复用性。
早期的程序中,如果不注意对数功能和显示的解耦合,常常会导致程序的复杂及难以维护。
很多 VBDelphi等 RAD 程序都有这种问题。
甚至现在的 CJava 有时候也会出现把业务逻辑写在显 但在 Web 项目的开发中引入 MVC示模块中的现象 尽管 MVC 设计模式很早就提出,却是步履维艰。
主要原因:一是在早期的 Web 项目的开发中,程序语言和 HTML 的分离一直难以实现。
CGI 程序以字符串输出的形式动态地生成 HTML 内容。
后来随着脚本语言的出现,前面的方式又被倒了过来,改成将脚本语言书写的程序嵌入在HTML 内容中。
这两种方式有一个相同的不足之处即它们总是无法将程序语言和HTML 分离。
二是脚本语言的功能相对较弱,缺乏支持 MVC 设计模式的一些必要的技术基础。
直到基于 J2EE 的 JSP Model 2 问世时才得以改观。
它用 JSP 技术实现视图的功能,用 Servlet 技术实现控制器的功能,用 JavaBean 技术实现模型的功能 。
1.4.3 JSP Model 1 与 JSP Model 2 SUN 在 JSP 出现早期制定了两种规范,称为 Model1 和 Model2。
虽然 Model2在一定程度上实现了 MVC,但是它的应用用并不尽如人意 model2 容易使系统出现多个 Controller,并且对页面导航的处理比较复杂 有些人觉得 model2 仍不够好,于是 Craig R. McClanahan 2000 年 5 月 提交了一个 WEB framework 给 Java Community.这就是后来的 Struts. 2001 年 7 月,Struts1.0,正式发布。
该项目也成为了 Apache Jakarta 的子项目之一 。
Struts 质上就是在 Model2 的基础上实现的一个 MVC 架构。
它只有一个中心控制器,他采用 XML 定制转向的 URL。
采用 Action 来处理逻辑。
图 1-2 JSP Model 1 图 1-3 JSP Model 21.5 Struts 的优缺点1.5.1 Struts 的优点 Struts 跟 Tomcat、Turbine 等诸多 Apache 项目一样,是
开源软件,这是它的一大优点。
使开发者能更深入的了解其内部实现机制。
除此之外,Struts 的优点主要集中体现在两个方面:Taglib 和页面导航。
Taglib 是 Struts 的标记库,灵活动用,能大大提高开发效率。
另外,就目前国内的 JSP 开发者而言,除了使用 JSP 自带的常用标记外,很少开发自己的标记,或许 Struts 是一个很好的起点。
关于页面导航,我认为那将是今后的一个发展方向,事实上,这样做,使系统的脉络更加清晰。
通过一个配置文件,即可把握整个系统各部分之间的联系,这对于后期的维护有着莫大的好处。
尤其是当另一批开发者接手这个项目时,这种优势体现得更加明显。
1.5.2 Struts 的缺点 Taglib 是 Struts 的一大优势,但对于初学者而言,却需要一个持续学习的过程,甚至还会打乱你网页编写的习惯,但是,当你习惯了它时,你会觉得它真的很棒。
Struts 将 MVC 的 Controller 一分为三,在获得结构更加清晰的同时,也增加了系统的复杂度。
Struts 从产生到现在已逐步越来越多运用于商业软件。
虽然它现在还有不少缺点,但它是一种非常优秀的 J2EE MVC 实现方式。
1.5.3 Struts 的工作流程 ActionServlet 是一个 FrontController,它是一个标准的 Servlet,它将 request 转发给 RequestProcessor 来处理, ActionMapping 是 ActionConfig 的子类,实质上是对struts-config.xml 的一个映射,从中可以取得所有的配置信息 ,RequestProcessor 根据提交过来的 url,如.do,从 ActionMapping 中得到相应的 ActionForn 和 Action。
然后将 request 的参数对应到 ActionForm 中,进行 form 验证。
如果验证通过则调用Action 的 execute方法来执行 Action,最终返回 ActionFoward,ActionFoward 是对mapping 中一个 foward 的包装,对应于一个 url。
ActionForm 使用了 ViewHelper 模式,是对 HTML 中 form 的一个封装。
其中包含有 validate 方法,用于验证 form 数据的有效性。
ActionForm 是一个符合 JavaBean规范的类,所有的属性都应满足 get 和 set 对应。
对于一些复杂的系统,还可以采用DynaActionForm 来构造动态的 Form,即通过预制参数来生成 Form。
这样可以更灵活的扩展程序。
ActionErrors 是对错误信息的包装,一旦在执行 action 或者 form.validate 中出现异常, 在 即可产生一个 ActionError 并最终加入到 ActionErrors。
Form 验证的过程中,如果有 Error 发生,则会将页面重新导向至输入页,并提示错误。
Action 是用于执行业务逻辑的 RequsestHandler。
每个 Action 都只建立一个instance。
Action 不是线程安全的,所以不应该在 Action 中访问特定资源。
一般来说,应改使用 Business Delegate 模式来对 Business tier 进行访问以解除耦合。
Struts 提供了多种 Action 供选择使用。
普通的 Action 只能通过调用 execute 执行一项任务,而 DispatchAction 可以根据配置参数执行,而不是仅进入 execute函数,这样可以执行多种任务。
如 insertupdate 等。
LookupDispatchAction 可以根据提交表单按钮的名称来执行函数。
图 1-4 Struts 的工作流程 第二章 系统需求分析2.1 需求分析2.1.1 问题定义 。
显然,这个问 问题定义阶段必须回答的关键问题是“要解决的问题是什么?”题解决.