基于Java的图书管理系统 2.docx

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

基于Java的图书管理系统 2.docx

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

基于Java的图书管理系统 2.docx

基于Java的图书管理系统2

摘要

随着Internet技术和企业信息化建设的发展,Web应用系统的规模和复杂性在日益升级,开发周期越来越紧迫,同时企业对Web应用的扩展性和可维护性等要求也越来越高。

在软件工程的实践中,人们越来越深刻地认识到系统总体架构设计的重要性已经远远超过了特定算法和数据结构的选择,良好的体系架构对提高软件开发效率和开发质量、保障系统的成功至关重要。

本文论述了毕业设计选题的背景、意义、开发平台和数据库技术,重点阐述了选择Struts1框架的一些优势以及系统的需求分析、总体设计、具体的实现过程。

并且阐述了一些在Struts1框架下所遇到的问题,例如页面表示层的托管BEAN和后台的JAVA类的对应关系以及Struts1特有的配置方式。

最终在MyEclipse集成开发环境下完成了系统的开发并使系统具备信息的输入、输出,数据的修改、查询和统计以及打印报表等功能,使用户操作起来简便快捷。

关键词:

信息管理系统;Struts1框架;MVC模式;B/S架构

 

ABSTRACT

WiththeextensionofInternetandenterpriseinformationincreasing,therehavebeengreaterdemandsforapplicationsystembasedonWebtomeetscalerandmorecomplicatedrequirements,shorterR&Dtimecycleaswellashighersystemexpansibility,andmaintainability.Inthepracticeofsoftwareengineering,peoplehavemoreandmoreunderstoodprofoundlytheimportanceofthesystemarchitecture,whichhasgonefarbeyondthespecificalgorithmanddatastructureofchoices.Goodarchitectureiscrucialtoimprovesoftwaredevelopmentefficiencyandthedevelopmentofquality,thesupportsystemforthesuccess.

Thisarticlediscussesthetopicsofgraduatedesignbackground,meaning,developmentplatformanddatabasetechnology.AndexpoundedintheStruts1frameworkoftheproblemsencountered,suchasthepagehostingthatlayerBEANandJAVAbackground,aswellascorrespondencebetweencategory-specificconfigurationStruts1.MyEclipsefinallycompletedthedevelopmentofthesystem.ItfocusesonaselectnumberofadvantagesofStruts1frameworkandsystemneedsanalysis,design,implementationofspecificprocess.Itmakestheoperationsimpleandquick,owingtoitsfunctiontocompletetheinformationinputandoutput,datachanges,aswellasqueryandstatisticalfeaturessuchasprintstatements.

Keywords:

InformationManagementSystem;MVC;Struts1;B/S

目录

1绪论-1-

1.1 课题背景-1-

1.2 本课题研究目的及意义-1-

1.3 国内外研究现状-2-

1.4 本章小结-3-

2相关技术及理论-4-

2.1 B/S的相关知识-4-

2.2 Oracle简介-4-

2.2.1 可靠性-4-

2.2.2 伸缩性和适应性-5-

2.2.3 数据仓库-5-

2.3 STRUTS1框架-5-

2.4 MVC模式-6-

2.4.1 MVC简介-6-

2.4.2 MVC的优点-7-

2.5 本章小结-8-

3 需求分析和概要设计-9-

3.1 系统需求分析-9-

3.2 数据字典-9-

3.4 数据流图的设计-10-

3.5 网站结构图-10-

3.5 本章小结-11-

4图书管理系统开发-12-

4.1 系统环境的搭建-12-

4.1.1 创建数据源-12-

4.1.2 创建项目工程-12-

4.1.3 配置文件-13-

4.1.4 导入JAR包-15-

4.2 数据库连接-15-

4.2.1 使用Hibernate连接数据库获得Session-16-

4.3 普通用户以及管理员操作板块实现-16-

4.4 书本信息管理实现-18-

4.4.1产品信息的添加-20-

4.5 本章小结-23-

5结论-24-

致谢-25-

参考文献-26-

1绪论

1.1 课题背景

随着作为20世纪最大的发明之一的Internet的快速发展。

