基于struts的网上书店系统设计毕业设计.docx

上传人:b****6 文档编号:12829375 上传时间:2023-06-08 格式:DOCX 页数:52 大小:863.69KB
下载 相关 举报
基于struts的网上书店系统设计毕业设计.docx_第1页
第1页 / 共52页
基于struts的网上书店系统设计毕业设计.docx_第2页
第2页 / 共52页
基于struts的网上书店系统设计毕业设计.docx_第3页
第3页 / 共52页
基于struts的网上书店系统设计毕业设计.docx_第4页
第4页 / 共52页
基于struts的网上书店系统设计毕业设计.docx_第5页
第5页 / 共52页
基于struts的网上书店系统设计毕业设计.docx_第6页
第6页 / 共52页
基于struts的网上书店系统设计毕业设计.docx_第7页
第7页 / 共52页
基于struts的网上书店系统设计毕业设计.docx_第8页
第8页 / 共52页
基于struts的网上书店系统设计毕业设计.docx_第9页
第9页 / 共52页
基于struts的网上书店系统设计毕业设计.docx_第10页
第10页 / 共52页
基于struts的网上书店系统设计毕业设计.docx_第11页
第11页 / 共52页
基于struts的网上书店系统设计毕业设计.docx_第12页
第12页 / 共52页
基于struts的网上书店系统设计毕业设计.docx_第13页
第13页 / 共52页
基于struts的网上书店系统设计毕业设计.docx_第14页
第14页 / 共52页
基于struts的网上书店系统设计毕业设计.docx_第15页
第15页 / 共52页
基于struts的网上书店系统设计毕业设计.docx_第16页
第16页 / 共52页
基于struts的网上书店系统设计毕业设计.docx_第17页
第17页 / 共52页
基于struts的网上书店系统设计毕业设计.docx_第18页
第18页 / 共52页
基于struts的网上书店系统设计毕业设计.docx_第19页
第19页 / 共52页
基于struts的网上书店系统设计毕业设计.docx_第20页
第20页 / 共52页
亲,该文档总共52页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

基于struts的网上书店系统设计毕业设计.docx

《基于struts的网上书店系统设计毕业设计.docx》由会员分享,可在线阅读,更多相关《基于struts的网上书店系统设计毕业设计.docx(52页珍藏版)》请在冰点文库上搜索。

基于struts的网上书店系统设计毕业设计.docx

基于struts的网上书店系统设计毕业设计

毕业设计

基于struts的网上书店系统设计

 

 

湖南商学院本科毕业设计(论文)诚信声明

本人郑重声明:

所呈交的本科毕业设计(论文),是本人在指导老师的指导下,独立进行研究工作所取得的成果,成果不存在知识产权争议,除文中已经注明引用的内容外,本论文不含任何其他个人或集体已经发表或撰写过的作品成果。

对本文的研究做出重要贡献的个人和集体均已在文中以明确方式标明。

本人完全意识到本声明的法律结果由本人承担。

 

本科毕业设计(论文)作者签名:

年月日

 

摘要

随着网络信息技术的发展,电子商务的应用越来越广泛,网上购物系统方便、快捷的优势,渐渐得到大家的认可。

在电子商务市场不断升温的同时我们也看到了许多有待解决的问题,比如以往开发一个大型电子商务软件往往要经历漫长的开发周期,花费大量的人力和物力,系统的扩展性、重用性和维护性很差。

使用Struts框架能很好的解决上述问题。

Struts框架是一个实现了MVC模式并拥有很多自身功能的框架,它使开发人员把更多的精力放在业务逻辑的实现上。

本文首先介绍了框架技术,分析J2EE平台下的MVC模式的一个流行的实例——Struts框架技术,研究Struts的体系结构。

基于Struts框架,设计、实现网上书店系统,给出了需求分析、总体设计、数据库设计、源码及运行结果。

关键词

J2EE;MVC;Struts;网上书店

 

Abstract

