




已阅读5页,还剩10页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于Struts技术的图书馆管理系统摘 要随着科学技术的进步,计算机行业的迅速发展,大大提高人们的工作效率。计算机信息处理系统的引进已彻底改变了许多公司的经营管理 。甚至附近的一个小店主也可能正在用计算机来控制销售、记账以及其他活动。在一些大公司里,电子信息处理系统监测全部工作设备的操作与运行。图书管理系统是学校管理机制中的重要组成部分,通过对图书管理系统的运行管理机制进行调查研究,开发了此图书系统。本系统中解决了学校图书管理事务中的常用基本问题以及相关统计工作。本系统中包含6个功能模块:系统设置,读者管理,图书管理,图书借还,系统查询和更改口令。本系统使有jsp进行网页界面的设计,使用MVC设计模式,采用了开源框架Struts,它采用了当今软件设计的最新技术,具有开发效率高、设计灵活、生成的软件界面友好美观等特点。本系统中通过jdbc驱动和数据库进行无缝连接,后端的数据库是mysql,也是一个开源的数据库系统,该数据库具有较高的完整性,一致性和安全性。关键词:图书管理,信息管理,jsp,struts14前言本系统编写目的在于研究高校的小型图书管理系统软件的可行途径和使用方法。随着电子计算机和通信技术的发展,揉已经逐渐地进入信息化社会。信息和材料、能源一样成为一种社会的基本生产资料,在揉的社会生产活动中发挥着重要的作用。同时人们对信息和数据的利用与处理也已进入自动化、网络化和社会化的阶段,因此,开发相关的管理信息系统已经成为各行各业的必要和必需了,管理信息系统作为一门边缘学科,集管理科学、信息科学、系统科学、现代通信技术和电子计算机技术于一体,可以解决企业或组织所面临的问题,对内来看,可以提高工作效率;对外来看,获得竞争优势。 为了提高图书管理的水平和工作效率,尽可能杜绝图书流通中各环节中可能出现的图书借阅信息丢失等不明现象,图书借阅还领域迫切需要引入信息系统来加以管理。而图书管理系统是当前应用于高样图书管理系统的典型代表。 本组设计的图书管理系统主要完成的功能有:图书基本信息维护、管理员的信息维护、借阅还管理等,以及这一系列过程中涉及图书及图书借阅的数据修改、查询统计、删除等多种操作。此外,Jdbc使开发者不必不断重写程序而可以建立数据库前台。要使用这种访问方式,必须在java web工程里面引用MySQL数据库。使用本系统大大提高图书管理的运作效率;通过全面的信息采集和处理,辅助提高图书管理的决策水平;还可以迅速提升图书的管理水平,为提高图书管理的效率,使图书管理更具规范性,提供有效的技术保障。一、Java的网络功能与编程 Java程序可以获取网络上结点的图象、声音、HTML文档及文本等资源,并可以对获得的资源进行处理。例如Java程序可以每隔一定时间读取某结点提供的最新数据,并以图表的形式显示出来。在编程处理上,一般先生成一个URL类型的对象,然后用Java中相应的方法(method)获取该对象所代表的资源。1.1 Java语言简介Java是一种简单的,跨平台的,面向对象的,分布式的,解释的,健壮的安全的,结构的中立的,可移植的,性能很优异的多线程的,动态的语言。当1995年SUN推出Java语言之后,全世界的目光都被这个神奇的语言所吸引。1.2 Java语言在网络上的运用Java并不是为Internet、www而设计的,它也可以用来编写独立的应用程序。Java是一种面向对象语言,Java语言类似于C+语言,所以已熟练掌握C+语言的编程人员,再学习Java语言就容易得多!Java程序需要编译,它被放置在Internet服务器上,当用户访问服务器时,Java程序被下载到本地的用户机上,由浏览器解释运行。实际上有两种Java程序:一种Java应用程序是一个完整的程序,如Web浏览器。另一种Java小应用程序是运行于Web浏览器中的一个程序。Java程序和它的浏览器HotJava,提供了可让你的浏览器运行程序的方法。你能从你的浏览器里直接播放声音,你还能播放页面里的动画,Java还能告诉你的浏览器怎样处理新的类型文件。当我们能在2400 baud线上传输视频图象时,HotJava将能显示这些视频。1.3 Servlet技术简介Servlet是一种服务器端的Java应用程序,具有独立于平台和协议的特性,可以生成动态的Web页面。 它担当客户请求(Web浏览器或其他HTTP客户程序)与服务器响应(HTTP服务器上的数据库或应用程序)的中间层。 Servlet是位于Web 服务器内部的服务器端的Java应用程序,与传统的从命令行启动的Java应用程序不同,Servlet由Web服务器进行加载,该Web服务器必须包含支持Servlet的Java虚拟机。二、 Struts概述 Struts 是一个基于Sun J2EE平台的MVC框架,主要是采用Servlet和JSP技术来实现的。由于Struts能充分满足应用开发的需求,简单易用,敏捷迅速,在过去的一年中颇受关注。Struts把Servlet、JSP、自定义标签和信息资源(message resources)整合到一个统一的框架中,开发人员利用其进行开发时不用再自己编码实现全套MVC模式,极大的节省了时间,所以说Struts是一个非常不错的应用框架。【StrutsIDE:用于Struts辅助开发的一个Eclipse插件】。2.1 Struts的由来和发展 Struts本身也在为项目的核心识别,进行了激烈的竞争,到底它是不是多重Web框架,Struts包括了ApacheShale,它是一个包含了JSF的Web框架。作为一个Struts的子项目,有着StrutsAction1(现在称之为Struts1)与StrutsAction2(完成了的WebWork2代码)的一些特征。不幸的是,这些子项目让开发者们有些混淆不清,他们都用一个单一框架表示“Struts”。 在尝试将StrutsAction2与Shale的子项目结合到一个单独的Struts2之后,Shale的开发者意识到,如果这些能成为他们以后工程中的开发框架,也是不错的选择。StrutsAction2很快就更名为简洁的Struts2。2.1.1 Mvc简介MVC是三个单词的缩写,分别为: 模型(Model),视图(View)和控制Controller)。 MVC模式的目的就是实现Web系统的职能分工。 Model层实现系统中的业务逻辑,通常可以用JavaBean或EJB来实现。 View层用于与用户的交互,通常用JSP来实现。 Controller层是Model与View之间沟通的桥梁,它可以分派用户的请求并选择恰当的视图以用于显示,同时它也可以解释用户的输入并将它们映射为模型层可执行的操作。2.1.2 Jsp的应用模型利用JSP技术,动态信息由JSP页面来表现,JSP页面由安装在Web服务器或者使用JSP的应用服务器上的JSP引擎执行。JSP引擎接受客户端对JSP页面的请求,并且生成JSP页面作为对客户端的响应。 JSP页面通常被编译成为Java Servlets,这是一个标准的Java扩展。页面开发人员能够访问全部的Java应用环境,以利用Java技术的扩展性和可移植性。当JSP页面第一次被调用时,如果它还不存在,就会被编译成为一个Java Servlets类,并且存储在服务器的内存中。这就使得在接下来的对该页面的调用中,服务器会有非常快的响应(这避免了CGIBIN为每个HTTP请求生成一个新的进程的问题)。 JSP页面可以包含在多种不同的应用体系结构或者模型中,可以用于由不同协议、组件和格式所组成的联合体中。基于JSP的动态信息发布技术是一个开放的、可扩展的建立动态Web页面的标准。不论采用什么创建工具,开发人员都可以使用JSP页面来创建可移植的Web应用,在不同的Web应用服务器上运行。2.2 Struts的优缺点跟Tomcat、Turbine等诸多Apache项目一样,是开源软件,这是它的一大优点。使开发者能更深入的了解其内部实现机制。 Struts开放源码框架的创建是为了使开发者在构建基于Java Servlet和JavaServer Pages(JSP)技术的Web应用时更加容易。Struts框架为开放者提供了一个统一的标准框架,通过使用Struts作为基础,开发者能够更专注于应用程序的商业逻辑。Struts框架本身是使用Java Servlet和JavaServer Pages技术的一种Model-View-Controller(MVC)实现. 2.2.1 Struts的优点1. 实现MVC模式,结构清晰,使开发者只关注业务逻辑的实现. 2. 有丰富的tag可以用 ,Struts的标记库(Taglib),如能灵活动用,则能大大提高开发效率。另外,就目前国内的JSP开发者而言,除了使用JSP自带的常用标记外,很少开发自己的标记,或许Struts是一个很好的起点。 3. 页面导航.页面导航将是今后的一个发展方向,事实上,这样做,使系统的脉络更加清晰。通过一个配置文件,即可把握整个系统各部分之间的联系,这对于后期的维护有着莫大的好处。尤其是当另一批开发者接手这个项目时,这种优势体现得更加明显。 4. 提供Exception处理机制 . 5. 数据库链接池管理 6. 支持I18N 2.2.2 Struts的缺点1 . 转到展示层时,需要配置forward,每一次转到展示层,相信大多数都是直接转到jsp,而涉及到转向,需要配置forward,如果有十个展示层的jsp,需要配置十次struts,而且还不包括有时候目录、文件变更,需要重新修改forward,注意,每次修改配置之后,要求重新部署整个项目,而tomcate这样的服务器,还必须重新启动服务器,如果业务变更复杂频繁的系统,这样的操作简单不可想象。现在就是这样,几十上百个人同时在线使用我们的系统,大家可以想象一下,我的烦恼有多大。 2. Struts 的Action必需是threadsafe方式,它仅仅允许一个实例去处理所有的请求。所以action用到的所有的资源都必需统一同步,这个就引起了线程安全的问题。 3. 测试不方便. Struts的每个Action都同Web层耦合在一起,这样它的测试依赖于Web容器,单元测试也很难实现。不过有一个Junit的扩展工具Struts TestCase可以实现它的单元测试。 4. 类型的转换. Struts的FormBean把所有的数据都作为String类型,它可以使用工具Commons-Beanutils进行类型转化。但它的转化都是在Class级别,而且转化的类型是不可配置的。类型转化时的错误信息返回给用户也是非常困难的。 5. 对Servlet的依赖性过强. Struts处理Action时必需要依赖ServletRequest 和ServletResponse,所有它摆脱不了Servlet容器。 6. 前端表达式语言方面.Struts集成了JSTL,所以它主要使用JSTL的表达式语言来获取数据。可是JSTL的表达式语言在Collection和索引属性方面处理显得很弱。 7. 对Action执行的控制困难. Struts创建一个Action,如果想控制它的执行顺序将会非常困难。甚至你要重新去写Servlet来实现你的这个功能需求。 8. 对Action 执行前和后的处理. Struts处理Action的时候是基于class的hierarchies,很难在action处理前和后进行操作。 9. 对事件支持不够. 在struts中,实际是一个表单Form对应一个Action类(或DispatchAction),换一句话说:在Struts中实际是一个表单只能对应一个事件,struts这种事件方式称为application event,application event和component event相比是一种粗粒度的事件。2.2.3 Struts的工作流程发布Struts Web服务时,根据web.xml初始化ActionServlet,ActionContext等内容。在接到一个HttpRequest请求后,ActionServlet 根据struts-config.xml中的配置内容,将请求的参数传到对应的Formbean中,并设置session.然后根据请求中的Action参数,在struts-config.xml中查找指定的Action,并调用此Action来处理请求.根据Action的处理结果,会返回一个forward变量,此时通过mapping.findForward()查找出对应的forward所标示的Action或者JSP页面,将请求转到下一个处理。如果是forward指向JSP页面,则输出到前台。三、 系统需求分析3.1需求分析 3.1.1问题定义立足于校园实际,着眼于未来发展,建成符合标准化协议、通用性较强、实用的系统,以提高图书信息的现代化管理水平,实现信息资源的共享。图书管理系统是一种基于集中统一规划的数据库数据管理新模式。在对图书、读者的管理,其实是对图书、读者数据的管理。本系统的建成无疑会为管理者对图书管理系统提供极大的帮助。使用该系统之后,图书馆管理人员可以管理读者的登记、图书的购入、借出、归还以及注销等;还可以查询某位读者、某本图书的借阅情况,对当前借阅情况给出一些统计,给出统计表格,以全面掌握图书的流通情况。 本系统的宗旨是提高图书管理工作的效率,减少相关人员的工作量,使学校的图书管理工作真正做到科学、合理的规划,系统、高效的实施。3.1.2 可行性研究图3-1图书管理系统功能图图3-2 读者管理图3-3 图书管理图3-4 图书借还图3-5 系统查询图3-6 系统设置3.2 用户需求建立一个图书管理系统,能够对图书的借阅进行录入,查询,删除。使图书管理处于有效与规范化的管理和监控下,减少管理过程中的差错和疏漏,提高图书管理效率。3.3 功能需求登录系统:注销用户、系统退出。 管理:用户管理、图书管理、读者管理、借阅管理。 查询:图书查询、读者查询、借阅查询。 报表打印:所有图书、借出图书、库存图书、所有读者。 帮助:使用说明、关于。 3.4可行性认证1、在技术上:计算机的发展,通信网络的日益庞大和传输速率的提高,以及各种高效率的需求的出现等都使得前台收银系统成为可能。2、大的市场与前景:除了大型超市需要前台收银系统外,现代的大酒店、高效率的旅游业,以及各种消费场所都需要前台收银系统,现有的收银系统已经无法承担这一任务,现开发的前台收银系统将能更快速、更安全的改变这一状况,这就形成了巨大的市场,随之带来巨大的商业效益。3.5 开发环境与运行环境开发环境:MyEclipse8.5编译器,MySql数据库运行环境:Windows XP操作系统四、系统总体设计4.1 图书管理系统总体设计图书馆管理系统共分为六大模块:系统设置模块、读者管理模块、图书管理模块、图书借还管理模块、系统查询管理模块、更改口令管理模块。4.2 图书管理系统数据库设计数据库系统:MySql1. 图书馆信息表(tb_library)表3-1 图书馆信息表2. 管理员信息表(tb_manager)表3-2 管理员信息表3.读者信息表(tb_reader)表3-3 读者信息表4.读者类型表(tb_readertype)表3-4 读者类型表5.借阅归还表(tb_giveback)表3-5 借阅归还表6. 图书信息表(tb_bookinfo)表3-6 图书信息表7. 图书类型表(tb_booktype)表3-7 图书类型表8.图书借阅表(tb_giveback)表3-8 图书借阅表9.管理员信息表(tb_manager)表3-9 管理员信息表五、总 结经过三个多月的设计和开发,图书管理系统基本开发完毕。其功能基本符合用户需求,能够完成对图书的借阅、续借、归还管理,图书的类型、信息的维护、添加、删除的管理。并提供部分系统维护功能,使用户方便进行数据备份和恢复、数据删除。对于数据的一致性的问题也通过程序进行了有效的解决。通过这次毕业设计,我收获了很多。对软件设计有了一个整体的认识。加深了对软件工程的理解,给我带来了很大的成就感,虽然我所做的毕业设计还存在很多的问题,还需要老师不断的指导,但是从以前的无从下手到现在的可以完成整体设计。我心里还是很高兴的。 在这次毕业设计中,我是用了jsp+struts和MySql进行开发的。首先我对struts有了更深的了解,不再限于以前只是对现有的普通控件的使用。其次,我是用了MySql数据库,其基本的对数据库的操作都是SQL语言,由于我们学过数据库的课程,因此还是比较好掌握的。由于我使用的开发工具MyEclipse和MySql并不是我们的主修课程,利用大学期间学习的基础知识,结合自己的理解,我摸索着自学这套设计软件,加之老师的耐心指导,终于完成了本次毕业设计,而且我感觉对这套开发软件已经有深入的了解和认识,对以后的工作和学习将有很大益处。但是由于毕业设计时间较短,所以该系统还有许多不尽如人意的地方,比如用户界面不够美观,出错处理不够等多方面问题,这些都有待进一步
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025劳动合同书范本模板
- 2025河南开封市中心医院住院医师规范化培训基地招收模拟试卷完整答案详解
- 2025江西赣州市会昌县正源建设有限责任公司招聘劳务派遣人员1人考前自测高频考点模拟试题附答案详解
- 2025江苏盐城工学院招聘7人考前自测高频考点模拟试题及一套参考答案详解
- 2025广东佛山市顺德区公办中小学招聘教师92人(编制)考前自测高频考点模拟试题及答案详解(历年真题)
- 2025年丽水市直事业单位公开选聘人员24人模拟试卷及答案详解(夺冠系列)
- 2025年甘肃省平凉市灵台县第二批城镇公益性岗位人员招聘114人考前自测高频考点模拟试题及答案详解(历年真题)
- 2025餐饮用品采购合同
- 2025合同样本:餐厅家具采购合同范本
- 2025年阜阳颍上县人民医院引进博士研究生2人考前自测高频考点模拟试题含答案详解
- 青岛版六三 三年级 数学 上册 第二单元《第1课时 总量与分量》课件
- DB45∕T 2659-2023 儿童青少年心理健康诊疗服务规范
- 电商税务筹划课件模板
- 洗煤厂安全生产管理制度
- 旧楼拆除防尘降噪专项措施
- 2025年中国毛皮服装市场调查研究报告
- 矿山开采运输管理制度
- 律师行业税务问题课件
- 湖北建筑工程资料表格全套
- 中医耳鼻喉科学多媒体课件-鼻炎课件
- 2025年中医适宜技术考试练习题库(含答案)
评论
0/150
提交评论