BS相对于CS的优势,过去的C/S模式管理软件也越来越不能满足现代企业发展需求,随着信息化进程的不断深入,企业应用平台都转向B/S模式的三层结构,它给传统商业活动注入了不可估量的活力。

然而我国民企大部分是中小型企业,在注册的私营企业中大型企业数量不超过5%,95%是中小型企业。

与国有大型企业相比,民营企业信息化尽管已经有了一定程度的发展,但绝大多数民营企业信息化还只是停留在购买电脑设备,使用财务软件,以及一些办公软件等层面。

少数民营企业采用了客户关系管理软件。

在这个信息化的大潮中,企业对于信息的依赖已经到了前所未有的程度,信息化的快慢直接决定着企业的前途和命运。

Web应用技术为企业提供了构建信息化的坚实基础和平台,因此,如何快速开发高质量的企业级web应用系统,以满足企业越来越纷繁复杂的需求,已成为业界研究的一大热点问题。

随着电子商务等企业级大规模Web应用的迅速推广,为了适应Web应用开发的各种复杂需求,为用户提供更可靠、更完善的信息服务,两个最重要的企业级开发平台J2EE和。

NET在2000年前后分别由Sun和Microsoft阵营推出,由此引发了在企业级Web开发平台领域的激烈竞争,也促使Web开发技术以前所未有的速度发展。

1.2 本课题研究目的及意义

近年来,随着信息技术的发展,越来越多的中小企业意识到:

单靠个人经验和对商品的占有,已很难在激烈的市场角逐中取胜,现代企业管理,需要一种建立在真实数据之上的、科学的、理性的管理。

但是大多数企业都不同程度的存在着账目繁杂、库存零乱、货品丢失、经营数据统计困难等难题,影响管理者经营决策。

现如今手工作业的弊端越来越显得暴露,手工作业的缺点很多:

工作量十分繁重,并且重复;掌握信息不及时,信息在企业中的位置变的越来越重要;控制手段不足;没有管理系统什么时候缺货,还有财务上,人事上,管理也是十分繁重的事情;效率低。

每天工作人员都面对着很多天都不变的事情做,自然效率低。

效率低效益也低。

然而,用计算机代替手工劳动就大不一样,它具有高效的收集信息的特征,有利于人,财,物的合理利用,提高信息的检索效率。

很容易的控制仓库的库存的上线和下线,降低库存的成本,甚至可以辅助决策。

所以仓库管理软件的开发就显得尤为必要了。

1.3 国内外研究现状

目前具有一定竞争力的用来开发多层体系架构的企业级应用程序的组件技术包括微软的.NET和Sun的J2EE平台两大主流阵营。

.NET是微软公司提出的一种分布式运算框架,以XML为基础、Web服务为核心,辅以其它各种技术实现,旨在利用Internet上的计算资源和带宽资源,提高工作效率。

.NET虽然能够较好地解决Windows系统的分步和通信问题,但是并不跨操作系统平台,可移植性较差。

J2EE是基于Java技术的分布式企业级应用开发的技术架构,是目前最具优秀的分布式组件技术。

具有Java2的许多特色优势,尤其是具有“一次编写,到处运行”的跨平台的可移植性特点,使其成为大型企业级应用的首选架构。

更为重要的是,随着Java开源社区最近几年的异常火暴,出现了一些非常优秀的开源软件,其中以Struts、Spring、Hibernate等三种最为著名。

这很大的降低了J2EE的开发的复杂性。

Struts是一款优秀的实现MVC模式的开源框架,主要是采用Servlet和JSP技术来实现的。

现在,Struts是Apache软件基金会旗下Jakarta项目组的一部分,其官方网站是http:

//jakarta.apache.org/struts。

由于Struts改进了页面结构混乱问题,能充分满足应用开发的需求,简单易用,敏捷迅速,在过去的一年中颇受关注。

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

目前国内外相对比较流行、成熟的JavaWeb应用程序架构就是Struts架构,已经有很多这方面的应用实例。

而Struts1架构的应用虽然在国外已经如火如荼,在国内的开源社区也异常火爆,也出现了一些应用案例,但是到目前为止还没有出现一本真正意义的较全面的资料,这就更有了研究的必要性。

1.4 本章小结

本章探讨了本课题的研究背景和研究意义,分析了当前的市场现状和需要,从而确定了图书系统的开发是非常有意义的。