Withthedevelopmentofinternetinformationtechnology,Electroniccommercebecomesmoresandmorepopular.TheadvantageofshoppingisconvenientandrapidintheInternet,whichisgraduallyrecognizedbypeople.Atthesametime,therearemanyproblemsneededtoberesolved,suchasthelongdevelopmentcycleofsoftwareinlarge-scaleElectroniccommerce,thecostoftoomuchtimeandmoney,badpropertyofexpandability,reusingandmaintenance.

UsingStrutsframeworkcansolvetheseproblemsverywell.StrutsframeworkimplementsMVCpatternwithalotoffunctions,whichmakesdeveloperspaymoreattentionontheimplementationofbusinesslogic.Inthispaper,weintroduceframeworktechnical,analysisapopularexampleofMVCpatternbasedonJ2EEplatform--StrutsframeworktechnologyandworkoveronthearchitectureofStruts.BasingonStrutsframework,itdesignsandimplementsInternetBookstoreSystem,andgivestheneedsanalysis,design,databasedesignandoperationresults.

KeyWords

J2EE;MVC;Struts;Internetbookstore

 

基于Struts的网上书店的设计与实现

1.引言

本文采用B/S(浏览器/服务器)构架来设计一个网上书店系统,用Struts开发手段实现。

本章概述了课题的开发背景、选题意义、应用现状和设计要求。

1.1开发背景

随着科技的不断发展和网络的逐步普及,企业的WWW网站在商业活动中发挥着越来越大的作用,在信息时代,建立一个功能强大、界面美观的电子商务网站,建立电子商务系统平台,对企业的发展是至关重要的。

所谓电子商务,是指各种具有商业活动能力的实体(生产企业、商贸企业、金融机构、政府机构、个人消费者等)利用网络和先进的数字化传媒技术进行的各项商业贸易活动。

其中特别要强调的特点,一是其商业背景,二是网络化和数字化。

简言之,电子商务就是通过电子网络渠道达成的商务活动。

它是计算机网络的第二次革命,通过电子手段建立新的经济秩序,不仅涉及电子技术和商业交易本身,而且涉及诸如金融、税务、教育等社会其他层面。

电子商务活动相应分成两大类:

企业组织-企业组织(Business-Business,B2B)型和企业组织-消费者(Business-Consumer,B2C)型。

一般意义上,一个完整的电子商务系统包括信息流、资金流与物流三个要素,三者相辅相成。

除了此之外,网络安全也是需要重点考虑的因素。

1.2现实意义

基于信息技术的迅速发展,企业越来越注重信息化对企业的重大影响。

B2C即企业通过互联网为消费者提供一个新型的购物环境——网上商店,消费者通过网络在网上购物、在网上支付。

由于这种模式节省了客户和企业的时间和空间,大大提高了交易效率,特别是对于工作忙碌的上班族,这种模式可以为其节省宝贵的时间。

是企业展示自己产品的平台,是企业与客户的交流平台,是企业提升企业知名度的一个良好的平台,是能够给公司带来无限效益的平台。

1.3研究现状与技术概述

1.3.1Struts框架的现状及其趋势

近年来,随着Internet技术的迅猛发展,计算机网络给人们的工作、学习和日常生活带来很大的便利,同时开发Web的技术也在不断更新。

J2EE即是其中一个非常有竞争力的选择。

J2EE体系包括很多技术,比如JSP、Servlet、EJB、WebService等。

如何充分使用这些技术,将它们有机组合起来构造一个满足客户需要的稳定系统是项目开发过程中的一个关键环节。

此环节一般主要由架构设计师完成,设计师将根据项目需求,对J2EE体系中的各处技术进行筛选取舍,并考虑到开发过程中的角色分工、后期的运行维护,以及系统可重用性、可扩展性等诸多因素,建立系统的框架。

一个成功的软件需要有一个成功的框架,但软件框架的建立是个复杂而又持续改进的过程,如果能开发出通用的框架将能大大缩短开发时间,减少维护工作量。

Struts就是其中一个流行的基于J2EE的枢架。

使用Struts框架的好处是:

