二手交易平台设计与开发毕业论文_第1页
二手交易平台设计与开发毕业论文_第2页
二手交易平台设计与开发毕业论文_第3页
二手交易平台设计与开发毕业论文_第4页
二手交易平台设计与开发毕业论文_第5页
免费预览已结束,剩余51页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、二手交易平台设计与开发毕业论文.参考资料.IIIIIIIIIIVVVIVIXIXVIXIXXXXXXXXVIXLIXLIXXLIXL错误!未定义书签。系统的源码框架官方地址参考文献目 录 I第1章 引言1.1 选题背景与问题概述1.2 研究的意义及重要性1.3 研究的容和主要工作1.4 论文组织结构第2章需求分析2.1 业务需求2.2 功能需求2.3 数据需求2.4 非功能需求第3章系统设计3.1 总体设计3.2 数据库设计3.3 系统实现第4章 总结与展望4.1 总结4.2 进一步的工作附 录错误!未定义书签。错误!未定义书签。错误!未定义书签。错误!未定义书签。第1章引言1.1 选题背景与

2、问题概述1.1.1 选题背景本课题“二手交易平台的设计与开发”是电子商务平台开发的一个典型代表。 在国,基于web的“二手货”交易系统是近年来倍受用户青睐的一种交易方式, 它不仅促进电子商务在各行各业中的进一步推广,提高商品的利用率,更是给实家和买家提供了有用即时的信息,给双方带来真正的实惠和经济效益。1.1.2 问题概述大多数的毕业生在大学毕业的时会留下许多物品, 而大多数的学生是很乐意 变卖自己这些东西的。但是由于缺乏一个交易场所或中介交易, 很多人将这些东 西当垃圾处理,没有发挥其可再利用价值。另一方面,低年级的同学则是希望购 买到物美价廉的商品却无从获知此类信息。止匕外,当代人的消费观

3、念及消费心理也随着时代的改变而不断在改变,目前主要趋于实惠、经济和多样化发展。网上购物和二手交易支持的人也越来越多, 大多数在校大学生都有过从他人那里购买或出售使用过的诸如教材书之类的二 手物品的经历。1.2 研究的意义及重要性1.2.1 研究的意义从前景来看,在国家大力提倡“建设节约型社会”的背景下,二手交易领域也是大有发展前途。比如学生的书本,自行车,体育用具等闲置东西可能通过交 易,在需要的人手上循环再用,自己又能换取些别的东西或是金钱, 可谓一举两 得。1.2.2 研究的重要性信息实用,学生可以在二手上方便地提供各种与学习和生活的信息,如二手 书籍,台式机,笔记本,饮水机和电磁炉等。这

4、些都可以在大学生活结束时,变 卖给低年级同学。其中旧自行车在新生中还是相当抢手, 而高年级就很少用了,很多都摆在停 车点生锈,给人可惜,放着又会坏掉,最后居然批量地给保安按去了。而且大学 校园面积不小,跑来跑去费时又辛苦,有时偶尔上街,外出游玩等。至于买新的,价格高,还容易丢,所以还是“二手”的好。在学期开始,很多学生也可以先到上搜寻与课程要求相同的教材, 而不用去 买新书,这在大二以上的年级还是很普通的。如英语教材,新书 40元左右,而 二手书仅10元。况且,在旧书中还有高年级的笔记,更加实用。还可以由卖家出售其它各类商品:MP3电脑配件、台灯、衣架、体育器材 等。此外还能培养学生的经营意识

5、。过去一到期末,或临近毕业,书籍、生活用品几本上都成废品,很便宜的卖 给收废品的或是直接扔掉或送人。 而现在,学生可以将这些物品信息挂在校园二 手,以便学生之间双向选择,创造一定的经济价值。有的学生还可以对这些信息 和物品进行收集和整理,再进行经营,体验下做“老板”的感觉。1.3 研究的容和主要工作1.3.1 研究的容学习并掌握基本的二手交易的原理和设计方法;学习 Web开发的工具和语言:包括 JAVA1, HTML2 , CSS3, JavaScript 4等前台语言和JSP服务器端开发语言5;整合 SSH2(Struts2 , Spring3 , Hibernate3)框架6,熟悉其框架下

