基于Struts技术的图书馆管理系统.docx

上传人:b****1 文档编号:22813014 上传时间:2023-04-28 格式:DOCX 页数:15 大小:153.91KB
下载 相关 举报
基于Struts技术的图书馆管理系统.docx_第1页
第1页 / 共15页
基于Struts技术的图书馆管理系统.docx_第2页
第2页 / 共15页
基于Struts技术的图书馆管理系统.docx_第3页
第3页 / 共15页
基于Struts技术的图书馆管理系统.docx_第4页
第4页 / 共15页
基于Struts技术的图书馆管理系统.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

基于Struts技术的图书馆管理系统.docx

《基于Struts技术的图书馆管理系统.docx》由会员分享,可在线阅读,更多相关《基于Struts技术的图书馆管理系统.docx(15页珍藏版)》请在冰豆网上搜索。

基于Struts技术的图书馆管理系统.docx

基于Struts技术的图书馆管理系统

基于Struts技术的图书馆管理系统

摘要

随着科学技术的进步,计算机行业的迅速发展,大大提高人们的工作效率。

计算机信息处理系统的引进已彻底改变了许多公司的经营管理。

甚至附近的一个小店主也可能正在用计算机来控制销售、记账以及其他活动。

在一些大公司里,电子信息处理系统监测全部工作设备的操作与运行。

图书管理系统是学校管理机制中的重要组成部分,通过对图书管理系统的运行管理机制进行调查研究,开发了此图书系统。

本系统中解决了学校图书管理事务中的常用基本问题以及相关统计工作。

本系统中包含6个功能模块:

系统设置,读者管理,图书管理,图书借还,系统查询和更改口令。

本系统使有jsp进行网页界面的设计,使用MVC设计模式,采用了开源框架Struts,它采用了当今软件设计的最新技术,具有开发效率高、设计灵活、生成的软件界面友好美观等特点。

本系统中通过jdbc驱动和数据库进行无缝连接,后端的数据库是mysql,也是一个开源的数据库系统,该数据库具有较高的完整性,一致性和安全性。

关键词:

图书管理,信息管理,jsp,struts

前 言

本系统编写目的在于研究高校的小型图书管理系统软件的可行途径和使用方法。

随着电子计算机和通信技术的发展,揉已经逐渐地进入信息化社会。

信息和材料、能源一样成为一种社会的基本生产资料,在揉的社会生产活动中发挥着重要的作用。

同时人们对信息和数据的利用与处理也已进入自动化、网络化和社会化的阶段,因此,开发相关的管理信息系统已经成为各行各业的必要和必需了,管理信息系统作为一门边缘学科,集管理科学、信息科学、系统科学、现代通信技术和电子计算机技术于一体,可以解决企业或组织所面临的问题,对内来看,可以提高工作效率;对外来看,获得竞争优势。

为了提高图书管理的水平和工作效率,尽可能杜绝图书流通中各环节中可能出现的图书借阅信息丢失等不明现象,图书借阅还领域迫切需要引入信息系统来加以管理。

而图书管理系统是当前应用于高样图书管理系统的典型代表。

本组设计的图书管理系统主要完成的功能有:

图书基本信息维护、管理员的信息维护、借阅还管理等,以及这一系列过程中涉及图书及图书借阅的数据修改、查询统计、删除等多种操作。

此外,Jdbc使开发者不必不断重写程序而可以建立数据库前台。

要使用这种访问方式,必须在javaweb工程里面引用MySQL数据库。

使用本系统大大提高图书管理的运作效率;通过全面的信息采集和处理,辅助提高图书管理的决策水平;还可以迅速提升图书的管理水平,为提高图书管理的效率,使图书管理更具规范性,提供有效的技术保障。

一、Java的网络功能与编程

Java程序可以获取网络上结点的图象、声音、HTML文档及文本等资源,并可以对获得的资源进行处理。

例如Java程序可以每隔一定时间读取某结点提供的最新数据,并以图表的形式显示出来。

在编程处理上,一般先生成一个URL类型的对象,然后用Java中相应的方法(method)获取该对象所代表的资源。

1.1Java语言简介

Java是一种简单的,跨平台的,面向对象的,分布式的,解释的,健壮的安全的,结构的中立的,可移植的,性能很优异的多线程的,动态的语言。

当1995年SUN推出Java语言之后,全世界的目光都被这个神奇的语言所吸引。

1.2Java语言在网络上的运用

