学位论文-—基于struts的网上书店系统设计.doc

上传人:教**** 文档编号:88288930 上传时间:2023-04-24 格式:DOC 页数:57 大小:1.67MB
返回 下载 相关 举报
学位论文-—基于struts的网上书店系统设计.doc_第1页
第1页 / 共57页
学位论文-—基于struts的网上书店系统设计.doc_第2页
第2页 / 共57页
点击查看更多>>
资源描述

《学位论文-—基于struts的网上书店系统设计.doc》由会员分享,可在线阅读,更多相关《学位论文-—基于struts的网上书店系统设计.doc(57页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、毕业设计基于struts的网上书店系统设计学生姓名何晓力学 号070920092学 院计算机与电子工程学院专 业计算机科学与技术班 级计科0703班指导教师唐爱国职 称讲 师湖 南 商 学 院2011年6月湖南商学院本科毕业设计(论文)诚信声明本人郑重声明:所呈交的本科毕业设计(论文),是本人在指导老师的指导下,独立进行研究工作所取得的成果,成果不存在知识产权争议,除文中已经注明引用的内容外,本论文不含任何其他个人或集体已经发表或撰写过的作品成果。对本文的研究做出重要贡献的个人和集体均已在文中以明确方式标明。本人完全意识到本声明的法律结果由本人承担。 本科毕业设计(论文)作者签名: 年 月 日

2、湖南商学院毕业设计(论文) 摘 要随着网络信息技术的发展,电子商务的应用越来越广泛,网上购物系统方便、快捷的优势,渐渐得到大家的认可。在电子商务市场不断升温的同时我们也看到了许多有待解决的问题,比如以往开发一个大型电子商务软件往往要经历漫长的开发周期,花费大量的人力和物力,系统的扩展性、重用性和维护性很差。使用Struts框架能很好的解决上述问题。Struts框架是一个实现了MVC模式并拥有很多自身功能的框架,它使开发人员把更多的精力放在业务逻辑的实现上。本文首先介绍了框架技术,分析J2EE平台下的MVC模式的一个流行的实例Struts框架技术,研究Struts的体系结构。基于Struts框架

3、,设计、实现网上书店系统,给出了需求分析、总体设计、数据库设计、源码及运行结果。关键词J2EE;MVC;Struts;网上书店AbstractWith the development of internet information technology, Electronic commerce becomes mores and more popular. The advantage of shopping is convenient and rapid in the Internet, which is gradually recognized by people. At the same

4、time, there are many problems needed to be resolved, such as the long development cycle of software in large-scale Electronic commerce, the cost of too much time and money, bad property of expandability, reusing and maintenance.Using Struts framework can solve these problems very well. Struts framew

5、ork implements MVC pattern with a lot of functions, which makes developers pay more attention on the implementation of business logic. In this paper, we introduce framework technical, analysis a popular example of MVC pattern based on J2EE platform-Struts framework technology and work over on the ar

6、chitecture of Struts. Basing on Struts framework, it designs and implements Internet Bookstore System, and gives the needs analysis, design, database design and operation results.Key WordsJ2EE;MVC;Struts;Internet bookstore目 录1.引言11.1 开发背景11.2 现实意义11.3 研究现状与技术概述21.3.1 Struts框架的现状及其趋势21.3.2 网上书店的现状和发展

7、趋势51.4 设计要求与主要工作62. Struts框架概述82.1 框架82.1.1 框架的优点82.1.3 框架的分类82.2 Struts框架92.2.1 Struts简介92.2.2 Struts优缺点92.3 体系结构102.3.1 Struts与Web应用的关系102.3.2 Struts体系结构102.3.3 Struts基本组件包133.网上书店系统需求分析153.1 用户需求分析153.1.1 图书查询需求153.1.2 购物车管理需求163.1.3 订单处理需求163.1.4 会员注册/登录需求173.1.5 图书管理需求173.2 系统业务流程分析183.3 系统运行和开

8、发环境193.3.1 系统运行环境193.3.2 系统开发环境193.4 数据流图203.5 系统的数据字典234.网上书店系统总体设计254.1 系统设计描述254.2 系统模块描述254.2.1 系统总体设计描述254.2.2 系统具体模块描述264.3 数据库设计274.3.1 数据库介绍274.3.2 系统E-R图274.3.3 系统各数据表的关系294.3.4 数据逻辑结构表294.4 数据库连接配置325.网上书店系统实现335.1 系统实现步骤335.2 功能模块详细设计335.2.1 主页模块345.2.2 用户模块345.2.3 购物车模块365.2.4 图书管理模块376.

9、 网上书店系统测试与运行406.1 功能测试406.2 系统运行417. 总结与展望47参考文献48致 谢50基于Struts的网上书店的设计与实现1.引言本文采用B/S(浏览器/服务器)构架来设计一个网上书店系统,用Struts开发手段实现。本章概述了课题的开发背景、选题意义、应用现状和设计要求。1.1 开发背景随着科技的不断发展和网络的逐步普及,企业的WWW网站在商业活动中发挥着越来越大的作用,在信息时代,建立一个功能强大、界面美观的电子商务网站,建立电子商务系统平台,对企业的发展是至关重要的。所谓电子商务,是指各种具有商业活动能力的实体(生产企业、商贸企业、金融机构、政府机构、个人消费者

10、等)利用网络和先进的数字化传媒技术进行的各项商业贸易活动。其中特别要强调的特点,一是其商业背景,二是网络化和数字化。简言之,电子商务就是通过电子网络渠道达成的商务活动。它是计算机网络的第二次革命,通过电子手段建立新的经济秩序,不仅涉及电子技术和商业交易本身,而且涉及诸如金融、税务、教育等社会其他层面。电子商务活动相应分成两大类:企业组织-企业组织(Business-Business,B2B)型和企业组织-消费者(Business-Consumer,B2C)型。一般意义上,一个完整的电子商务系统包括信息流、资金流与物流三个要素,三者相辅相成。除了此之外,网络安全也是需要重点考虑的因素。1.2 现

11、实意义基于信息技术的迅速发展,企业越来越注重信息化对企业的重大影响。B2C即企业通过互联网为消费者提供一个新型的购物环境网上商店,消费者通过网络在网上购物、在网上支付。由于这种模式节省了客户和企业的时间和空间,大大提高了交易效率,特别是对于工作忙碌的上班族,这种模式可以为其节省宝贵的时间。是企业展示自己产品的平台,是企业与客户的交流平台,是企业提升企业知名度的一个良好的平台,是能够给公司带来无限效益的平台。1.3 研究现状与技术概述 1.3.1 Struts框架的现状及其趋势近年来,随着Internet技术的迅猛发展,计算机网络给人们的工作、学习和日常生活带来很大的便利,同时开发Web的技术也

12、在不断更新。J2EE即是其中一个非常有竞争力的选择。J2EE体系包括很多技术,比如JSP、Servlet、EJB、WebService等。如何充分使用这些技术,将它们有机组合起来构造一个满足客户需要的稳定系统是项目开发过程中的一个关键环节。此环节一般主要由架构设计师完成,设计师将根据项目需求,对J2EE体系中的各处技术进行筛选取舍,并考虑到开发过程中的角色分工、后期的运行维护,以及系统可重用性、可扩展性等诸多因素,建立系统的框架。一个成功的软件需要有一个成功的框架,但软件框架的建立是个复杂而又持续改进的过程,如果能开发出通用的框架将能大大缩短开发时间,减少维护工作量。Struts就是其中一个流

13、行的基于J2EE的枢架。使用Struts框架的好处是:开发人员不需要再花费大量的时间在整个应用,而是集中精力实现业务逻辑和界面,其它功能由struts框架实现。这将大大缩短项目的开发周期,并降低了学习与开发Web应用的难度。Struts是一个开放资源框架,由Craig R.McClanahan创建,之后他将其捐赠给了Apache Software Foundation。起初,它是作为ApacheJakarta项目的组成部分,项目的创建人 希望通过对该项目的研究,J2EE中各种技术以及面相对象的技术的水准。Struts是一个开放源代码的Web的应用框架,实现了MVC设计模式,基于Servlet和

14、JSP API,可以用来构建复杂的Web应用。它允许我们分解应用程序的业务逻辑,控制逻辑和表现逻辑的代码,便于开发的分工,使系统的重用性和维护性更好。目前,Struts已经发展到了第二代。虽然Struts2号称是一个全新的框架,但这仅仅是相对Struts1而言。Struts2 与Struts1相比,确实有很多革命性的改进,但它并不是新发布的新框架,而是在另一个赫赫有名的框架:WebWork基础上发展起来的。从某种程度上来讲,Struts2没有继承Struts 1的血统,而是继承WebWork的血统。或者说,WebWork衍生出了Struts2,而不是Struts1衍生了Struts2。因为St

15、ruts2是WebWork的升级,而不是一个全新的框架,因此稳定性、性能等各方面都有很好的保证,而且吸收了Struts1和WebWork两者的优势,因此,是一个非常值得期待的框架。Apache Struts2是一个优雅的,可扩展的JAVA EE web框架。框架设计的目标贯穿整个开发周期,从开发到发布,包括维护的整个过程。Apache Struts 2即是之前大家所熟知的WebWork 2。在经历了几年的各自发展后,WebWork和Struts社区决定合二为一,也即是Struts 2。Struts2和Struts1的不同之处体现在以下几个方面:Action 类:Struts1要求Action类

16、继承一个抽象基类。Struts1的一个普遍问题是使用抽象类编程而不是接口;Struts2 Action类可以实现一个Action接口,也可实现其他接口,使可选和定制的服务成为可能。Struts2提供一个ActionSupport基类去实现常用的接口。Action接口不是必须的,任何有execute标识的POJO对象都可以用作Struts2的Action对象。线程模式:Struts1 Action是单例模式并且必须是线程安全的,因为仅有Action的一个实例来处理所有的请求。单例策略限制了Struts1 Action能作的事,并且要在开发时特别小心。Action资源必须是线程安全的或同步的;St

17、ruts2 Action对象为每一个请求产生一个实例,因此没有线程安全问题。(实际上,servlet容器给每个请求产生许多可丢弃的对象,并且不会导致性能和垃圾回收问题)Servlet依赖:Struts1 Action 依赖于Servlet API,因为当一个Action被调用时HttpServletRequest 和 HttpServletResponse 被传递给execute方法;Struts 2 Action不依赖于容器,允许Action脱离容器单独被测试。如果需要,Struts2 Action仍然可以访问初始的request和response.但是,其他的元素减少或者消除了直接访问Ht

18、tpServetRequest 和 HttpServletResponse的必要性。可测性:测试Struts1 Action的一个主要问题是execute方法暴露了servlet API(这使得测试要依赖于容器)。一个第三方扩展(Struts TestCase)提供了一套Struts1的模拟对象(来进行测试);Struts 2 Action可以通过初始化、设置属性、调用方法来测试,“依赖注入”支持也使测试更容易。捕获输入:Struts1 使用ActionForm对象捕获输入。所有的ActionForm必须继承一个基类。因为其他JavaBean不能用作ActionForm,开发者经常创建多余的类

19、捕获输入。动态Bean(DynaBeans)可以作为创建传统ActionForm的选择,但是,开发者可能是在重新描述(创建)已经存在的JavaBean(仍然会导致有冗余的javabean); Struts 2直接使用Action属性作为输入属性,消除了对第二个输入对象的需求。输入属性可能是有自己(子)属性的rich对象类型。Action属性能够通过web页面上的taglibs访问。Struts2也支持ActionForm模式。rich对象类型,包括业务对象,能够用作输入/输出对象。这种ModelDriven 特性简化了taglib对POJO输入对象的引用。表达式语言:Struts1 整合了JS

20、TL,因此使用JSTL EL.这种EL有基本对象图遍历,但是对集合和索引属性的支持很弱;Struts2可以使用JSTL,但是也支持一个更强大和灵活的表达式语言Object Graph Notation Language (OGNL)。绑定值到页面:Struts 1使用标准JSP机制把对象绑定到页面中来访问;Struts 2 使用 ValueStack技术,使taglib能够访问值而不需要把你的页面和对象绑定起来。ValueStack策略允许通过一系列名称相同但类型不同的属性重用页面。类型转换:Struts 1 ActionForm 属性通常都是String类型。Struts1使用Commons

21、-Beanutils进行类型转换。每个类一个转换器,对每一个实例来说是不可配置的;Struts2 使用OGNL进行类型转换。提供基本和常用对象的转换器。校验:Struts 1支持在ActionForm的validate方法中手动校验,或者通过Commons Validator的扩展来校验。同一个类可以有不同的校验内容,但不能校验子对象;Struts2支持通过validate方法和XWork校验框架来进行校验。XWork校验框架使用为属性类类型定义的校验和内容校验,来支持chain校验子属性。Action执行的控制:Struts1支持每一个模块有单独的Request Processors(生命周

22、期),但是模块中的所有Action必须共享相同的生命周期;Struts2支持通过拦截器堆栈(Interceptor Stacks)为每一个Action创建不同的生命周期。堆栈能够根据需要和不同的Action一起使用。Struts的目标就是要全面减轻建立企业级的Web应用的负担。该框架已经被验证了好几年,是目前较为成熟和稳定的框架之一。它在最近几年得到了飞速的发展,尤其在Web应用开发中应用得非常广泛,有的文献上说它已经成为JSP Web应用框架事实上的标准。1.3.2 网上书店的现状和发展趋势电子商务是利用现代信息网络进行商务活动的一种先进手段,作为创新的经济运行方式,其影响已经远远超过商业领

23、域。国外最早的电子商务体验其实是从网上售书开始的。1994年7月,美国考夫贝佐斯在西雅图开设了全球第一家网上书店亚马逊书店。这个与世界最长河流亚马逊同名的网络书店也是全球电子商务的一面旗帜。中国引入的B2C的电子商务模式网上书店以卓越网和当当网为代表的直接建立在因特网上的虚拟书店,其中卓越定位于精品图书的销售,当当网则是追随亚马逊模式的多品种销售的代表;还有一类是出于竞争或仿效也加入网上书店行列的一些老牌图书销售商,如新华书店。网上书店为它的顾客提供了更多的方便。人们不受时间的限制,不受空间的限制,不受传统购物的诸多限制,可以随时随地在网上交易,一个消费者可以在全球的任何一家商家购物;而且利用

24、搜索引擎寻找自己想要的书籍非常快捷,省时又省力。而书店本身也拥有了更广阔的市场。在网上这个世界将会变得很小,一个商家可以面对全球的消费者。它更快速的流通和低廉的价格。电子商务减少了商品流通的中间环节,节省了大量的开支,从而也大大降低了商品流通和交易的成本。它更符合时代的要求。如今人们越来越追求时尚、讲究个性,注重购物的环境,网上购物,更能体现个性化的购物过程。要做到这些,网上书店必须有大量的网上购书者、先进方便的结算方式、完善的配送体系、较高的折扣率等条件支持。亚马逊就通过其高效运转的一整套系统实现了零库存运转。此外,通过计算机存贮的资料,网上书店毫不费力地建立起自己庞大的全球化读者信息库,对

25、客户需求和产品行情的预测也就更准确。从而有效地降低库存,减少资金占用。此外,网上虚拟书店,业务环节大为简化,能节约费用开支,降低销售成本。关于网络技术的发展有以下几个方面:第一,在网络方面,早期用于电子商务的网络多为较封闭的,现在基本上都转向TCP/IP。绝大多数企业网络都用Internet的技术来构建,这为电子商务的发展提供了一个统一的平台。第二,在软件方面,以IBM、HP为首的众多IT厂商纷纷推出自己的电子商务产品,有的还提出了“一揽子解决方案”。对于人们最关心的支付与安全问题,似乎也都不成问题。例如各种卡技术IC卡、智能卡、各种信用卡、电子现金卡等;各种安全技术防火墙、密钥管理、时戳业务

26、、不可否认业务、公钥证书认证等。第三,在硬件方面,无论是企业或商家构建服务器,还是个人选择上网的PC,都有非常宽广的可选择的面,因此,国内计算机和网络发展非常迅猛。当今时代是飞速发展的信息时代。在各行各业中离不开网络,这正是计算机被广泛应用于网上销售系统的环境。计算机的最大好处在于利用它能够进行信息管理。使用计算机进行信息控制,不仅提高了工作效率,而且大大的提高了其安全性。网上书店如今已被广泛的运用,而且将会越来越普及。1.4 设计要求与主要工作设计一个基于B/S的网上书店系统,该系统可由各个角色通过网络进行访问,实现信息管理、在线查询、网上购买等功能。设计要求:(1) 管理会员信息及审核网上

27、交易信息;(2) 图书更新功能;(3) 会员注册登陆功能;(4) 在线挑选购买图书功能;本设计主要分为四个部分,其结构和内容如下:第一部分是引言,包括开发背景,现实意义等部分;第二部分是Struts框架的概述,具体介绍框架、Struts及其体系结构;第三部分是网上书店的需求分析和设计与实现,网上书店的流程、开发工具及开发环境、具体实现的过程和最终的成果展示;第四部分是对全文的一个总结和对未来的展望。2. Struts框架概述本章主要介绍框架的概念、优点及其分类,Struts技术的相关概念、优缺点以及Struts的体系结构。2.1 框架框架是一个可重用的应用程序,它实现了一些用户开发时需要的一些

28、基本功能,让用户专心于业务逻辑的实现。用户通过定制框架形成满足他们具体需求的软件,但用户对框架复杂的内部结构不清楚。重用是框架的主要目的,即框架设计概念的重用或者框架中的抽象类的重用。2.1.1 框架的优点模块化:通过将复杂的实现细节封装于稳定的界面后面,框架加强了自身的模块化。当设计和实现的改变会给整个软件系统带来很大的改变时,模块化可以把这种改变限定在局部的范围。可重用:框架定义的稳定的接口有助于组件的产生和设计,这些组件可以被重用,框架组件的重用可以缩短开发周期,大大地提高开发效率、软件的质量、可靠性。此外,框架描述了该领域内的知识和以前开发者的宝贵经验,这样就不需要对该领域内的核心需求

29、进行重复理解,并且提高了核心设计的质量。可扩展性:用户不仅可以使用框架提供的功能,通过扩展框架己有接口,用户可以实现自己的功能。2.1.3 框架的分类(1)底层系统结构框架:底层系统结构框架主要用于底层结构的开发,底层系统结构框架移植性比较好。比如操作系统、通讯框架、用户接日框架和语言处理框架。(2)中间件集成框架:它主要用来集成分布式的应用程序和组件。中间件的发展非常快速,并逐渐为大多数程序开发者接受。比如 :对象请求代理框架、面向消息的中间件和事务处理数据库。(3)企业应用框架:它解决的问题的领域非常广泛(如GIS系统、远程通讯系统),而且这些软件系统本身己经成为该领域行为的重要组成部分。

30、比较而言,虽然底层系统结构框架和中间件集成框架对于提高开发发速度和质量非常重要,但是它们并不能像企业应用框架给开发带来革命性的改善。2.2 Struts框架2.2.1 Struts简介Struts是apache组织jakarta项目的一个子项目,用以改善web系统的结构。它是一个基于Sun J2EE平台的MVC框架,主要是采用Servlet和JSP技术来实现的。Struts框架具有组件的模块化,灵活性和重用性的优点,同时简化了基于MVC的web应用程序的开发。它可分为以下四个主要部分,其中三个就和MVC模式紧密相关。模型(Model),本质上来说在Struts中Model是一个Action类,

31、开发者通过其实现商业逻辑,同时用户请求通过控制器(Controller)向Action的转发过程是基于由struts-config.xml文件描述的配置信息的。视图(View),View是由与控制器Servlet配合工作的一整套JSP定制标签库构成,利用她们我们可以快速建立应用系统的界面。控制器(Controller),本质上是一个Servlet,将客户端请求转发到相应的Action类。Struts是用XML来描述如何自动产生一些JavaBean的属性的,此外Struts还利用XML来描述在国际化应用中的用户提示信息,这样一来就实现了应用系统的多语言支持。2.2.2 Struts优缺点Stru

32、ts框架具有以下优点:Struts跟Tomcat、Turbine等诸多Apache项目一样,是开源软件,这是它的一大优点,使开发者能更深入的了解其内部实现机制;作为基于Servlet技术的框架,Struts且有Servlet所具有的大部分优点;Struts是基于MVC实现的,因此它具有结构层次分明、可重用性高、程序具有健壮性和可伸缩性,便于开发与设计分工,具有集中统一的权限控制等优点;JSP标记机制和Taglib标签库的使用可提高代码的可重用性和灵活性,大大提高开发效率;页面导航使系统的脉络更加清晰,通过一个配置文件,即可把握整个系统各部分之间的联系,这对于后期的维护有着莫大的好处,尤其是当另

33、一批开发者接手这个项目时,这种优势体现得更加明显;Struts对其他技术显示出很好的融合性;Struts还提供了校验、国际化、日志等丰富的功能,方便开发人员使用。但是Struts框架也存在一些缺点:Taglib是Struts的一大优势,但对于初学者而言,却需要一个持续学习的过程,甚至还会打乱你网页编写的习惯,但是,当你习惯了它时,你会觉得它真的很棒;Struts将MVC的Controller一分为三,在获得结构更加清晰的同时,也增加了系统的复杂度。Struts产生的时间还不长,但已逐步越来越多运用于商业软件。虽然它现在还有不少缺点,但它是一种非常优秀的J2EE MVC实现方式。2.3 体系结构

34、Struts由一组相互协作的类(组件)、Servlet以及JSP卷标库组成。基于Struts架构的Web应用程序基本上符合JSP模式2的设计标准,可以说是MVC设计模式的一种实现。Struts有其自己的控制器(Controller),同时整合了其它的一些技术去实现模型层(Model)和视图层(View)。在模型层,Struts可以很容易的与数据访问技术相结合,包括EJB,JDBC等。在视图层,Struts能够与JSP,XSL等等这些表示层组件相结合。2.3.1 Struts与Web应用的关系Struts作为一种框架,它主要基于Web层进行应用系统开发。按照J2EE架构的标准,Struts和JS

35、P/SERVLET一样,存在于Web Contain一层。2.3.2 Struts体系结构Struts框架是MVC的实现,下面就分别从模型,视图和控制器来介绍Struts的体系结构。图2.1显示了Struts 框架的体系结构在响应客户请求的时候,各个部分的交互过程。图2.1 Struts体系结构(1)视图(view)一个基于Struts的应用的视图部分通常使用JSP技术构造。JSP页面可以包含静态的HTML。JSP环境包括一组标准的行为标记,比如.除了内建行为,还有一个用来定义你自己的标记的标准设施,它被组织成“自定义标记库”。Java开发者很容易在JSP当中过度使用Java小程序,直接嵌入条

36、件业务逻辑和循环。MVC解决了这一问题,通过把复杂的处理分离到Model和 Controller组件中,从而使JSP本身更小,这显然大大简化并加速了开发、测试及维护的工作。Struts的自定义标记可以非常好的和系统的Model部分交互,通过使用这些自定义标记创建的JSP窗体,可以实现和Model部分中的ActionForm的映像,完成对用户数据的封装。(2)模型(Model) 模型是应用的主要逻辑。MVC系统中的Model部分从概念上可以分为两类系统的内部状态和改变系统状态的动作。Struts通常使用一组JavaBean表示系统的内部状态,根据系统的复杂度也可以使用像Entity EJB和Se

37、ssion EJB等组件来实现系统状态。Struts为Model部分提供了Action和ActionForm对象:所有的Action处理器对象都是开发者从Struts的Action类派生的子类。Action处理器对象封装了具体的处理逻辑,调用业务逻辑模块,并且把响应提交到合适的view组件以产生响应。Struts提供的ActionForm组件对象,它可以通过定义属性描述客户端窗体数据。开发者可以从它派生了类对象,利用它和Struts提供的自定义标记库结合可以实现对客户端的窗体数据的良好封装和支持,Action处理器对象可以直接对它进行读写,而不再需要和request、response对象进行数

38、据交互。通过ActionForm组件对象实现了对View和Model之间的交互的支持。Struts在实现时把做什么(Action)和如何做(业务逻辑)分离,这样,可以实现业务逻辑的重用。(3)控制器(Controller)应用的视图部分关注与接收客户端的请求,决定什么业务逻辑功能将被执行,然后委派产生用户界面的下一阶段的责任给一个合适的视图组件。在Struts中Controller功能由ActionServlet和ActionMapping对象构成:核心是一个Servlet类型的对象ActionServlet,它用来接受客户端的请求。ActionServlet包括一组基于配置文件生成的Acti

39、onMapping对象,每个ActionMapping对象实现了一个请求到一个具休的Model部分中Action处理器对象之间的映像。Struts框架的处理流程清楚的体现了MVC系统的特点,Struts Controller ActionServlet处理客户请求,利用配置的ActionMapping对象把请求映像到Action处理器对象进行处理。Action处理对象访问ActionForm中的数据,处理和响应客户请求,它还调用后台的Bean组件,这些组件封装了具体的业务逻辑。Action处理器对象根据处理结果通知Controller,Controller进行下一步的处理。由于Struts已经

40、为我们提供了一个非常好的MVC框架,我们利用Struts开发MVC系统时可以大大加快开发的速度。在开发时可以采用的开发流程如下: 明确应用的需求。 明确“屏幕显示”需求,即有那些页面。 为每一个“屏幕显示”定义访问路径。 配置Struts-config.xml,定义ActionMappings建立到应用业务逻辑之间的联系。 开发满足“屏幕显示”需求的所有支持对象。 基于每个“屏幕显示”需求提供的数据属性来创建对应的ActionForm对象。 开发被ActionMapping调用的Action对象。 开发应用业务逻辑对象(Bean, EJB等等)。 对应ActionMapping设计的流程创建J

41、SP页面。 建立合适的配置文件struts-config.xml,web.xml。 开发/测程/部署。具体在使用Struts框架时,对应各个部分的开发工作主要包括:模型部分:采用JavaBean和EJB相结合,设计和实现系统的业务逻辑根据不同的请求从Action派生具体Action处理对象。完成“做什么”的任务来调用由Bean构成的业务组件。创建由ActionForm派生的类,实现对客户端窗体数据的封装。控制器部分:Struts为我们提供了核心控制部分的实现。我们只要在Struts-config.xml中配Action Mapping对象。视图部分:为了使模型中的ActionForm与JSP交

42、互,我们必须使用Struts提供的自定义标记库创建HTML窗体。利用Struts提供的自定义标记库编写用户接口把应用逻辑和显示逻辑分离。Struts框架通过这些自定义标记建立了View和Model之间的联系。Struts的自定义标记还提供了很多定制页面的功能。同时需要编辑两个配置文件:web.xml和struts-config.xml. 通过它们配置struts系统中的各个模块之问的交互。2.3.3 Struts基本组件包Struts框架大约有115个包,近200个类所组成,而且数量还在不断的扩展。我们无法列举所有的包和类,只能列举几个主要的简要的介绍一下。表2-1说明了目前struts ap

43、i中基本的几个组件,包括action,actions,config,util,taglib,validator。表2.1 Struts基本组件包包名功能org.apache.struts.action控制整个struts framework的运行的核心类、组件都在这个包中,比如我们上面提到的控制器ActionServlet。以及Action, ActionForm, ActionMapping等等。org.apache.struts.actions提供客户的http请求和业务逻辑处理之间的特定适配器转换功能org.apache.struts.config提供对配置文件struts-config

44、.xml元素的映像。org.apache.struts.uti1为了更好支持web application的应用,提供了对一些常用服务的支持,比如Connection Pool和Message Source。org.apache.struts.taglib是一个客户卷标类的集合。下面包括Bean Tags,HTML Tags,Logic Tags,Nested Tags,Template Tags这几个用于构建用户接口的卷标类。org.apache-struts.validatorStrutsl.l framework中增加的vaIidator framework用于动态的配置from窗体的验

45、证。3.网上书店系统需求分析网上书店系统是典型的B2C,其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立起数据一致性和完整性强、数据安全性好的库。而对于后者则要求应用程序功能完备,易使用等特点。系统主要实现图书查询、图书管理、购物车管理、订单处理、用户登录、用户注册功能。3.1 用户需求分析本网上书店系统主要是方便用户,节省时间。主要完成的功能有用户登录/登出,图书查询,购物车管理,订单管理。3.1.1 图书查询需求当客户进入网上书店时,应该在首页中显示最新的书目信息,让客户对新到图书一目了然;在首页上提供到所有图书列表页面的链接,以供客户选择所需图书;同时

46、也提供按照图书名称快速查询所需书目信息的功能。其用例图如图3.1所示:图3.1 图书查询用例图3.1.2 购物车管理需求当客户选择购买某图书产品时,能够将对应图书信息,如:价格、数量、时间等记录到对应的购物车中,并允许客户返回书目查询页面,选择其他图书,并添加到购物车中。当客户点击付款并且付款成功后,生成对应的购物订单,并自动清除已生成订单的购物车中的信息。其用例图如图3.2所示:图3.2 购物车管理用例图3.1.3 订单处理需求对应客户购买图书商品信息的需求,在确定了所购图书商品的价格、数量等信息后,提示用户选择对应的送货方式及付款方式,最终生成对应的订单记录,以便于网站配货人员依据订单信息

47、进行后续的出货、送货的处理。订单生成后,当客户再次返回首页,能够在首页上查询到该客户所有的订单信息。其用例图如图3.3所示:图3.3 购物车管理用例图3.1.4 会员注册/登录需求为了能够实现图书商品的购买,需要管理客户相关的联系方式、送货地点等相关的信息。登录之前必须注册,注册时需要验证。其用例图如图3.4所示:图3.4 购物车管理用例图3.1.5 图书管理需求当作为管理员用户登录时,可以对图书信息进行查看、编辑,删除书目和增加新的书目。其用例图如图3.2所示:图3.5 图书管理用例图3.2 系统业务流程分析业务流程反映了现实的业务活动。业务流程图描述了系统内各单位、人员间业务关系、作业顺序和管理信息流向的图表。现实业务活动中的一些弊病很难凭空指出,而利用业务流程图可以细致地

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