6、 MVC奠式7应用开发的流程和过程;在项目中加入和常用的Java组件:如Ant自动化网,JUnit进行单 元测试9, Log4J进行日志控制8等;1.3.2 本人主要工作搭建开发平台,下载并安装jdk , tomcat服务器和eclipse开发工 具,建立SVN服务器进行项目的版本控制10,为后面开发做好基本的准备;用UML对系统进行建模11 ,分析需求,系统分析和设计,设计出类 的基本功能;编码。系统整体了采用MVCS计模式:其中使用hibernate3进行类 和关系的映射12,解决重复烦琐的数据库编程;spring3进行对象管 理13,通过依赖注入来减少各模块的依赖;struts2 14则

7、充当控制角 色,实现各 WEB!求对应白处理和JSP页面的选择;采用Junit4进行单元测试和部分集成测试,Log4j日志记录,用于 及时发现错误和系统设计的不足和多余,完善设计,利于迭代开发; 进行系统的部署、运行和功能测试,其中完成了一些基本的系统功 能:商品的上传、显示、搜索、加入购物车和下订单功能,用户的 登陆、注册、修改功能,管理员的日志浏览功能。1.4 论文组织结构本文由以下几章容组成:第1章介绍本文的研究背景,概述了所要解决的问题,并讨论项目的研究意 义与重要性,阐述了论文的主要容以及本人完成的主要工作。第2章是本文的核心容之一,针对系统的业务需求、功能需求、数据需求和 非功能需

8、求等进行了详细分析,给出了主要的业务流程图和用例图, 并对核心用 例进行了详细描述,同时进行了基础数据的概念设计。第3章是本文的重点,在进行了系统总体设计的基础上,采用UMLB包图、类图、顺序图和活动图11等对系统的子模块进行了功能性详细设计, 并给出了主 要功能的界面设计,同时通过实体类图、E-R图和数据字典对数据库进行了详细 设计。第4章总结了本文所做的工作,同时对进一步的工作进行了展望。第2章需求分析2.1 业务需求需求就是以一种清晰、简明、一致且无二义性的方式对一个待开发系统中的 各个方面有意义的述的集合。以下以 UML中的活动图进行简单描述1102.1.1 业务描述(一)实现用户注册