开发人员不需要再花费大量的时间在整个应用,而是集中精力实现业务逻辑和界面,其它功能由struts框架实现。

这将大大缩短项目的开发周期,并降低了学习与开发Web应用的难度。

Struts是一个开放资源框架,由CraigR.McClanahan创建,之后他将其捐赠给了ApacheSoftwareFoundation。

起初,它是作为ApacheJakarta项目的组成部分,项目的创建人希望通过对该项目的研究,J2EE中各种技术以及面相对象的技术的水准。

Struts是一个开放源代码的Web的应用框架,实现了MVC设计模式,基于Servlet和JSPAPI,可以用来构建复杂的Web应用。

它允许我们分解应用程序的业务逻辑,控制逻辑和表现逻辑的代码,便于开发的分工,使系统的重用性和维护性更好。

目前,Struts已经发展到了第二代。

虽然Struts2号称是一个全新的框架,但这仅仅是相对Struts1而言。

Struts2与Struts1相比,确实有很多革命性的改进,但它并不是新发布的新框架,而是在另一个赫赫有名的框架:

WebWork基础上发展起来的。

从某种程度上来讲,Struts2没有继承Struts1的血统,而是继承WebWork的血统。

或者说,WebWork衍生出了Struts2,而不是Struts1衍生了Struts2。

因为Struts2是WebWork的升级,而不是一个全新的框架,因此稳定性、性能等各方面都有很好的保证,而且吸收了Struts1和WebWork两者的优势,因此,是一个非常值得期待的框架。

ApacheStruts2是一个优雅的,可扩展的JAVAEEweb框架。

框架设计的目标贯穿整个开发周期,从开发到发布,包括维护的整个过程。

ApacheStruts2即是之前大家所熟知的WebWork2。

在经历了几年的各自发展后,WebWork和Struts社区决定合二为一,也即是Struts2。

Struts2和Struts1的不同之处体现在以下几个方面:

Action类:

Struts1要求Action类继承一个抽象基类。

Struts1的一个普遍问题是使用抽象类编程而不是接口;Struts2Action类可以实现一个Action接口,也可实现其他接口,使可选和定制的服务成为可能。

Struts2提供一个ActionSupport基类去实现常用的接口。

Action接口不是必须的,任何有execute标识的POJO对象都可以用作Struts2的Action对象。

线程模式:

Struts1Action是单例模式并且必须是线程安全的,因为仅有Action的一个实例来处理所有的请求。

单例策略限制了Struts1Action能作的事,并且要在开发时特别小心。

Action资源必须是线程安全的或同步的;Struts2Action对象为每一个请求产生一个实例,因此没有线程安全问题。

(实际上,servlet容器给每个请求产生许多可丢弃的对象,并且不会导致性能和垃圾回收问题)

Servlet依赖:

Struts1Action依赖于ServletAPI,因为当一个Action被调用时HttpServletRequest和HttpServletResponse被传递给execute方法;Struts2Action不依赖于容器,允许Action脱离容器单独被测试。

如果需要,Struts2Action仍然可以访问初始的request和response.但是,其他的元素减少或者消除了直接访问HttpServetRequest和HttpServletResponse的必要性。

可测性:

测试Struts1Action的一个主要问题是execute方法暴露了servletAPI(这使得测试要依赖于容器)。

一个第三方扩展(StrutsTestCase)提供了一套Struts1的模拟对象(来进行测试);Struts2Action可以通过初始化、设置属性、调用方法来测试,“依赖注入”支持也使测试更容易。

捕获输入:

Struts1使用ActionForm对象捕获输入。

所有的ActionForm必须继承一个基类。

因为其他JavaBean不能用作ActionForm,开发者经常创建多余的类捕获输入。

动态Bean(DynaBeans)可以作为创建传统ActionForm的选择,但是,开发者可能是在重新描述(创建)已经存在的JavaBean(仍然会导致有冗余的javabean);Struts2直接使用Action属性作为输入属性,消除了对第二个输入对象的需求。

输入属性可能是有自己(子)属性的rich对象类型。

