![[硕士论文精品]基于mvc模式的struts框架在网上购书系统中的应用_第1页](http://file.renrendoc.com/FileRoot1/2017-12/8/88dfc432-bca3-414b-a4e8-a412e31039ee/88dfc432-bca3-414b-a4e8-a412e31039ee1.gif)
![[硕士论文精品]基于mvc模式的struts框架在网上购书系统中的应用_第2页](http://file.renrendoc.com/FileRoot1/2017-12/8/88dfc432-bca3-414b-a4e8-a412e31039ee/88dfc432-bca3-414b-a4e8-a412e31039ee2.gif)
![[硕士论文精品]基于mvc模式的struts框架在网上购书系统中的应用_第3页](http://file.renrendoc.com/FileRoot1/2017-12/8/88dfc432-bca3-414b-a4e8-a412e31039ee/88dfc432-bca3-414b-a4e8-a412e31039ee3.gif)
![[硕士论文精品]基于mvc模式的struts框架在网上购书系统中的应用_第4页](http://file.renrendoc.com/FileRoot1/2017-12/8/88dfc432-bca3-414b-a4e8-a412e31039ee/88dfc432-bca3-414b-a4e8-a412e31039ee4.gif)
![[硕士论文精品]基于mvc模式的struts框架在网上购书系统中的应用_第5页](http://file.renrendoc.com/FileRoot1/2017-12/8/88dfc432-bca3-414b-a4e8-a412e31039ee/88dfc432-bca3-414b-a4e8-a412e31039ee5.gif)
已阅读5页,还剩41页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
中文摘要近些年来,J2EEJAVA2PLATFORM,ENTERPRINSEEDITION技术作为一种建立企业应用的标准平台出现,并逐步成熟,得以飞速发展。J2EE平台使用了大量不同的技术标准如JAVASERVERPAGESJSP,JAVASERVLET。ENTERPRINSEJAVABEANSEJB,JAVAMESSAGESERVICEJMS,JAVANAMINGANDDIRECTORYINTERFACEJNDI等,提供了多层分布式应用模型、组件复用能力、统一的安全模型和灵活的事务处理,为开发和配置企业应用提供了健壮和稳定的服务。框架技术与设计模式是J2EE中很重要的软件重用技术,框架技术通过重用提高了软件的生产效率,J2EE项目是通过框架、模式的设计运用达到控制软件质量的目的。虽然这在一定程度上限制了开发人员的发挥创造,但是它带来了稳定的软件质量和可重用的组件,尤其适用于较大型项目的开发。STRUTS是实现MVC模式的具体应用框架之一,其核心为一个灵活的、基于JAVASERVLETS,JAVABEANS,XMLEXTENSIBLEMARKUPLANGUAGE等标准技术的控制层。STRUTS提供了自己的控制器组件,还整合EJB,JDBC等数据访问技术构造模型组件,整合JSP,XSLT等接口表示技术构造视图组件。设计模式是在设计面向对象软件的过程中记录的知识和经验。用一系列类结构和对象行为来具体描述设计模式的含义。在这样一个预先定义的设计结构的基础上,根据具体应用完成具体的设计。设计模式的目的就是复用这些面向对象软件设计的解决方案以便于这些抽象解决方案的积累和交流。本文从网上购物系统的实际出发,引入了一个改进后的STRUTS框架,同时从占本系统很大比例的数据增、删、改、查操作中抽象出了一个数据操作通用框架,在框架的设计过程中运用了一些设计模式。系统具有高可靠性、可扩展性和可重用性的特点。关键词软件架构STRUTS网上购书系统ABSTRACTINTHELASTFEWYEARS,J2EEAPPEARSASTHESTANDARDPLATFORMWHICHISAKINDOFTECHNOLOGYTOBUILDENTERPRISEAPPLICATIONS,ANDITMAMRES,DEVELOPSPROGRESSIVELYTHEPLATFORMUSESALARGEAMOUNTOFDIFFEREMTECHNICALSTANDARDSSUCHASJAVASERVERSPAGESJSP,JAVASCRVLET,ENTERPRISEJAVABEANSEJBJAVAMESSAGESERVICEJMS,JAVANAMINGANDDIRECTORYINTERFACEJNDL,ETEITOFFERSNTIERDISTRIBUTEDAPPLICATIONMODEL,REUSEDCOMPONENTSABILITY,UNIFIEDSECURITYMODELANDFLEXIBLETRANSACTIONPROCESS,ITOFFERSSTRONGANDSTABLESERVICEFORDEVELOPINGANDDISPOSINGENTERPRISEAPPLICATIONFRAMEWORKTECHNOLOGYANDDESIGNPATTERNS,WHICHARCTHEVERYIMPORTANTSOFTWAREREUSETECHNOLOGIESINJ2EE,IMPROVESTHEPRODUCTIONEFFICIENCYOFSOFTWARETHROUGHREUSETHEPROJECTSOFJ2EEACHIEVETHEGOALOFCONTROLLINGTHESOFTWAREQUALITYTHROUGHTHEDESIGNANDAPPLICATIONOFFRAMEWORKANDPATTERNSALTHOUGHITLIMITSTHECREATIONOFTHETECHNICIANATACERTAINEXTENT,ITPRODUCTSSTABLYSOFTWAREQUALITYANDREUSEMODULEANDISESPECIALLYTHESAMEWITHDEVELOPMENTOFTHELARGESCALEPROJECTSTRUTSISONEOFAPPLICATIONFRAMEWORKSBASEDONTHEMVCDESIGNPARADIGMTHECOREOFTHESTRUTSFRAMEWORKISAFLEXIBLECONTROLLAYERBASEDONSTANDARDTECHNOLOGIESLIKEJAVASERVLETS,JAVABEANS,ANDXMLEXTENSIBLEMARKUPLANGUAGESTRUTSPROVIDESITSOWNCONTROLLERCOMPONENTANDINTEGRATESWITHOTHERTECHNOLOGIESTOPROVIDETHEMODELANDTHEVIEWFORTHEMODEL,STRUTSCANINTERACTWITHANYSTANDARDDATAACCESSTECHNOLOGY,INCLUDINGENTERPRISEJAVABEANS,ANDJDBCFORTHEVIEW,STRUTSWORKSWELLWITHJAVASERVERPAGES,XSLT,ANDOTHERPRESENTATIONSYSTEMSDESIGNPATTERNSALETHEKNOWLEDGEANDEXPERIENCEREGISTERINGINTHECOURSEOFTHEDESIGNOFOBJECTORIENTEDSOFTWAREITDESCRIBESTHEMEANINGSOFDESIGNPATTERNSCONCRETELYBYASERIESOFCLASSSTRUCTUREANDOBJECTINTHEBASEOFTHEDESIGNSTRUCTUREWHICHISDEFINEDBEFOREHAND,ITACCOMPLISHESTHEMATERIALDESIGNFROMTHEMATERIALAPPLICATIONTHEGOALOFDESIGNPATTERNSISREUSETHESOLVINGSCHEMEOFTHESEOBJECTORIENTEDSOFTWAREDESIGNSSOTHATWECALLACHIEVETHEACCUMULATIONANDCOMMUNIONOFTHESEABSTRACTSOLVINGSCHEMESFROMTHEREQUIREMENTOFWEBSHOPPINGSYSTEM,STRUTSFRAMEWORKTHATHASBEENIMPROVEDISINTRODUCED,ATTHESAMETIMEADATAOPERATIONCURRENCYFRAMEWORKISABSTRACTEDFROMTHEADDITION,DELETION,MODIFICATION,QUERYOPERATIONSTHATHAVETHEMOSTPERCENTOFTHESYSTEMINTHECOULSEOFFRAMEWORKDESIGNSOMEDESIGNPATTERNSATEUSEDTHESYSTEMHASTHECHARACTEFISFICSOFHIGHRELIABILITY,EXPANFIBILITYAND1EUSEABILITYKEYWORDSSOTHAREFRAMEWORK,STRUTS,WEBBOOKSHOPSYSTEM独创性声明本人声明所呈交的学位论文是本人在导师指导下进行的研究工作和取得的研究成果,除了文中特别加以标注和致谢之处外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含为获得叁鲞盘茎或其他教育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示了谢意。学位论文作者签名强证签字日期如石年男月玎日学位论文版权使用授权书本学位论文作者完全了解鑫鲞盘鲎有关保留、使用学位论文的规定。特授权鑫洼太鲎可以将学位论文的全部或部分内容编入有关数据库进行检索,并采用影印、缩印或扫描等复制手段保存、汇编以供查阅和借阅。同意学校向国家有关部门或机构送交论文的复印件和磁盘。保密的学位论文在解密后适用本授权说明学位论文作者签名劳蒸导师签名幽签字日期抑6年妒月巧同签字日期力06年P月可R淘宝网购物HTTP/WWW521TAOBAOCOM/淘宝网购物商城天津大学硕士学位论文第一章绪论11课题研究意义第一章绪论寻求在软件开发过程中设计级的重用的想法由来己久,这个领域的一个突破就是设计模式的提出。软件设计模式的概念得益于一个建筑设计师CHRISTOPHERALEXANDER的工作,他定义了一种模式语言,成功的描述了建筑物和城市中的建筑布局,许多软件业的人发现ALEXANDER的工作非常具有吸引力,这导致了九十年代初在软件领域内应用模式的讨论。在1994年8月召开的程序模式语言PLOP会议,它推动了软件模式的发展。在1995年初,一个被称成为“四人组”的小组GONGOFFOUR出版了一本书设计模式可复用面向对象软件的基础,这本书包含了设计模式的一个基本目录,并且确定了模式为软件学科的一个新领域。在开发WEB应用系统的过程中,经常会遇到这样的问题如何进行系统的框架设计才能更有利于模块化的设计与编码、今后功能的扩展以及系统快速有效的维护每次的系统开发中,我们都需要根据实际应用寻找一个新的解决方案。为了提高开发的效率,考虑到应用系统的灵活性、安全性、实用性等,就需要有一种好的设计模式,一个好的可复用的系统架构的框架设计作为一种可行的方案来解决这一常见的问题。MVCCMODELVIEWCONTROLLER模式是国外用的比较多的一种设计模式。很多的开源项目,就是利用这一设计思想,己将其做成了WEB框架。WEB框架有很多,例如TURBINE,JETSPEED,TAPESTRY,STRUTS。它们各有优点,而且功能强弱也不同,在以上框架中本文只重点讨论使用最为广泛的STRUTS框架在开发中的应用。STRUTS框架是个在不断升级中的开源项目,新的版本会不断的增加功能,越来越强大。稳定的STRUTSL1版已经在国内外许多的大型WEB应用项目中得到应用,最新的STRUTSL21也己经发布了测试版,本文的研究是基于STRUTSL1版的。应用系统可以由多种语言,不同的平台实现,比如微软的、NET,SUN的J2EE。本文选择J2EE作为构筑企业应用的平台,以基于MVC设计模式的STRUTS框架在系统中的应用为线索展开讨论。由于JAVA语言的广泛应用,与其相关的技术和各种设计思想飞速发展,种类繁多。在设计一个系统的时候,面对如此多的技术和设计思想,孰优孰劣,如何选择呢本文在分析了系统的五层架构设计淘宝网购物HTTP/WWW521TAOBAOCOM/淘宝网购物商城天津大学硕士学位论文第一章绪论之后,又进一步针对核心层做了详细的分析和设计,讨论了每层可采用的主流技术,这对于应用系统的设计和开发有很强的指导意义。12论文研究内容网上购书是在INTERNET开放的网络环境下,基于浏览器服务器应用方式,实现消费者的网上交易和在线电子支付的一种新型的商业运营模式。网上购书将传统的购书流程电子化、数字化,一方面以电子流代替了实物流,可以大量减少人力、物力;另一方面突破了时间和空问的限制,使得交易活动可以在任何时间、任何地点进行,极大地方便了最终消费者,使您的购书过程变得轻松、快捷、方便,从而大大提高了效率。目前大多数网上购书系统是基于两层体系结构来进行设计和开发的。随着INTERNET的飞速发展,传统的两层体系结构面临着严峻的挑战,其中最为突出的问题是开发负担重、维护困难等。本文针对目前网上购书系统所面临的问题,基于J2EE框架,采用框架技术及设计模式,设计开发了一个网上购书系统。系统具有高可靠性、可扩展性和可重用性的特点。13论文组织结构第一章是绪论,简要介绍了研究背景,以及研究内容和论文组织结构。第二章,介绍了MVC设计模式与STRUTS应用框架,探讨了STRUTS的结构及其优点。第三章改进了STRUTS框架,并将其运用到网上购书系统的设计中,在系统的设计中也采用了几个经典的设计模式。第四章对全文傲了总结,并做了展望,淘宝网购物HTTP/WWW521TAOBAOCOM/淘宝网购物商城天津大学硕士学位论文第二章MVC设计模式与S咖协应用框架第二章RVC设计模式与STRUTS应用框架21设计模式在面向对象系统的设计中,可以认为,类及其生成的对象是构成面向对象系统的最基本元素采用设计方法组合这些元素,得到构成面向对象系统的构件,同时,这些构件的设计方法在经过不断的改进和完善后逐渐成型,成为构成面向对象系统的基本设计参考,也称为设计模式DESIGNPATTERN。开发人员一般采用设计模式来抽象和总结系统构件的设计方法,同时将它应用于新的系统构件的设计中。使用类和对象,使开发人员在元素的层次上实现了重用性而使用设计模式,则是在系统构件的层次上实现了重用性。设计模式使开发人员可以更加简单方便地复用成功的设计和体系结构,同时对将来的问题和需求也具有足够的通用性。将己证实的技术表述成设计模式,可以使新系统的开发者更加容易理解原有的设计思路和方法。设计模式在很大程度上改善了软件程序结构,使设计具有更好的弹性。它提供了在特定应用场景下解决问题的类、对象及相互关系的设计方法。这些方法并不针对于具体的系统,只是提供了一种设计系统的思路,这样做只是为系统搭起了一个“空架”,要真正的完成系统的开发还需要完成许多具体的编程工作。一个设计模式可能用于不同的系统,一个系统也可能会用到多个设计模式。使用合适的设计模式,不但使代码可重用性、可扩展性得到增强,而且最重要的是能够加快系统的开发速度,提高开发效率。22WEB应用系统开发的一般模型在WEB应用开发技术的发展史上,曾经涌现出了多种技术。但是随着具有优秀跨平台性的J2EE平台的出现和发展,越来越多的WEB应用开始在J2EE平台上进行开发。而作为J2EE平台主要组成部分之一的JSP,逐渐受到了开发人员的广泛青睐,在WEB应用系统的开发过程中占据了重要的一席之地。这是因为JSP页面不仅拥有跨平台和跨WEB服务器的特性,而且可以非常容易的将业务逻辑、服务器端处理过程和静态HTML页“所见即所得”的功能相结合,同时实现显示、业务逻辑和流程控制等功能,从而帮助开发人员快速的完成任务。淘宝网购物HTTP/WWW521TAOBAOCOM/淘宝网购物商城天津大学硕士学位论文第二章MVC设计模式与STRUM应用框架JSP技术规范给出了两种使用JSP开发WEB应用的方式,这两种方式可以归纳为模型MODEL1和模型二MODEL2,两者的主要差别在于它们处理业务的流程不同。221MODEL1模式在很多情况下,一组JSP页面就可以构成一个完整的WEB应用。这种以JSP页面为中心,以JAVABEAN处理业务逻辑的开发模型被称作MODEL1。在这一模型中,JSP页面独自响应请求并将处理结果返回给客户,所有的数据通过JAVABEAN来处理,JSP实现页面的表现。这种模型的体系结构如图21所示。APPLICATIONSERVER一鱼蜘L畦叫JSPG。R呻,Q蓦杳驾图21MODELL系统结构从图21可以看出MODELL体系结构的工作流程如下1从客户端的WEB浏览器读取用户请求,并将请求发送到JSP页面2JSP页面调用相应的业务逻辑JAVABEAN处理请求3JAVABEAN根据用户请求操纵位于EIS层的数据库4JAVABEAN取得返回结果5JAVABEAN将取得的结果传送给JSP页面63SP页面将结果生成HTTP文档返回给客户端。JSP文件是构成MODEL1的基础,它独立接收和响应用户请求,并将处理结果返回客户。总的来说,这种模式的优点是简单,可以很好的满足小型应用开发的需求。虽然这种模型也实现了页面表现和业务逻辑相分离,然而不加选择地大量使用这种模型,就需要在JSP页面中嵌入大量脚本小程序SCRIPT或JAVA代码,尤其是在需要处理的业务逻辑比较复杂时,这种情况会变得非常糟糕。大量的嵌入式代码会使整个页面程序变得异常复杂。虽然对JAVA开发人员而言,这似乎不算是大问题,但如果JSP页面是由美工人员创建并维护大型项目通常如此,则代码的开发和维护将出现困难。显然,这种模型不适合大型应用的需淘宝网购物HTTP/WWW521TAOBAOCOM/淘宝网购物商城天津大学硕士学位论文第二章MVC设计模式与SLMMTS应用框架求。在任何应用,尤其是企业级应用的开发过程中,使用这种模型难免会导致定义不清的响应和项目管理的困难。此外,这种模型还存在另一个缺陷每个JSP页面必须单独负责管理应用程序的状态、验证与安全性。222MODEI2模式MODEL2也称作JSPSERVLETJAVABEANS开发模型。这一模型结合了JSP和SERVLET技术,充分利用了两种技术原有的优势。在这个模型中,JSP技术用于表现页面,SERVLET技术负责完成大量的业务处理,JAVABEAN用来存储数据。其中,SERVLET用来处理请求的事务,充当一个控制者的角色,并负责向客户发送请求它创建JSP需要的BEAN和对象,然后根据用户请求的行为。决定将哪个JSP页面发送给客户。这种模型的体系结构如图22所示。请求一ISERVLEL控钥器R琴L,JSPOI响应一L枧图I图22M0DEL2体系结构从开发的观点来看,MODEL2具有更清晰的页面表现,清楚的开发角色划分,可以充分发挥开发团队中的网页设计人员和JAVA开发人员的才干。这些优势在大型项目中表现得尤为突出,网页设计人员可以充分展示自身的美术和设计才能来表现页面,而程序编写人员可以充分发挥自己的业务逻辑处理思维来实现业务处理。另外,从设计结构来看,这种模型充分体现了模型一视图一控制器MVC的设计模式。事实上,现存的很多开发框架都是基于这种模型的,例如APACHESTRUTS框架、JAVASERVERFACES框架等。淘宝网购物HTTP/WWW521TAOBAOCOM/淘宝网购物商城天津大学硕士学位论文第二章MVC设计模式与STRUTS应用框架23MVC设计模式231WC设计模式的结构正是由于MODEL1在开发过程中存在许多缺陷,因此基于MVC设计模式的MODEL2成为了在J2EE平台上开发大型WEB应用的首推架构。MVC是XEROXPARC在八十年代为编程语言SMALLTALK80发明的一种软件设计模式。它属于结构型设计模式,对于生成结构严谨的模块化应用程序的有效性已得到了广泛的证实。MVC的核心是实现三层甚至多层的松散耦合,它将一个应用系统分为三个组件1MODEL模型指的是真正完成任务的代码,包含应用系统的核心功能,表示一个应用系统的数据,并且包含访问、维护和管理这些数据的逻辑。所有属于应用系统持久状态的数据都应该保存于模型对象里。模型提供的服务必须足够适用于不同的终端。一个模型聚集了相关的数据和操作,以提供一个详细而精确的服务这些被封装在操作中的抽象事物的功能被模型化。一个模型的接口提供了访问和更新模型状态,执行封装在模型中的复杂进程的方法。模型服务被控制器访问,用于查询或更改模型的状态。当模型状态发生变化时,模型会通报给视图。对大多数WEB应用程序而言,功能比界面感觉更重要。在模型同界面分离的情况下,代码即可实现可管理性和可重用性。例如,在一个保险应用程序中,模型就是处理计算保险费和同数据库交互的那些业务代码。模型通常也被称作业务逻辑。2VIEW视图表示模型的状态,是应用系统的外观,当模型发生改变时,视图也将随之改变,以维持系统数据的致性。在MVC模式下。通常的设计前提是界面任务较小。当然视图也应该具有一定的功能性并遵守可用性的约束,但视图界面不应当处理数据。事实上,视图的每一部分都只能包含采集数据的逻辑,并把采集到的数据传递给设计模式中的其他组成部分进行处理。3CONTROLLER控制器是联系模型与视图之间的纽带,控制模型和视图之间的交互过程。它获取并翻译用户输入的动作,指定执行该动作的模型,或者根据用户的输入和执行的结果来选择下一个视图。MVC模式中的三要素模型一视图一控制器之间的关系以及它们之间的协作如图23所示。淘宝网购物HTTP/WWW521TAOBAOCOM/淘宝网购物商城天津大学硕士学位论文第二章IVIVC设计模式与STRUTS应用框架据娃橱图23BIVC模式的工作流程由图23可知,MVC模式的处理流程是,首先控制器接收用户的请求,并决定应该调用哪个模型来进行处理,然后模型调用业务逻辑来处理用户的请求并返回数据,最后控制器用相应的视图返回数据,并通过表示层呈现给用户。232MVC设计模式在J2EE平台中的应用模型MVC设计模式是一种用于分离数据维护和数据表现的方法,在J2EE中引入MVC设计模式,有助于把应用划分为合理的组件,从而可以方便的进行系统的开发、维护和扩充。随着J2EE各种组件技术的广泛应用和MVC设计模式的发展与完善,J2EE与MVC设计模式在WEB应用系统开发领域达到了完美的结合。目前,这种结合己经被广泛的应用于许多企业级WEB应用系统的开发过程中,其中,JSP用于创建与用户交互的视图,JAVABEAN,EJB等组件用于创建实现业务逻辑的模型,SERVLET用于创建实现业务逻辑与用户交互的控制器。WEB应用客户端的用户动作被视图传递给SERVLET集中处理,SERVLET处理控制逻辑,调用BEANS激活业务逻辑或修改模型状态。根据用户动作和模型处理的结果,控制器选择一个视图作为用户请求的响应。这样,就形成了清晰的MVC设计模式,简化了WEB应用系统的开发。淘宝网购物HTTP/WWW521TAOBAOCOM/淘宝网购物商城天津大学硕士学位论文第二章MVC设计模式与STRUTS应用框架鼍压球一厂两L数据库L喜干斋,拶IJL客户屡业务屡EIS屡图24摹于J2EE和MVC设计模式的系统模犁基于J2EE和MVC设计模式的系统模型如图24所示,它借鉴了MODEL2的思想,其技术原理是以SQLSERVER,ORACLE,SYBASE等企业级数据库系统作为后台数据库,以SERVLET等高性能服务端程序作为后台总控程序,JSP页面在前台运行,SERVLET接受用户的输入,分别调用不同的JSP页面向浏览器反馈信息,JSPSERVLET通过HTTP连接在服务器端和浏览器端传递数据JSPSERVLET并不使用JDBC技术直接访问数据库系统,而是把参数传递给EJB组件,由EJB组件对数据库进行操作,这样就可以封装系统的内部数据JAVABEAN和EJB组件还可以把事务分发到其他组件中进行处理,最后把从数据库返回的结果,由JSPSERVLET发送到前端显示。WEB服务器是JZEE体系结构中间层的一个重要组成部分。它在技术上主要是SERVLET和JSP,其功能是实现用户界面的表现。由于JSP和SERVLET本质上是服务端的JAVA小程序,因而可以与JAVAAPPLET及HTML客户端交互,具有执行速度快、用户界面生成灵活、安全性好等特点,同时还能使用JAVABEAN实现一些简单的业务逻辑。J2EE使用EJB服务器作为EJB组件的部署环境,在EJB服务器中提供了在分布式计算中组件需要的所有服务,如组件生命周期管理、数据库连接管理、分布式事务管理、组件命名服务、自动容错以及负载的自动均衡能力等。实现业务逻辑的EJB组件可以在EJB服务器中高效运行,支持多客户端访问。HTTP的客户端一般先向运行在WEB服务器上的SERVLET或者JSP发出请求,通过在JSP中嵌入的JAVA代码或是SERVLET来调用运行在EJB服务器中的EJB组件,以实现复杂的业务逻辑。淘宝网购物HTTP/WWW521TAOBAOCOM/淘宝网购物商城天津大学硕士学位论文第二章BVC设计模式与S仃UTS应用框架24STRUTS框架241STRUTS框架的提出近年来,随着INTERNET技术的迅猛发展,计算机网络给人们的工作、学习和日常生活带来很大的便利,同时开发WEB的技术也在不断更新。J2EE即是其中一个非常有竞争力的选择。J2EE体系包括JSP,SERVLET,FJA,WEBSERVICE等多项技术。怎样充分利用这些技术,将它们组合起来构造一个满足项目需要的稳定框架是项目开发过程中的一个关键环节。此环节一般主要由架构设计师完成,设计师将根据项目需求,对J2EE体系中的各处技术进行筛选取舍,并考虑到开发过程中的角色分工、后期的运行维护,以及系统可重用性、司一扩展性等诸多因素,建立系统的框架。一个成功的软件需要有一个成功的框架,但软件框架的建立是一个复杂而又持续改进的过程,如果能开发出通用的框架将能大大提高缩短开发时间,减少维护工作量。STRUTS就是其中一个流行的基于J2EE的框架。通过使用STRUTS框架,你不需要再花费大量的时间在整个应用上,你可以集中精力编写应用程序业务逻辑和表示层代码,其它事情都交给STRUTS框架负责而无需你关心。显然这将大大加速项目的开发进程,并降低了学习与开发WEB应用的难度。STRUTS最早是作为APACHEJAKARTA项目的组成部分问世运作。项目的创立者希望通过对该项目的研究,改进和提高JAVASERVEPAGESJSP。SERVLET、卷标库以及面相对象的技术水准。STRUTS是一个开放源代码的WEB的应用框架,基于MVC设计模式,使用SERVJET和JSPAPI建立,可以用来构建复杂的WEB应用。它允许我们分解一个应用程序的商业逻辑、控制逻辑和表现逻辑的代码,使它的重用性和维护性更好。242STRUTS的优点在使用JAVA技术建立WEB应用的实例中,由于JSP技术的发展,很快这种便于掌握和可实现快速开发的技术就成了创建WEB应用的主要技术。JSP页面中可以非常容易地结合业务逻辑JSPUSEAEAN、服务端脚本和HTML,在JSP页面中同时实现显示,业务逻辑和流程控制,从而可以快速地完成应用开发。现在很多的WEB应用就是由一组JSP页面构成的,这种以JSP为中心的开发模型又称之为JSP模式1淘宝网购物HTTP/WWW521TAOBAOCOM/淘宝网购物商城天津大学硕士学位论文第二章MVC设计模式与STRUTS应用框架这种开发模式可以很好的满足快速和小规模的应用开发的需要,但是不能满足大型应用的要求,从工程化的角度考虑,它也有一些不足之处应用的实现一般是基于过程的,一组JSP页面实现一个业务流程,如果要进行改动,必须在多个地方进行修改。这样非常不利于应用扩展和更新。由于应用不是建立在模块上的,业务逻辑和表示逻辑混合在JSP页面中,页面被嵌入大量的SCRIPT或JAVA代码,非常不利于系统的重用和改动。为了解决这些问题,在开发大型的WEB应用时我们可以采用JSP模式2,一个基于MVC模式的框架。10C是MODELVIEWCONTROLLER的缩写,MODEL代表的是应用的业务逻辑通过JAVABEANEJB组件实现,VIEW是应用的表示层由JSP页面实现,CONTROLLER提供应用的处理程控一般由一个SERVLET实现,通过这种设计模型把应用逻辑,处理过程和显示逻辑分开由不同的组件实现。这些组件可以进行交互和重用,从而弥补了JSP模式1的不足。一JSP模式2独有的优点使其更易于实现对大规模系统的开发和管理,但是开发MVC系统比简单的JSP开发要复杂许多,原来通过建立一个简单的JSP页面就能实现应用现在变成了多个步骤的设计和实现过程,因此需要更多的时间学习和掌握。采用MVC实现WEB应用时,选一个现成的MVC框架,在此之下进行开发,就能取得事半功倍的效果。现在有很多可供使用的MVC框架,由于STRUTS有完整的文档并且相对来讲比较简单,所以用它开发MVC系统还是比较方便的。25STRUTS体系结构STRUTS由一组相互协作的类组件、SERVLET以及JSP卷标库组成。基于STRUTS架构的WEB应用程序基本上符合JSP模式2的设计标准,可以说是MVC设计模式的一种实现。STRUTS有其自己的控制器CONTROLLER,同时整合了其它的一些技术去实现模型层MODEL和视图层VIEW。在模型层,STRUTS可以很容易的与数据访问技术相结合,包括EJB,JDBC等。在视图层,STRUTS能够与JSP,XSL等等这些表示层组件相结合。251STRUTS与WEB应用的关系既然STRUTS叫做WEBFRAMEWORK,那么它肯定主要基于WEB层进行应用系统开发。按照JZEE架构的标准,STRUTS应当和JSPSERVLET一样,存在于WEBCONTAIN一层。淘宝网购物HTTP/WWW521TAOBAOCOM/淘宝网购物商城天津大学硕士学位论文第二章MVC设计模式与STRUTS应用框架252STRUTS的体系结构STRUTS框架是MVC的实现,下面就分别从MODEL,VIEW,CONTROLLER来看看STRUTS的体系结构。图25显示了STRUTSFRAMEWORK的体系结构在响应客户请求的时候,各个部分的工作原理R娜。嗽图25STRUTS体系结构视图VIEW组件STRUTS应用中的VIEW部分是通过JSP技术实现的。JAVA开发者很容易在JSP当中过度使用JAVA小程序,直接嵌入条件业务逻辑和循环。MVC解决了这一问题,通过把复杂的处理分离到MODEL和CONTROLLER组件中,从而使JSP本身更小,这显然大大简化并加速了开发、测试及维护的工作。STRUTS更深入的发展了这个方法,除了提供MVC构架以外还提供了一整套自定义的JSP标记,通过这坠自定义标记可以非常好的和系统的MODEL部分交互,通过使用这些自定义标记创建的JSP窗体,可以实现和MODEL部分中的ACTIONFORM的映像,完成对用户数据的封装。模型MODEL组件MVC系统中的MODEL部分从概念上可以分为两类一系统的内部状态和改变系统状态的动作。STRUTS通常使用一组JAVABEAN表示系统的内部状态,根据系统的复杂度也可以使用像ENTITYETB和SESSIONEJB等组件来实现系统状态。STRUTS为MODEL部分提供了ACTION和ACTIONFORM对象所有的ACTION处理器对象都是开发者从STRUTS的ACTION类派生的子类。ACTION处理器对象封装了具体的处理逻辑,调用业务逻辑模块,并且把响应提交到合适的VIEW组件以产生响应。STRUTS提供的ACTIONFOM组件对象,它可以通过定义属性描述客户端窗体数据。开发者可以从它派生子类对象,利用它和STRUTS提供的自定义标记库结合可以实现对客户端的窗体数据的良好封装和支持,ACTION处理器对象可以直接对它进行读写,而不再淘宝网购物HTTP/WWW521TAOBAOCOM/淘宝网购物商城天津大学硕士学位论文第二章MVC设计模式与STRUTS应用框架需要和REQUESTRESPONSE对象进行数据交互。通过ACTIONFORS组件对象实现了对VIEW和MODEL之间交互的支持STRUTS在实现时把做什么ACTION和如何做业务逻辑分离,这样可以实现业务逻辑的重用。控制器CONTROLLER组件控制器的作用是从客户端接受请求,并且选择执行相应的业务逻辑,然后把响应结果送回到客户端。在STRUTS中CONTROLLER功能由ACTIONSERVLET和ACTIONMAPPING对象构成核心是一个SCRVLET类型的对象ACTIONSERVLET,它用来接受客户端的请求。ACTIONSERVLET包括一组基于配置文件生成的ACTIONMAPPING对象,每个ACTIONMAPPING对象实现了一个请求到一个具体的MODEL部分中ACTION处理器对象之间的映像。STRUTS框架的处理流程清楚的体现了MVC系统的特点,STRUTSCONTROLLERACTIONSERVLET处理客户请求,利用配置的ACTIONMAPPING对象把请求映像到ACTION处理器对象进行处理。ACTION处理对象访问ACTIONFORM中的数据,处理和响应客户请求,它还调用后台的BEAN组件,这些组件封装了具体的业务逻辑。ACTION处理器对象根据处理结果通知CONTROLLERCONTROLLER进行下一步的处理。由于STRUTS己经为我们提供了一个非常好的肼C框架,我们利用STRUTS开发MVC系统时可以大大加快开发的速度。在开发时可以采用的一个开发流程如下1收集和定义应用需求。2基于数据采集和显示的原则定义和开发”屏幕显示”需求。3为每一个”屏幕显示”定义访问路径。4定义ACTIONMAPPINGS建立到应用业务逻辑之间的联系。5开发满足”屏幕显示”需求的所有支持对象。6基于每一个”屏幕显示”需求提供的数据属性来创建对应的ACTIONFORRN对象。7开发被ACTIONMAPPING调用的ACTION对象。8开发应用业务逻辑对象BEAN,EJB等等。9对应ACTIONMAPPING设计的流程创建JSP页面。10建立合适的配置文件STRUTSCONFIGXML,WEBXML11开发测程部署。具体在使用STRUTS框架时,对应各个部分的开发工作主要包括MODEL部分采用JAVABEAN和EJB组件,设计和实现系统的业务逻辑。根据不同的请求从ACTION派生具体ACTION处理对象。完成“做什么”淘宝网购物HTTP/WWW521TAOBAOCOM/淘宝网购物商城天津大学硕士学位论文第二章BLVC设计模式与S仃UTS应用框架的任务来调用由BEAN构成的业务组件。创建由ACTIONFORM的派生类实现对客户端窗体数据的封装。CONTROLER部分STRUTS为我们提供了核心控制部分的实现。我们只要配HCTIONMAPPING对象。VIEW部分为了使用MODEL中的ACTIONFORM对象,我们必须用STRUTS提供的自定义标记创建HTML窗体。利用STRUTS提供的自定义标记库编写用户接口把应用逻辑和显示逻辑分离。STRUTS框架通过这些自定义标记建立了VIEW和MODEL之间的联系。STRUTS的自定义标记还提供了很多定制页面的功能。同时需要编辑两个配置文件WEBXML和STRUTSCONFIGXML。通过它们配置STRUTS系统中的各个模块之间的交互。253STRUTS的基本组件包整个STRUTS大约有15包,近200个类所组成,而且数量还在不断的扩展。在此我们不能一一介绍,只能列举几个主要的简要的介绍一下。表21说明了目前STRUTSAPI中基本的几个组件包,包括ACTION,ACTIONS,EONFIG,UTIL,TAGLIB,VALIDATOR。表21STRUTS基本组件包ORGAPACHESTRUTSACTION基本上,控制整个STRUTSFRAMEWORK的运行的核心类、组件都在这个包中,比如我们上面提到的控制器ACTIONSERVLET。已经ACTION,ACTIONFORM,ACTIONMAPPING等等。STRUTSL1比1,0多了DYNAACTIONFORM类。增加了动态扩展生成FORMBEAN功能ORGAPACHESTRUTSACTIONS这个包是主要作用是提供客户的HTTP请求和业务逻辑处理之间的特定适配器转换功能,而10版本中的部分动态增删FROMBEAN的类,也在STRUTSL1中被ACTION包的DYNAACTIONFORM组件所取代ORGAPACHESTRUTSCONFIG提供对配置文件STRUTSCONFIGXRNL元素的映像。这也是STRUTSL1中新增的功能ORSAPACHESTRUTSUTI1STRTUTS为了更好支持WEBAPPLICATION的应用,体统了一个些常用服务的支持,比如CONNECTIONPOOL和MESSAGESOURCEOORGAPACHESTRUTSTAGLIB这不是一个包,而是是一个客户卷标类的集合。下面包括BEANTAGS,BTMLTAGS,淘宝网购物HTTP/WWW521TAOBAOCOM/淘宝网购物商城天津大学硕士学位论文第二章MVC设计模式与STRUTS应用框架LOGICTAGS,NESTEDTAGS,TEMPLATETAGS这IL个用于构建用户接口的卷标类。ORGAPACHESTRUTSVALIDATORSTRUTSL1FRAMEWORK中增加了VALIDATORFRAMEWORK,用于动态的配置FROM窗体的验证。14淘宝网购物HTTP/WWW521TAOBAOCOM/淘宝网购物商城天津大学硕士学位论文第三章基于STIALTS与设计模式的网上购书系统第三章基于STRUTS与设计模式的网上购书系统INTERNET的迅猛发展正以前所未有的深度和广度影响和改变着人类生活的各个方面。越来越多的人开始意识到因特网所蕴含的巨大经济价值和无穷商机,并积极投身于电子商务活动。实际上,电子商务是一些商业行为的电子化,例如网上商店、网上贸易等。就网上商店来说,网上书店是目前应用最广泛、最成功的典范之一网上书店,或称为电子书店,是利用信息技术、网络技术通过网络完成图书交易的一种电子商务类型。网上书店将出版社、供货商、销售者、消费者以及其它相关环节如银行、运输业等连接在一起,改变了图书运作流程和交易模式,刷新了市场空间,丰富了服务内涵,带来了书业界的流通革命。网上书店较之传统书店的优势是很明显的。网上书店将传统的购物流程电子化、数字化,一方面以电子流代替了实物流,可以大量减少人力、物力另一方面打破了时间、空间对经营的限制,以广阔的市场覆盖面以及24小时全天候服务,实行全球性经营,充分满足了读者的需要,特别是出版发行不发达地区消费者的需求。同时网上书店提供便捷的信息检索方式。在传统的商店里,上架的图书只能粗略归类,读者不能快速的查找到所需书籍。而网上书店利用现代化的信息检索技术,提供各种检索方式,使用户能方便决捷的找到所需图书。本章以典型的WEB应用网上书店为例,在文中提出的STRUTS框架基础上做一定程度上的改进,并具体说明如何实现框架中的各层,在业务层的设计中应用了一些经典的设计模式,为实现高效、灵活的多层WEB体系结构的应用提供一种新的思路及方法。31功能分析网上书店系统构造了一个完整的购物环境,从用户注册,到网上商品浏览、购买商品、选择付款方式等,完整再现了一个网上购物的全过程。网上书店从功能上分为两部分前台在线购书子系统和后台书店管理子系统,其中每个子系统又进一步划分为更小的模块。在线购书子系统为消费者提供网上购书的入口。消费者通过登陆网站,浏览查询书目信息,并对选中的图书进行购买。在线购书子系统从功能上可以划分为天津大学硕士学位论文第三章基于SHUTS与设计模式的网上购书系统以下几个模块注册与登录模块注册要求用户填写一些个人数据。当用户注册成功后,可以使用用户名和密码登录网站。登录后才可以购物,否则只有浏览功能。图书查询模块提供对网站全部图书的多种查询方式,方便用户查找需要的图书。图书被分成不同的种类,以目录的形式显示,用户可以按照图书类别进行查找。用户也可以根据书名、作者、出版社等图书相关信息作为关键词来进行组合查询,确保用户方便快捷地找到自己需要的图书。购物车模块跟踪用户选择的图书。用户在购物车中保存浏览书店时所选中的图书。每个用户都有自己临时的一个购物车。可以向购物车中添加选中的图书或者删除己选图书。当结帐时,系统根据购物车中的数据生成订单。订单管理模块选购完毕,用户填写订单来选择付款方式、联系方式等。填写过订单的用户凭系统返回的订单号可查询自己订单目前的状态,可以是己经被受理、货款己收、对方已经发货等状态。新书预约模块如果用户在书店找不到想要的书可以进行新书预约,以便管理人员尽快掌握用户的需求。在线购书子系统的结构流程图如图31天津大学硕士学位论文第三章基于SHLLTS与设计模式的网上购书系统图31在线购书子系统结构图对一个电子商务网站而言,拥有一个完善的后台管理系统是必不可少的,也是管理和维护该网站的核心所在。书店管理予系统提供了管理员管理书店的各项功能,例如对注册用户的身份进行验证、对图书日录的管理等。书店管理子系统从功能上可以划分为以下几个模块注册用户管理对注册用户身份的真实性进行验证。图书目录管理可以查看图书的详细信息和实际库存数量。主要处理新书入库、书目变动等。客户订单管理可以修改订单状态,如是否已经结算,是否已经发货,是否已经结单,删除天津大学硕士学位论文第三章基于STRUTS与设计模式的网上购书系统超期未付款的订单。预约信息管理查看用户的预约新书信息。这样可以及时根据用户登记的情况,组织库管人员订购书籍,最大程度的满足用户需求。32数据库设计基于系统的功能分析,其ER图为图32网上购书系统ER图根据E哺图可得其数据表如下和用户相关的表用户基本信息表、地址表、用户喜好信息表。和产品相关的表图书分类表、图书基本信息表、产品基本信息表、产品评论表、图书价格表、产品供货商信息表、产品一供货商表、仓库表,图书库存表、图书预订表。和订单相关的表订单信息表、订单细目表。天律大学硕士学位论文第三章基于STRUTS与设计模式的网上购书系统33系统框架设计331STRUTS框架的引进一个成功的电子商务网站的构建不仅需要考虑到如何高效快捷的实现系统功能,还要本着可扩展的原则,在一定时期内适应技术发展与功能扩充的需求,同时要给用户提供方便、实用的信息服务,使网站的商务功能最大化。为了实现上述目标,我们首先考虑采用本文第二章提出的STRUTS框架,STRUTS框架应用于网上购书系统有如下优点先进性STRUTS是一种先进的、成熟的技术,采用STRUTS技术的系统在未来一段时间内能保持先进性。可扩展性互联网具有巨大的商务潜能,没有人可以确切预计系统的最终访问量和最佳的商务运行模式。STRUTS框架基于JSP模式2,业务逻辑和表示逻辑分开,而且所有默认的设置都可以配置,包括了一系列通用标记扩展,适应复杂的业务形式,具有较强的可扩展性,能满足新业务发展的要求。标准性和开放性STRUTS框架基于JAVA语言,而且其基本组件具有统一的标准,在许多运行标准组件的容器上都工作的非常好,具备优异的可移植性。安全性、高效性STRUTS具有完善的安全管理机制,JAVA语言也是当前最安全的语言。采用STRUTS能使系统具有较高的网络安全性和运行效率,保证提供高质量的网络服务和快速的响应速度。STRUTS框架虽然有上述优点,但是也存在着一定的局限性程序员可以把应用逻辑放入JSP。这显然与STRUTS的设计基础MVC模式的思想相违背,LODEL与VIEW混在一起使程序结构变得复杂和难于管理。JSP不能很好地支持XML,也就不能保证生成的结果文档XML或HTML文档将会是100“格式良好”VE11FORMED。而在当前支持INTERNET的访问设备不断涌现,以JSE作为VIEW不能适应多种类型的客户端。程序员需要学习如何使用STRUTS的标志库。这需要花费比较长的时间。对JSP页面的任何修改都会导致JSE的重新编译,这样是非常耗费时间的。天津大学硕
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五版地铁隧道电气安装规范及安全协议
- 二零二五年度房地产交易风险评估中介服务费合同
- 2025版大型设备安装与维护合作协议范本下载
- 2025版绿色生态园区建设项目内部承包协议
- 2025承包建筑工程承包合同-智慧城市综合体建设
- 2025版城市地下停车场施工承包合同
- 2025版智能网联汽车一半股权转让与技术支持合同
- 二零二五年服装店品牌营销顾问聘用合同样本
- 2025版老年旅游合同范本贴心关怀服务保障
- 2025版建筑安装施工合同交底书范本
- 护理文书书写规范-课件
- 安全技术交底签字表格【范本模板】
- 工程质保期满验收报告模板
- 2023年版下肢动脉硬化闭塞症诊治指南
- 决奈达隆在心房颤动治疗中的应用培训课件
- 涂料行业企业风险分级管控体系实施指南+生产安全事故隐患排查治理体系实施指南
- DB21T 3164-2019 辽宁省绿色建筑施工图设计审查规程
- 工伤知识培训(工伤待遇篇)课件
- 外研版八年级下册英语 module 6 测试
- 交通运输安全管理整套教学课件
- 股权质押合同工商局模板参考
评论
0/150
提交评论