9、登陆、商品展示、商品检索、商品选择、网上订货等 功能,对网上购物的基本过程进行管理;(二)实现对网上购物过程中产生的所有业务数据的管理,如订货单、支 付记录、发货信息的管理与维护;(三)具有配套的系统后台管理维护功能,能够对商品信息、用户信息、 系统日志等信息进行管理与维护,并能够进行对应的权限管理;(四)响应速度合理,安全性较高;(五)系统运行稳定,并且应易于维护。2.1.2 业务流程(一)用户注册和登陆,实现流程如图 2-1所示:填0J $户费14,迭振注剧如玳i 心 父国川"环滞立曲哦女配代说7"(响遍,曲/对东叫一七图2-1用户注册和登陆冏品展小活动图,见图 2-2

10、 :图2-2商品展小活动图(三)网上订货活动图,具体流程见图 2-3 :图2-3网上订货活动图(四)货款支付活动图,见图2-4 :行结卬的商品V苏人第三方东就(网相、 喷支付宝述行文寸) W付款史汨£用昆x)创述u矶(SK图2-4货款支付活动图(五)发货活动图,见图2-5 :域货主要信息:货运 公司名松运单号室底改口HP为已发靛图2-5商品发货活动图(六) 退货处理活动图,见图2-6 :2.2 功能需求功能需求刻画系统行为,定义了必须实现的软件功能,使得用户通过这些功 能完成他们的任务,满足业务需要。下文将以UML中的用例图进行描述11。2.2.1 业务功能(一)商品选购,用例图见图

11、2-7 :图2-7商品选购用例图(三)商品发货,见图2-9 :(五)网上订货,见图2-11 :图2-11网上订货用例图(六)订单管理,见图2-12 :图2-12订单管理用例图(七)发货信息管理,见图2-13 :图2-13发货信息管理用例图2.2.2管理功能图2-14用户管理用例图(二)日志管理,见图2-15 :有若宣佳H志图2-15日志管理用例图2.3数据需求图2-17商品选购(四) 退货处理,见图2-20 :图2-22日志管理表示(七)商品信息管理,见图2-23 :图2-23商品信息管理表示2.4非功能需求非功能需求包括产品必须遵从的标准、 规和合约;外部界面的具体细节和性 能要求;设计或实

12、现的约束条件及质量属性。2.4.1 环境需求1. Wet®务器使用的Tomcat;2 .服务器能在Linux平台下部署10,能跨平台在其它OS下部署更佳;3 .数据库使用 Mysql或Oracle。4 .4.2性能需求1 .可维护性。提供对自身的集中操作维护的功能,实现数据的备份和恢复。2 .易操作性。界面尽可能美观实用、方便和直观,充分考虑用户的体验。3 .可扩展性。能满足用户今后系统扩充和扩大使用围的要求。4 .开放性。确保应用程序具有良好的互操作性和移植的可能。5 .4.3安全需求1 .容错性。用户输入或误操作时,系统应给出相关的响应,提示用户重新输入 或者进行自动的修复校正。

13、2 .系统的外在环境安全。充分考虑硬件和软件的安全因素,包括:网络的安全, 系统的备份,防火墙,用户权限设置等;3 .系统部安全。确保授权用户的合法使用。4 .系统运行安全。系统应具有抵抗非法入侵的能力,支持定期自动和手动数据 备份,能在数据损坏或丢失的情况下有一定的恢复能力。第3章系统设计软件设计是软件开发的关键步骤,要解决“怎么做”的问题,主要着手对软 件系统的功能结构、数据结构和用户界面等进行设计。3.1 总体设计3.1.1 系统设计的原则本系统设计尽可能地遵循实用性,先进性,规性,安全性,易于集成,可扩 展性等几大设计原则。3.1.2 系统体系结构设计B/S (Browser/Serv

14、er )体系结构如下图 3-1 :客户崎别富暮We M %普翩配昨就皆森客尸匍制陆僚图3-1体系结构B/S体系结构利用 Webft术,通过浏览器实现软件应用的跨平台,节约了开 发成本和维护成本。其应用程序以静态或动态网页的形式存放于Web服务器上,在一定程度上具有集中特征,并且安装、修改和维护全在服务器端解决,很容易 在运行时自动升级。3.1.3 系统功能架构设计系统功能架构设计定义软件系统各主要部件及成分之间的关系。可以通过 UML勺包图来表示,系统功能简单对应需求分析中的用例。3.1.4 系统实现框架图系统采用MVCJ计卞g式7,并对SSH明发框架进行了整合,按层次划分为:PQ DAO M

15、anager, Action , Jsp Page 五大模块 8,如图 3-2 :现ismC1H ii 忡 hiwriMl#->EeRas” tJO.tSOld5%快仪后门 irtaoo«(rwe.里*氐4方 后不色,性解1H刖诉冉T£*t第 邮列了 Rfd©出计硬芨 I WHjE-fliFW®2索用了,prin*l0口前设7号反 伸GUim*而秸3具竹 府包讹列出壬,-rMrtDcm"Tufe-WZK-r. E.BTA CD呼势亨卢子*1赭口. ,江洋弟"yvcftK; m的生彳系更世音幺除卖取包j.团田士spjin ( 捏E

16、gHib&r-a帖DA j助口二。1?具林案现sru旭"现 射力厂率垄制器图3-2系统模块划分3.1.5 包的容及作用3.1.5.1 po (persistent object ) 包po包是业务数据的抽象,如用户,商品等,包容见图3-3。它主要用于持久化存储和各层间数据的传递。其中用hibernate框架对实体进行持久化,通过 配置对象一关系的映射来实现(见图3-4 ),过数据库的操作语句和会话维护等烦锁重复的编程便由框架代为实现12o图3-3 po 包<7xml veEalwLji*p2i G,p?>ClIiO'ZTYPE hibernate 

17、7;mapping PtJEL 二 C r, / / H i b ez na&c / Hit e r nat q Mapping DTD 3,a/EKpF! h Ltr : / /,wnB hijnernate B ora/ did/h mer m ate -r i 口。- 3 . th 日匚也叫 ><h ib ec nace-jnapp 工 ng><clftss "4目”上西昌兽上以曰必'为33r口. Uh岂<11 iiiK=n2arr 匚yjie=e1段 *)<Lslwm moru 增"XS" ks t nu

18、 L1* * true ff 3q 1 s y p eh "Zff ZEG 1,1 unique" M true r />gfluaratar r Lass»p?3dentJ tyH ?></id><pEcpEty= Plfi 51d p gzncratcdf'arj?v 1总工厂国£J11g M Eotie-typcBPiafcp><coHinn nme"Miriraar, /></pr&pcrty>4F工opKty ga-n&Ea.'ctclH,Fn

19、4T*-?w dCQliiinii n»ne-MKdiF»r,/></pr&pcrty><firnp&rr y rrpnerfttrl= 1P?wr#£,J,iJ口二皿凯 Hanje-*MC(xJem /></p ir&pQr1;!?><firnprr y phpfrt rti= "".管”<二 口皿n nmc- ,BF g f”口工ci 叫</j:rB'P'firt7>erropr ty (j&neEaLed= 'yer&

20、quot;Mu口 Lunm naeucwPWail," /></pr&p?rty><E*Ecp=ELy geneEateid®iflsry®加工通二客声门F>TiRrrp® "二色小也Pl 七叮产=”占wa.1同acr,Stein 9apz力Hn1自="r度值的eh” typ-= 2>y.srtFin£rw>nai«=p,!nwjlFT t-vpe= "jaM. 2&公工屐厂>BoiiG* n,nwi>i2eP2iG'Ze w

21、type* 同了修尸看.3七上上以5*下<za 1 wru ncmcw pWi>eil/>£/Frapiart?3<口匚。pec 匕 y gune-Ea 17re匚.caliiira 1100©= MTelFr />c/trQPFrL户<prop=Ety ffenctaxc" ,pncr«,r<caliwai narneSex />Se口uiiv?<prop=rty ffeneraxetd= vnererr nr 112TJ1 n加户="典曰图咨内生"/propertyM/ul国三

22、s>Lacy- PFfaJ3cr,Lasy= rrfl&eriaKie*"teJ pp typis-a ieny. SCxifsg-aonc-Cijr typc-jaai. ZcztStxiKsrnafte= rp*ddrsa a w t yp u=叮 ava St ri nsrff>图3-4 hibernate对实体类的配置3.1.5.2 dao (data access object ) 层dao层为数据访问接口层,主要包括四个包,见图 3-5。其作用是进行底层 数据的更新、查找、增删等数据库操作的实现。以下将介绍dao层各包的容和作用:3.1.5.3 dao

23、 包dao包使用了模板方法,为po包中实体类都定义了对应的dao接口,见图 3-6,提供了各实体相应的数据库操作接口。图3-6 dao 包3.1.5.4 dao.impl.hibernate 包dao.impl.hibernate 包是dao包中接口的具体实现,这遵循了 “接口实现 相分离”的原则1来降低系统的耦合度,提高灵活性,见图 3-7 o设计充分考虑了以后可能的扩展和修改的需要。例如采用 jdbc包来实现而 不采用hibernate框架,则提供类似的实现包即可,而上层对外的功能接口没有 变化,其它的代码也就不受影响。HMna 哂昶 support飞翼ner£ in耀传丽IDM

24、KT.PQ*g*t(id - PK)- T事看g: T : PK*updiatB(obj; I) tX里期:T) ; voidHletet型用 PK|': 'id+5aveOrllpfete|abj Ti void*thfiSSscn( : DotedLsfcT?刻*州<1«Qenaric ir iorfaoe> *Ba-ig,nw<T,PK 电工鹏 Ser,taw>+gBi(id: PKi- T 丫制nhj T 率 曲屈曲:7) j wid*4期帆曲T源PekslMd f .加 屿”0卬口好笛;TJ :空0 附e&e&oM】

25、ObjectPackage,GcMlI用电1优日9日核IrfaQaoHlbarnate*GowICfiLeg or y Jntar.,冲。qQidCiaifrB oryuac H Ibern at,40 4甘 Jril,gac> OroeUaaH 的且 3,Stiuppi 啊 GdrlJnL岬 上到叼口 IrlqCartltamDMHibeFTiate0 rderDeLa iljnle驴 rRrdnrDelallDaoH ibemat#UaoHlberruatedaotasa |图 3-7 dao.impl.hibernate 包3.1.5.5 dao.facade 包dao.facad

26、e包采用了外观模式7进行设计,对各种不同类型的dao进行封装(如图3-8所示),使得dao包的使用更方便和集中,修改和管理更容易;«interfaco>>瓜3幅附出Interface »I 口 Factory4etUssrD-ao( : lUsarDao tg etGoo<j Diao() : IGcxidlntb Dao*getLogDajD(> : ILDCjDaotflatO闻erDacf): IQMerDao/2日幅和门口ao。; IGsdCategryDao*get5t»pf)kr>9CartDaa(>: IShcpp

27、dngCartDflDf GgrdarliflmaDaoQ :g rdadtallDao图 3-8 dao.facadedao.tacadectlnlcrface?-?IDapFacloryFlU*rDao( lUserDao 1GgUDaoO ; IGoodlnfoDaopell的口网):ILogDao *elOrderDao(): I Order Dao *golCaleQor/Oao): IGoodCateof.*g GlSlxx>pir»g jrtDao() 一 I Shopping.-.*gfilOfdefltenrHDao(. lOrdefDetai.dao.fac

28、ade.impl111Dao Factory Sprlmglmpl-uscrDao ; lUserDao-yoodDao: IGoodlntbDH-kjgOaQ ILogDao'CkndorDao : lOrderDaocategoryOao: IGoodCategexyDao,cart口ao . IShop|>rFQCartDaconderllemsDao: lOfderDeiailDao*gctXXX()气甘XXX。elUscrDsoO : ILJsefDsa+getGood)aoO : iGoodlnioDao*9*tLogDiao(): ILogDacF心tOrdarDa

29、o() : lOrddfDao*ctCategoryDao() : IGoodCaEo9or .-*getShoppinGanDao() ; 1 Shopping.+fletOderlte<nsD«>0; lOrdrDelai.图 3-9 dao.facade.impl3.1.5.6 Service 层图3-10层service层为业务逻辑实现层,层中各包见图3-10。该层采用的设计技术和dao层十分类似。层中的各manager类进一步封装了 dao包的各种操作,同时还增加了各种业务逻辑功能8。该层的另一作用就是使action层和dao层解耦, 这些正是MVC真式设计的好

30、处。3.1.5.7 Manager 包manager包定义了各种业务对象管理接口,如用户管理,商品管理等业务逻 辑管理类,见图3-11 ;ccnk?rf3c&>?ma 旧 ga<GM.,叫 Cart Manager*addSh0耳;ingCjrt(湖;Shopoin5Carl) Iniej. MgteENogiacb,: Stiof>piAgCatl|*uDda(3ShoppinQOaft0 Sl-opprCaflittShoppnCarttld . M 吗”j: 5 卜秘崂Cart eLtieAc,Xinti'*getReccrdSeHr 山则:Li水 Sh

31、oppi丽at*iGoodlnfaM.rtag.r,medGoodaj. Goodlric): krreg-?r 的冰崎oodwbj: Goodlnfb)+jfdal&l)M(ot)j Goat Info)地视做出即UogjfyQ: UsKGoodlnCP“考WGo«k(): S»归 Gwdlnifo,“earcbS正 明wodM: String: Sat< Good In b> /MGoodd .: Goodin匕蛆 tMLogilcg : L4口 ini.HdelelL-CKil'X . Log+gstAlLog|: Set*:Log*+q