Action属性能够通过web页面上的taglibs访问。

Struts2也支持ActionForm模式。

rich对象类型,包括业务对象,能够用作输入/输出对象。

这种ModelDriven特性简化了taglib对POJO输入对象的引用。

表达式语言:

Struts1整合了JSTL,因此使用JSTLEL.这种EL有基本对象图遍历,但是对集合和索引属性的支持很弱;Struts2可以使用JSTL,但是也支持一个更强大和灵活的表达式语言——"ObjectGraphNotationLanguage"(OGNL)。

绑定值到页面:

Struts1使用标准JSP机制把对象绑定到页面中来访问;Struts2使用"ValueStack"技术,使taglib能够访问值而不需要把你的页面和对象绑定起来。

ValueStack策略允许通过一系列名称相同但类型不同的属性重用页面。

类型转换:

Struts1ActionForm属性通常都是String类型。

Struts1使用Commons-Beanutils进行类型转换。

每个类一个转换器,对每一个实例来说是不可配置的;Struts2使用OGNL进行类型转换。

提供基本和常用对象的转换器。

校验:

Struts1支持在ActionForm的validate方法中手动校验,或者通过CommonsValidator的扩展来校验。

同一个类可以有不同的校验内容,但不能校验子对象;Struts2支持通过validate方法和XWork校验框架来进行校验。

XWork校验框架使用为属性类类型定义的校验和内容校验,来支持chain校验子属性。

Action执行的控制:

Struts1支持每一个模块有单独的RequestProcessors(生命周期),但是模块中的所有Action必须共享相同的生命周期;Struts2支持通过拦截器堆栈(InterceptorStacks)为每一个Action创建不同的生命周期。

堆栈能够根据需要和不同的Action一起使用。

Struts的目标就是要全面减轻建立企业级的Web应用的负担。

该框架已经被验证了好几年,是目前较为成熟和稳定的框架之一。

它在最近几年得到了飞速的发展,尤其在Web应用开发中应用得非常广泛,有的文献上说它已经成为JSPWeb应用框架事实上的标准。

1.3.2网上书店的现状和发展趋势

电子商务是利用现代信息网络进行商务活动的一种先进手段,作为创新的经济运行方式,其影响已经远远超过商业领域。

国外最早的电子商务体验其实是从网上售书开始的。

1994年7月,美国考夫•贝佐斯在西雅图开设了全球第一家网上书店——亚马逊书店。

这个与世界最长河流亚马逊同名的网络书店也是全球电子商务的一面旗帜。

中国引入的B2C的电子商务模式网上书店以卓越网和当当网为代表的直接建立在因特网上的虚拟书店,其中卓越定位于精品图书的销售,当当网则是追随亚马逊模式的多品种销售的代表;还有一类是出于竞争或仿效也加入网上书店行列的一些老牌图书销售商,如新华书店。

网上书店为它的顾客提供了更多的方便。

人们不受时间的限制,不受空间的限制,不受传统购物的诸多限制,可以随时随地在网上交易,一个消费者可以在全球的任何一家商家购物;而且利用搜索引擎寻找自己想要的书籍非常快捷,省时又省力。

而书店本身也拥有了更广阔的市场。

在网上这个世界将会变得很小,一个商家可以面对全球的消费者。

它更快速的流通和低廉的价格。

电子商务减少了商品流通的中间环节,节省了大量的开支,从而也大大降低了商品流通和交易的成本。

它更符合时代的要求。

如今人们越来越追求时尚、讲究个性,注重购物的环境,网上购物,更能体现个性化的购物过程。

要做到这些,网上书店必须有大量的网上购书者、先进方便的结算方式、完善的配送体系、较高的折扣率等条件支持。

亚马逊就通过其高效运转的一整套系统实现了零库存运转。

此外,通过计算机存贮的资料,网上书店毫不费力地建立起自己庞大的全球化读者信息库,对客户需求和产品行情的预测也就更准确。

从而有效地降低库存,减少资金占用。

此外,网上虚拟书店,业务环节大为简化,能节约费用开支,降低销售成本。