在本章的最后一节分析了当前的研究现状,比较了Struts1技术和其它MVC技术的优势,论证了本课题选用Struts1技术的意义所在。

2相关技术及理论

该管理系统的设计与实现基于Web的B/S模式。

整个系统开发过程将要应用到许多技术。

经过综合比较和分析,该系统开发的软件环境确定为:

操作系统为WindowsXP,Web服务器为TomCat。

系统的开发基于Struts1框架、MVC模式,集成开发环境选用MyEclipse6.1,编程语言选用JAVA,JSP。

下面简单介绍一下该系统实现过程中应用到的相关工具与开发技术。

2.1 B/S的相关知识

B/S(Browser/Server,浏览器/服务器)模式又称B/S结构。

它是随着Internet技术的兴起,对C/S模式应用的扩展。

在这种结构下,用户工作界面是通过IE浏览器来实现的。

B/S模式最大的好处是运行维护比较简便,能实现不同的人员,从不同的地点,以不同的接入方式(比如LAN,WAN,Internet/Intranet等)访问和操作共同的数据;最大的缺点是对企业外网环境依赖性太强,由于各种原因引起企业外网中断都会造成系统瘫痪。

2.2 Oracle简介

数据库技术发展至今已有30多年的历史,数据库技术日趋成熟,应用也越来越广泛,出现了许多商品化的数据库管理系统,如DB2,Informix,Oracle,SQLServer及Sybase等。

其中Oracle也经历了一个从产生到发展的过程。

本系统的数据库部分采用的就是Oracle数据库开发工具。

Oracle是一项全面完整的数据库与分析产品。

从借助浏览器实现的数据库查询功能到内容丰富的扩展标记语言(XML)支持特性,Oracle保持着很多优势。

2.2.1 可靠性

Oracle能提供超大型系统所需的数据库服务。

大型服务器可能有成千上万的用户同时连接到Oracle实例。

Oracle为这些环境提供了全面的保护,具有防止问题发生的安全措施,例如,可以防止多个用户试图同时更新相同的数据。

Oracle还在多个用户之间有效地分配可用资源,比如内存、网络带宽和磁盘I/O。

Oracle借助基于角色的安全特性和网络加密功能确保您的应用程序能够在任何网络环境下均处于安全状态。

与其前辈相比,Oracle经历了更为严格的测试过程。

2.2.2 伸缩性和适应性

同一Oracl数据库引擎运行在Windows2000Professional、Windows2000Server、Windows2000AdvancedServer、Windows98和WindowsMillenniumEdition上。

还运行在WindowsNT4.0版的所有版本上。

此数据库引擎是一个功能强健的服务器,可管理供上千用户访问的TB数据库。

同时,当以默认设置运行时,Oracle 还具有动态自调整等功能,这使得它可以有效地运行在便携式电脑和台式机中,用户无需承担管理任务。

OracleXEUniv版将Oracle程序设计模型扩展到移动的WindowsCE设备上,并且可以很容易地集成到Oracle环境中。

Oracle与WindowsNT和Windows2000故障转移群集共同支持不间断地将故障即时转移到备份服务器。

Oracle还引入了日志传送功能,可以在可用性要求较低的环境中维护备用服务器。

基准测试结果证明,Oracle 足以满足对伸缩性提出的绝大多数的苛刻要求。

2.2.3 数据仓库

Oracle提供了一套全新的综合分析服务.分析服务(以前称为OLAP服务)为商业活动提供了集成的OLAP和数据挖掘功能.OLAP可以通过多维存储技术对大型、复杂数据集执行快速、高级的分析工作。

数据挖掘功能能够揭示出隐藏在大量数据中的倾向及趋势,它允许组织或机构最大限度的从数据中获取价值。

通过对现有数据进行有效分析,这一功能可以对未来的趋势进行预测,并增强在线商务,Oracle简化了管理、优化工作,并且增强了迅速、成功的部署在线商务应用程序所需的可靠性和伸缩性。

2.3 Struts1框架

可以这样说,JSP页面是Struts1应用的用户接口。

每个页面包括一些Struts1组件用来描述WEB控件,如表单、输入框、按钮等等。