32、cLocsB/O ftrilc ily3t(ly)e Sbirg) ScHLo尹+gQlafsB;widtidr(); Sot<La(;>ILMfMjnagtr例etUscrH. Inlier: User tupdalDUserfuier: Lisa-) 4JcldcLl9nr(LS : Usemj号etU蹲觐CMe(Wa St网: Uw+k刈 ©说。:b&ohdH+addJMuHr: Um0 : Integer呻加*fi*lOrdcf|id: ktegef): 5 酬deeieOrce*(obj: Order) njfxktftOffllendbj. Order

33、 inartOidM(*! Onteri: Integer *gelChters(BSflr: User: SeKfktfeoquLrd'EfG.:工二,行.工二,.5:r k:.三:卜;D -:>*ga!Goo .设二,丸-: JTdcr): SGaodlks 峙iiadEyK 呼*wo(幽:Strii): S*t<Ordor>图 3-11 manager 包3.1.5.8 manager.impl 包manager.impl包是manager包接口的具体实现,如图 3-12 ,其设计思想和 dao的impl包类似;UserWIana 蛆 11mpi _ iCaoT

34、aGlDry+ijelUsw id ntor: Ussr *3d!Eer(uEef. Umot :眄teger tup(iai里Ls®Fus街.User +dclct.cLlscr lsot : User!+oelUsflr0>CoddCc&!: Btrng) User*Ho0inClwi(. bodun*»1口水串配10班由0艮皿0邙1: IDocFictdry图 3-12 manager.impl 包3.1.5.9 manager.servicemanager.service 也采用外观模式进行设计,对所有的 manager进行封装, 进行统一生成和管理,

35、见图3-13 ;« hterf&ce*>na g-ei. serviceIServicg+fletGoodsInfcManagcr(): IGoodIMoMan的efFMLogMa假同):IL.Manager*gclli5tj Miirygurt) : ILl5cr bid*g ctSliopp ing C a i tManag eif: I ShoppirCartMan agct4-getQrderM.anaQei): IOrd«rMan»ager图 3-13 manager.service 包3 int®ifaca>nnfrLag

36、ef, swtfi qqService+g&tGoodsln1oMan3Qer) : I Good I n na9&r+9&rLofiManatierO ; ILogKtanagcrpelLisefManag明i I User Man agar+ge-lSboppingCartlvrarKa0&r() . IStwppkrCartMana4erdiOrderManagfl: IOrderManag«rRmana ger series .imp4gMsSpHnglmpI-xxlsIrvfoManm而.IGMXiinfoManaQer-log M 白介凶。

37、: I LogNU rta。今rusorManaoer : ILogManac*shopptrgcjOarlMafbagw . IS hopp 0Cart Manage-ord erManayef 二 lOiderlManager.qciGoodslrioWarxagcT() : IGoodInfoManajgcr*-g etLog hrtana geif ; ILociMafiaQef4-getUsorlanac-r) : HJsarMana<erf tS卜grinpCMMcfKiq 4门 i : IShopfMngCartManagArGtOrtferMaiiaQef() ; IQr