关于网络技术的发展有以下几个方面:

第一,在网络方面,早期用于电子商务的网络多为较封闭的,现在基本上都转向TCP/IP。

绝大多数企业网络都用Internet的技术来构建,这为电子商务的发展提供了一个统一的平台。

第二,在软件方面,以IBM、HP为首的众多IT厂商纷纷推出自己的电子商务产品,有的还提出了“一揽子解决方案”。

对于人们最关心的支付与安全问题,似乎也都不成问题。

例如各种卡技术——IC卡、智能卡、各种信用卡、电子现金卡等;各种安全技术——防火墙、密钥管理、时戳业务、不可否认业务、公钥证书认证等。

第三,在硬件方面,无论是企业或商家构建服务器,还是个人选择上网的PC,都有非常宽广的可选择的面,因此,国内计算机和网络发展非常迅猛。

当今时代是飞速发展的信息时代。

在各行各业中离不开网络,这正是计算机被广泛应用于网上销售系统的环境。

计算机的最大好处在于利用它能够进行信息管理。

使用计算机进行信息控制,不仅提高了工作效率,而且大大的提高了其安全性。

网上书店如今已被广泛的运用,而且将会越来越普及。

1.4设计要求与主要工作

设计一个基于B/S的网上书店系统,该系统可由各个角色通过网络进行访问,实现信息管理、在线查询、网上购买等功能。

设计要求:

(1)管理会员信息及审核网上交易信息;

(2)图书更新功能;

(3)会员注册登陆功能;

(4)在线挑选购买图书功能;

本设计主要分为四个部分,其结构和内容如下:

第一部分是引言,包括开发背景,现实意义等部分;

第二部分是Struts框架的概述,具体介绍框架、Struts及其体系结构;

第三部分是网上书店的需求分析和设计与实现,网上书店的流程、开发工具及开发环境、具体实现的过程和最终的成果展示;

第四部分是对全文的一个总结和对未来的展望。

2.Struts框架概述

本章主要介绍框架的概念、优点及其分类,Struts技术的相关概念、优缺点以及Struts的体系结构。

2.1框架

框架是一个可重用的应用程序,它实现了一些用户开发时需要的一些基本功能,让用户专心于业务逻辑的实现。

用户通过定制框架形成满足他们具体需求的软件,但用户对框架复杂的内部结构不清楚。

重用是框架的主要目的,即框架设计概念的重用或者框架中的抽象类的重用。

2.1.1框架的优点

模块化:

通过将复杂的实现细节封装于稳定的界面后面,框架加强了自身的模块化。

当设计和实现的改变会给整个软件系统带来很大的改变时,模块化可以把这种改变限定在局部的范围。

可重用:

框架定义的稳定的接口有助于组件的产生和设计,这些组件可以被重用,框架组件的重用可以缩短开发周期,大大地提高开发效率、软件的质量、可靠性。

此外,框架描述了该领域内的知识和以前开发者的宝贵经验,这样就不需要对该领域内的核心需求进行重复理解,并且提高了核心设计的质量。

可扩展性:

用户不仅可以使用框架提供的功能,通过扩展框架己有接口,用户可以实现自己的功能。

2.1.3框架的分类

(1)底层系统结构框架:

底层系统结构框架主要用于底层结构的开发,底层系统结构框架移植性比较好。

比如操作系统、通讯框架、用户接日框架和语言处理框架。

(2)中间件集成框架:

它主要用来集成分布式的应用程序和组件。

中间件的发展非常快速,并逐渐为大多数程序开发者接受。

比如:

对象请求代理框架、面向消息的中间件和事务处理数据库。

(3)企业应用框架:

它解决的问题的领域非常广泛(如GIS系统、远程通讯系统),而且这些软件系统本身己经成为该领域行为的重要组成部分。

比较而言,虽然底层系统结构框架和中间件集成框架对于提高开发发速度和质量非常重要,但是它们并不能像企业应用框架给开发带来革命性的改善。

2.2Struts框架