组件可以嵌入另一个组件中,正如输入框可以在表单中。

每个JSP页面就这样表示为组件树。

JaveBeans从用户的请求中获取数据并存储。

每当用户做任何事情,如点击按钮或者提交表单,都有事件产生。

然后事件消息通过HTTP传到服务器。

在整个用户或管理者使用系统时,JSP于Action间会有很多的数据交换,在这里,Struts1为我们提供了4个作用域跟生命周期都不同数据储存容器:

pageContext,request,Session,ApplicationContext。

一般项目中,一个容器多多少少都会被用到,但在本系统中,用的最多的是request跟Session,它们在各个系统响应请求的时段都能很好的保存并传递数据,满足了基本的业务需求。

客户端浏览器上WEB控件产生的事件,被包含在一个HTTP请求中,放在一起还有如浏览器类型、请求地址等其它信息。

因此,所有需要处理的请求必须指向这个servlet。

只需要在配置描述符里用一个servlet-mapping元素把一个特殊的URL式样映射到Action。

这就是STRUTS1的工作原理。

2.4 MVC模式

2.4.1 MVC简介

MVC英文即Model-View-Controller,即把一个应用的输入、处理、输出流程按照Model、View、Controller的方式进行分离,这样一个应用被分成三个层——模型层、视图层、控制层。

视图(View)代表用户交互界面,对于Web应用来说,可以概括为HTML界面,但有可能为XHTML、XML和Applet。

随着应用的复杂性和规模性,界面的处理也变得具有挑战性。

一个应用可能有很多不同的视图,MVC设计模式对于视图的处理仅限于视图上数据的采集和处理,以及用户的请求,而不包括在视图上的业务流程的处理。

业务流程的处理交予模型(Model)处理。

比如一个订单的视图只接受来自模型的数据并显示给用户,以及将用户界面的输入数据和请求传递给控制和模型。

模型(Model):

就是业务流程/状态的处理以及业务规则的制定。

业务流程的处理过程对其它层来说是黑箱操作,模型接受视图请求的数据,并返回最终的处理结果。

业务模型的设计可以说是MVC最主要的核心。

目前流行的EJB模型就是一个典型的应用例子,它从应用技术实现的角度对模型做了进一步的划分,以便充分利用现有的组件,但它不能作为应用设计模型的框架。

它仅仅告诉你按这种模型设计就可以利用某些技术组件,从而减少了技术上的困难。

对一个开发者来说,就可以专注于业务模型的设计

控制(Controller)可以理解为从用户接收请求,将模型与视图匹配在一起,共同完成用户的请求。

划分控制层的作用也很明显,它清楚地告诉你,它就是一个分发器,选择什么样的模型,选择什么样的视图,可以完成什么样的用户请求。

控制层并不做任何的数据处理。

例如,用户点击一个连接,控制层接受请求后,并不处理业务信息,它只把用户的信息传递给模型,告诉模型做什么,选择符合要求的视图返回给用户。

因此,一个模型可能对应多个视图,一个视图可能对应多个模型。

模型、视图与控制器的分离,使得一个模型可以具有多个显示视图。

如果用户通过某个视图的控制器改变了模型的数据,所有其它依赖于这些数据的视图都应反映到这些变化。

因此,无论何时发生了何种数据变化,控制器都会将变化通知所有的视图,导致显示的更新。

这实际上是一种模型的变化-传播机制。

模型、视图、控制器三者之间的关系和各自的主要功能,如图2-1所示。

图2-1MVC模式

2.4.2 MVC的优点

大部分用过程语言比如ASP、PHP开发出来的Web应用,初始的开发模板就是混合层的数据编程。

例如,直接向数据库发送请求并用HTML显示,开发速度往往比较快,但由于数据页面的分离不是很直接,因而很难体现出业务模型的样子或者模型的重用性。

产品设计弹性力度很小,很难满足用户的变化性需求。

MVC要求对应用分层,虽然要花费额外的工作,但产品的结构清晰,产品的应用通过模型可以得到更好地体现。

首先,最重要的是应该有多个视图对应一个模型的能力。

在目前用户需求的快速变化下,可能有多种方式访问应用的要求。