38、dcfManaqer图 3-14 manager.service.impl 包3.1.5.10 视图控制层该层使用struts2 的MVCS计模式实现,结构见图 3-15。struts2.action包中的类充当控制器的角色,而视图显示则采用JSP动态页面。图3-15视图和控制层3.1.5.11 Action 包struts2.action 包充当MV段计模式中的控制器角色14,处理各种客户端请求,见图3-16。它实现了用例中各种业务功能和处理的动作调用,如注册对应RegisterAction ,登陆对应LoginAction 等,这通过配置文件 struts.xml 进行映射完成,如图3-1

39、7BaMActKin二谢: IStH1 甫电pj«xjte )Mar&q»UsorAjEtj«nWMJCLltfr I*JpC£lf十 JU i I IF kU 力中Sifuct.EJpportA«tl«nSkjpp-artSb jct2 AcfioflIMu l%t,白九离晨i "*srtSelV biifsti. I Su $ us)HcflimO*道nD;aiaf i+V3 KjcOwfdtdJ? a 由6 U pdft 附O“rUoodT,帅 w#K>Ur&OJdK)B 府 z st 痴 ZAt

40、 Hx(EMEU “howGoodDdl阿 I0翻 独 写 hiQ 卬 IrjC .ffATi.n+mdd寸iq ppingCatf)+awG4rM )<! -一登陆一>< act kan n:皿1七="二。蛇mt二i电与e =,'仃5广金。下金匚耳:二口其,二t工匚22 ” 力匕tti 口 X="二。仇门<resuIt naroe = "successrr type= wrecJjrecMct20aFF>index</ce3u.lt><result naitie = pz'epagre/WEB-lN