Java并不是为Internet、www而设计的,它也可以用来编写独立的应用程序。

Java是一种面向对象语言,Java语言类似于C++语言,所以已熟练掌握C++语言的编程人员,再学习Java语言就容易得多!

Java程序需要编译,它被放置在Internet服务器上,当用户访问服务器时,Java程序被下载到本地的用户机上,由浏览器解释运行。

实际上有两种Java程序:

一种Java应用程序是一个完整的程序,如Web浏览器。

另一种Java小应用程序是运行于Web浏览器中的一个程序。

Java程序和它的浏览器HotJava,提供了可让你的浏览器运行程序的方法。

你能从你的浏览器里直接播放声音,你还能播放页面里的动画,Java还能告诉你的浏览器怎样处理新的类型文件。

当我们能在2400baud线上传输视频图象时,HotJava将能显示这些视频。

1.3Servlet技术简介

Servlet是一种服务器端的Java应用程序,具有独立于平台和协议的特性,可以生成动态的Web页面。

它担当客户请求(Web浏览器或其他HTTP客户程序)与服务器响应(HTTP服务器上的数据库或应用程序)的中间层。

Servlet是位于Web服务器内部的服务器端的Java应用程序,与传统的从命令行启动的Java应用程序不同,Servlet由Web服务器进行加载,该Web服务器必须包含支持Servlet的Java虚拟机。

二、Struts概述

Struts是一个基于SunJ2EE平台的MVC框架,主要是采用Servlet和JSP技术来实现的。

由于Struts能充分满足应用开发的需求,简单易用,敏捷迅速,在过去的一年中颇受关注。

Struts把Servlet、JSP、自定义标签和信息资源(messageresources)整合到一个统一的框架中,开发人员利用其进行开发时不用再自己编码实现全套MVC模式,极大的节省了时间,所以说Struts是一个非常不错的应用框架。

【StrutsIDE:

用于Struts辅助开发的一个Eclipse插件】。

2.1Struts的由来和发展

Struts本身也在为项目的核心识别,进行了激烈的竞争,到底它是不是多重Web框架,Struts包括了ApacheShale,它是一个包含了JSF的Web框架。

作为一个Struts的子项目,有着StrutsAction1(现在称之为Struts1)与StrutsAction2(完成了的WebWork2代码)的一些特征。

不幸的是,这些子项目让开发者们有些混淆不清,他们都用一个单一框架表示“Struts”。

  在尝试将StrutsAction2与Shale的子项目结合到一个单独的Struts2之后,Shale的开发者意识到,如果这些能成为他们以后工程中的开发框架,也是不错的选择。

StrutsAction2很快就更名为简洁的Struts2。

2.1.1Mvc简介

MVC是三个单词的缩写,分别为:

模型(Model),视图(View)和控制Controller)。

MVC模式的目的就是实现Web系统的职能分工。

Model层实现系统中的业务逻辑,通常可以用JavaBean或EJB来实现。

View层用于与用户的交互,通常用JSP来实现。

Controller层是Model与View之间沟通的桥梁,它可以分派用户的请求并选择恰当的视图以用于显示,同时它也可以解释用户的输入并将它们映射为模型层可执行的操作。

2.1.2Jsp的应用模型

利用JSP技术,动态信息由JSP页面来表现,JSP页面由安装在Web服务器或者使用JSP的应用服务器上的JSP引擎执行。

JSP引擎接受客户端对JSP页面的请求,并且生成JSP页面作为对客户端的响应。

  JSP页面通常被编译成为JavaServlets,这是一个标准的Java扩展。

页面开发人员能够访问全部的Java应用环境,以利用Java技术的扩展性和可移植性。

当JSP页面第一次被调用时,如果它还不存在,就会被编译成为一个JavaServlets类,并且存储在服务器的内存中。

这就使得在接下来的对该页面的调用中,服务器会有非常快的响应(这避免了CGI-BIN为每个HTTP请求生成一个新的进程的问题)。

  JSP页面可以包含在多种不同的应用体系结构或者模型中,可以用于由不同协议、组件和格式所组成的联合体中。

基于JSP的动态信息发布技术是一个开放的、可扩展的建立动态Web页面的标准。

不论采用什么创建工具,开发人员都可以使用JSP页面来创建可移植的Web应用,在不同的Web应用服务器上运行。

2.2Struts的优缺点

跟Tomcat、Turbine等诸多Apache项目一样,是开源软件,这是它的一大优点。

使开发者能更深入的了解其内部实现机制。