2.2.1Struts简介

Struts是apache组织jakarta项目的一个子项目,用以改善web系统的结构。

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

Struts框架具有组件的模块化,灵活性和重用性的优点,同时简化了基于MVC的web应用程序的开发。

它可分为以下四个主要部分,其中三个就和MVC模式紧密相关。

模型(Model),本质上来说在Struts中Model是一个Action类,开发者通过其实现商业逻辑,同时用户请求通过控制器(Controller)向Action的转发过程是基于由struts-config.xml文件描述的配置信息的。

视图(View),View是由与控制器Servlet配合工作的一整套JSP定制标签库构成,利用她们我们可以快速建立应用系统的界面。

控制器(Controller),本质上是一个Servlet,将客户端请求转发到相应的Action类。

Struts是用XML来描述如何自动产生一些JavaBean的属性的,此外Struts还利用XML来描述在国际化应用中的用户提示信息,这样一来就实现了应用系统的多语言支持。

2.2.2Struts优缺点

Struts框架具有以下优点:

Struts跟Tomcat、Turbine等诸多Apache项目一样,是开源软件,这是它的一大优点,使开发者能更深入的了解其内部实现机制;作为基于Servlet技术的框架,Struts且有Servlet所具有的大部分优点;Struts是基于MVC实现的,因此它具有结构层次分明、可重用性高、程序具有健壮性和可伸缩性,便于开发与设计分工,具有集中统一的权限控制等优点;JSP标记机制和Taglib标签库的使用可提高代码的可重用性和灵活性,大大提高开发效率;页面导航使系统的脉络更加清晰,通过一个配置文件,即可把握整个系统各部分之间的联系,这对于后期的维护有着莫大的好处,尤其是当另一批开发者接手这个项目时,这种优势体现得更加明显;Struts对其他技术显示出很好的融合性;Struts还提供了校验、国际化、日志等丰富的功能,方便开发人员使用。

但是Struts框架也存在一些缺点:

Taglib是Struts的一大优势,但对于初学者而言,却需要一个持续学习的过程,甚至还会打乱你网页编写的习惯,但是,当你习惯了它时,你会觉得它真的很棒;Struts将MVC的Controller一分为三,在获得结构更加清晰的同时,也增加了系统的复杂度。

Struts产生的时间还不长,但已逐步越来越多运用于商业软件。

虽然它现在还有不少缺点,但它是一种非常优秀的J2EEMVC实现方式。

2.3体系结构

Struts由一组相互协作的类(组件)、Servlet以及JSP卷标库组成。

基于Struts架构的Web应用程序基本上符合JSP模式2的设计标准,可以说是MVC设计模式的一种实现。

Struts有其自己的控制器(Controller),同时整合了其它的一些技术去实现模型层(Model)和视图层(View)。

在模型层,Struts可以很容易的与数据访问技术相结合,包括EJB,JDBC等。

在视图层,Struts能够与JSP,XSL等等这些表示层组件相结合。

2.3.1Struts与Web应用的关系

Struts作为一种框架,它主要基于Web层进行应用系统开发。

按照J2EE架构的标准,Struts和JSP/SERVLET一样,存在于WebContain一层。

2.3.2Struts体系结构

Struts框架是MVC的实现,下面就分别从模型,视图和控制器来介绍Struts的体系结构。

图2.1显示了Struts框架的体系结构在响应客户请求的时候,各个部分的交互过程。

图2.1Struts体系结构

(1)视图(view)

一个基于Struts的应用的视图部分通常使用JSP技术构造。

JSP页面可以包含静态的HTML。

JSP环境包括一组标准的行为标记,比如

useBean>.除了内建行为,还有一个用来定义你自己的标记的标准设施,它被组织成“自定义标记库”。

Java开发者很容易在JSP当中过度使用Java小程序,直接嵌入条件业务逻辑和循环。

MVC解决了这一问题,通过把复杂的处理分离到Model和Controller组件中,从而使JSP本身

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

当前位置:首页 > PPT模板 > 商务科技

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2