例如,订单模型可能有本系统的订单,也有网上订单,或者其他系统的订单,但对于订单的处理都是一样,也就是说订单的处理是一致的。

按MVC设计模式,一个订单模型以及多个视图即可解决问题。

这样减少了代码的复制,即减少了代码的维护量,一旦模型发生改变,也易于维护。

其次,由于模型返回的数据不带任何显示格式,因而这些模型也可直接应用于接口的使用。

再次,由于一个应用被分离为三层,因此有时改变其中的一层就能满足应用的改变。

一个应用的业务流程或者业务规则的改变只需改动MVC的模型层。

控制层的概念也很有效,由于它把不同的模型和不同的视图组合在一起完成不同的请求,因此,控制层可以说是包含了用户请求权限的概念。

最后,它还有利于软件工程化管理。

由于不同的层各司其职,每一层不同的应用具有某些相同的特征,有利于通过工程化、工具化产生管理程序代码。

2.5 本章小结

本章从基本概念入手,研究了C/S模式,Oracle数据库和MVC模式。

重点阐述了Struts1框架各个组成部分以及该框架在现在Web开发中的优势。

最后从Struts1工作原理来深入了解Struts1的开发流程。

 

3 需求分析和概要设计

3.1 系统需求分析

本系统的设计针对的是一些小型图书信息库德管理,对于他们来说不需要复杂的功能以及带来的繁琐操作,系统本身只需要提供他们日常所设计到的一些操作:

(1)用户登录注册模块:

用户通过注册个人信息来设置自己的登录名和密码,通过用户的登录,来实现网站对用户更好的服务和管理;

(2)书目信息模块:

包括书本信息的添加,修改,删除,检索(前3项只对管理员有效,后一项为普通用户);

(3)图书预定模块:

用户在查看书本具体信息时能显示该功能,可对书本进行预定;

(4)购物车模块:

这主要针对一个用户在一次预定多本图书时,为满足其业务需求而开发的一个模块,主要保存当前预定的图书书目。

(5)订单生成模块:

该模块根据购物车信息而想数据库添加条目,生成订单,管理员可以查看订单,根据订单为普通可无提供服务。

3.2 数据字典

表3-1用户表

ID

UserName

Passward

用户标识(主键)

用户密码

用户类别标识

Number(20)

Varchar(20)

Varchar(20)

表3-2管理员表

ID

AdminName

Passward

用户标识(主键)

用户密码

用户类别标识

Number(20)

Varchar(20)

Varchar(20)

表3-2目录表

id

name

subCategory

parentId

类别ID(主键)

类别名称

子类别列表

父类别

Int(4)

Varchar(20)

自关联

Int(4)

Id

category

name

description

price

categoryValue

产品标识(主键)

类别号

产品名

产品描述

价格

类别名

Number(8)

Number(50)

Varchar(50)

Varchar(500)

Varchar(50)

Varchar(50)

表3-3普通产品表(product)

表3-4书本表(特殊产品book)

Author

Publisher

PublishDate

作者

出版社

出版时间

Varchar(50)

Varchar(50)

Date

3.4 数据流图的设计

数据流程图是一种能全面地描述信息系统逻辑模型的主要工具,它可以用少数几种符号综合地反映出信息在系统中的流动、处理和存储情况。

具有抽象性和概括性。

系统顶层数据流图的设计如图3-5所示。

图3-1顶层数据流图

3.5 网站结构图

本项目主要完成基础数据管理,系统管理,包括普通用户与管理员的各种操作,业务功能如图3-7所示。

图3-1网站结构图

3.5 本章小结

本章先着手分析了系统的各个模块的功能需求,然后根据功能需求设计数据库,接着列出了系统的用例图,最后画出了系统的数据流程图,由于是几个基于Web的系统,因此不可避免的要考虑到用户的操作,使用流程,并且自己在设计时思路必须十分清晰。

本章的工作是对整个系统开发的一个铺垫,需求分析做得好,那么之后的实现部分就能非常顺利,否则就会很糟糕。

 

4图书管理系统开发

4.1 系统环境的搭建

在开始设计系统前需要做以下几个步骤:

(1)使用Oracle创建数据库;

(2)创建连接池;

(3)编写相关

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

当前位置:首页 > 工作范文 > 行政公文

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

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