Struts开放源码框架的创建是为了使开发者在构建基于JavaServlet和JavaServerPages(JSP)技术的Web应用时更加容易。

Struts框架为开放者提供了一个统一的标准框架,通过使用Struts作为基础,开发者能够更专注于应用程序的商业逻辑。

Struts框架本身是使用JavaServlet和JavaServerPages技术的一种Model-View-Controller(MVC)实现.

2.2.1Struts的优点

1.实现MVC模式,结构清晰,使开发者只关注业务逻辑的实现.

2.有丰富的tag可以用,Struts的标记库(Taglib),如能灵活动用,则能大大提高开发效率。

另外,就目前国内的JSP开发者而言,除了使用JSP自带的常用标记外,很少开发自己的标记,或许Struts是一个很好的起点。

3.页面导航.页面导航将是今后的一个发展方向,事实上,这样做,使系统的脉络更加清晰。

通过一个配置文件,即可把握整个系统各部分之间的联系,这对于后期的维护有着莫大的好处。

尤其是当另一批开发者接手这个项目时,这种优势体现得更加明显。

4.提供Exception处理机制.

5.数据库链接池管理

6.支持I18N

2.2.2Struts的缺点

1.转到展示层时,需要配置forward,每一次转到展示层,相信大多数都是直接转到jsp,而涉及到转向,需要配置forward,如果有十个展示层的jsp,需要配置十次struts,而且还不包括有时候目录、文件变更,需要重新修改forward,注意,每次修改配置之后,要求重新部署整个项目,而tomcate这样的服务器,还必须重新启动服务器,如果业务变更复杂频繁的系统,这样的操作简单不可想象。

现在就是这样,几十上百个人同时在线使用我们的系统,大家可以想象一下,我的烦恼有多大。

2.Struts的Action必需是thread-safe方式,它仅仅允许一个实例去处理所有的请求。

所以action用到的所有的资源都必需统一同步,这个就引起了线程安全的问题。

3.测试不方便.Struts的每个Action都同Web层耦合在一起,这样它的测试依赖于Web容器,单元测试也很难实现。

不过有一个Junit的扩展工具StrutsTestCase可以实现它的单元测试。

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这种事件方式称为applicationevent,applicationevent和componentevent相比是一种粗粒度的事件。

2.2.3Struts的工作流程

发布StrutsWeb服务时,根据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数据库

运行环境:

WindowsXP操作系统

四、系统总体设计

4.1图书管理系统总体设计

图书馆管理系统共分为六大模块:

系统设置模块、读者管理模块、图书管理模块、图书借还管理模块、系统查询管理模块、更改口令管理模块。

4.2图书管理系统数据库设计

数据库系统:

MySql

1.图书馆信息表(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]钟珞,潘昊.现代软件工程学[M].北京:

国防工业出版社,2004。

[2]钟珞.软件工程重点综述与试题分析.北京:

中国民航出版社,2000

[3]JamesTurner,KevinBedell著,孙勇译.StrutsKickStart[M].北京:

电子工业出版社,2004

[4]孙卫琴编著.精通Struts:

基于MVC模式地JavaWeb设计与开发[M].北京:

电子工业出版社

[5]飞思科技.Jsp应用开发详解.电子工业出版社2003

[6]萨师煊,王珊.数据库系统概论(第三版)北京:

高等教育出版社,2000

[7]吴雷.Struts与MVC清华大学出版社2002

[8]MartinBond,DanHaywood著,周辉,付煜译.21天学通J2EE(第二版).人民邮电出版社2005

[9]DarenBroemmer著,于洁,李稳译.J2EE应用与实践技巧电子工业出版社2004

[10]StrphenJ.Chapman著,敖富江译.Java程序设计(第二版)清华大学出版社2005

[11]MackHendricks等著,卢刚,高春荣译.JavaWeb服务编程指南电子工业出版社2004

[12]AshtonHobbs著,丁一青,吴静等译.自学JDBC数据库编程清华大学出版社2005

[13]MartyHall著,钟鸣,石永平译.Servlet与JSP权威指南机械工业出版社2002

[14]张利国著.JAVA实用案例教程清华大学出版社2004

[15]B.Bruegge著,吴丹,唐忆译.面向对象的软件工程清华大学出版社2003

[16]RobertSheldon著,黄开枝,冉晓旻译.SQL实用教程(第二版)清华大学出版社2002。

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

当前位置:首页 > 工程科技 > 能源化工

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1