41、F/Jsp/ ccinmorV redirect, jsp</result -<resu It name- "&r"r 0上"">/ WEB- INF / jsp/user/ login. jsp</result><resuit name="inputIHF/jsp/user/login.jap</uesult></ act-ion><!-注册-><ectiorL Tianie= rrregci5 ter* cl&ss= (tVB e-rOperat-

42、ingcflctmethod=frregc2s ter(t> cuesu LL nGme="5UCCC5Sr,>/UEB-INr/' jsp/ index. j sp</ result/<re3ult name Tti2ipt ">/ WEB - IMF/jsp/us er/register > jsp< / rt3u.lt><interceptor-ref naiuie= tr tok&nStckft / ></ act.icn>图 3-17 struts.xml 配置 login 和

43、 register3.1.5.12 Jsp 模块JSP Page模块实现系统的各个 WEB®图界面5,见图3-18。struts2各种action的处理结果都会返回对应的视图,如注册成功就调用注册成功的JSP页面,错误则调用错误的JSP页面等;errorj.pcommoriilokrnllnvalldLil印ri&di(白 ctjsp白 KceptiorvadminmznageLogJ 零predlidjsplogin, jsprckitor.JspthovwrDatjusergoodwh ° wSh 口 ppi 口 g C art J 卬口d dEhopp Ihg

44、Cgr tj a padd OrU pd a toGood将 pmainago ficodk p,苜gjjggjjyjgp*h d凶 8 d 口由talLj-c图3-18系统JSP包3.1.5.13 Spring充当的角色Spring在整个系统中并未显式出现,但它充当了极大的作用。如各个对象 的成员变量、hibernate的会话工厂等的初始化都是通过spring注入13,即spring创建了对象,然后调用成员的setter进行了设置,下图3-19便是对部 分Action类的配置情况。这样就不用在代码中显式地调用new生成,降低了耦合度,并提高模块的灵活性,适应变化的能力更强。<bean

45、id- trBrows6GoodActi on " cla3s= rtco. trstr nt s2. action, BrowseGoQdActiomf,parent=匕 c>n<puoperty naine=衣於6皿】ty" /></tiean><? e an i d=匕上耳必及op 里 W曰工t国c t工门"cla3s=,rcasi< 二配wEA日看&,5 irutsS,2ngSiiQ£>pj.i2gCa£:tActIon"parent=,rbsiActionrt />

46、;<bean id«onn class' "com. trdeShand.stmts2. act2cn.ManageGoQiiLActiQJit, parent"on. FF><property name-,ood" ref = ,foodEty'* /><property nam也=*pa史n炉"te£三支或冀jaj)2y" /><puo pert 7 name- *cdteQ'dny" ref = cateO-EyEmiJty /><

47、/bean>< ! 一生成对象-><bean id= userEupty" class= "cczn, txadeSJadjjd» jjo. t7sei" scope=,rj;rototyjjerr /> "bean id= rrQQdtEp7y,r clas3= "acia,VQ.GaociliitQ" 5CQpe=F,protctYj?err /><bean id«r,f>qingEinptyn class= "am. 七上罪gWBdMcL stilta

48、ctlcn.helper. Paging" scope",rprototFperF />.bean id tfcat egwryEitpcy* class"GoodCatecjnyr,seope= nrototrj?firF图3-19 spring 对action 类的配置3.1.6系统运作原理下面以“产品关键词搜索”用例来说明系统的大体运作原理,如图 3-20'J; sif病联M 鹏圈冏3.1.1:5UO:LS£sflach 拜zT. H.1分、瑜pMlteodnHlMtqM图3-20产品搜索的系统调用流程旭部高卜执玛爪郢T和术I1111

49、1111111.1.1: serws.gdGooanloHr11,111 修wGoodM时呻、GOffllfCYftr1 21 1 5僦吼网I 3J &mi迪UL副3 gftw1 .当客户端浏览器发出请求时,Struts控制器将业务请求映射到对应的SearchAction类进行业务处理;2 . SearchAction实例生成时,成员 service 是由spring注入的,在图中没有 体现; 接 着通过 service.getGoodInfoManager() , 便能得 到 IGoodInfoManager 的一个实例;3 . SearchAction 会通过 Paging 实例的

50、 paing (IGoodInfoManager)进行分页 查找,在 paing 中调用了 goodInfoManager.searchByLimit(),该函数将通 过IGoodInfoDao的findBylimit()进行实际的数据库操作,最后获得并返回对应页的产品数据列表List<GoodInfo> ;4 .上面的manager的操作只是进一步封装了 dao层的接口,使得各层分明,耦 合更低,而返回的数据由po包的实体类封装传递。.参考资料.3.2数据库设计.参考资料.3.2.1实体关系设计(一)实体关系图15U*su M.ClMHlKniThiitj Ql»社UT

51、ypcr% Ui* 而I CoodCctogcry.Ciiigarytd KJ U© :二为gwyMEGJJJJn-用用raralalara明用国SlMjUndrCrtf GCwdllikj| a HName Pnce"An wri t OKRTpUm "proroum二 3ta 5 书 CHWcwy &Xv_U助剪同rawGSGS电 g百 AwlbHlicanld"D-aMs二 FocdBii 品iRoeuE "StJtUrC.口 SubrrMOae0时客间庄fflGgGaGamGgGSGflw用UOwnerfdGtlGoodtdGf

52、luridtv8匚Fg 怛口卦A加的¥ K)Order书gjOEuEUcruyQrttof8t&m iPairrAntstafcjffiH xx tflRSwr SI .isEndDala口&亍他由HGStaticT ra ngpcrtCoo-ipa ny 只由MeW iRINii ir I mhmIf?.酒回怎用NMGn_GnHU图3-21实体类关系图(二)实体关系图(E-R图)15Q&QaWQipaiH/MonayUGaGJJGSGSlillayrrtafitRoGiGifclG r、3由rid口 PayFnw g 51a t*s1 RgymftntTYpe "Surrlh/oneyj U»r1d刘NN?3NJ!li?lGoodCategory( 商品类另U )# CategoryIdGuido CategoryNamenvarchar(150)一个商品类别对应多件商品#GoodInfo(商品彳'言息)IdGuidoNamenvarchar(150)oPriceintoAmountintoDescriptionnvarchar(255)oPhotoBinaryoCateg

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论