基于jsp的网上服装商城的设计与实现论文_第1页
基于jsp的网上服装商城的设计与实现论文_第2页
基于jsp的网上服装商城的设计与实现论文_第3页
基于jsp的网上服装商城的设计与实现论文_第4页
基于jsp的网上服装商城的设计与实现论文_第5页
已阅读5页,还剩61页未读 继续免费阅读

下载本文档

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

文档简介

毕业设计(论文)题目:基于jsp的网上服装商城的设计与实现毕业设计(论文)要求及原始数据(资料):1.综述国内外网上服装商场技术研究现状;2.深入了解网上服装商场的相关技术;3.熟练掌握熟练掌握B/S三层架构模式的应用与分析的应用与分析,训练编写插件程序的能力;4.设计并实现网上服装商场中针对某一服装购买的设计;5.深入分析网上服装商城插件的关键技术与编写语言;6.训练检索文献资料和利用文献资料的能力;7.训练撰写技术文档与学位论文的能力。毕业设计(论文)任务书第1页毕业设计(论文)主要内容:1.综述网上服装商城在生活中的应用;2.了解网上服装商城的相关技术;3.熟悉网上服装商城的开发环境;4.设计网上服装商城的插件;5.深入分析网上服装商城的关键技术与编写语言的设计流程;6.熟练掌握基于网上服装商城平台的插件编写;7.设计与实现针对网上服装商城的程序。学生应交出的设计文件(论文):1.内容完整、层次清晰、叙述流畅、排版规范的毕业设计论文;2.包括毕业设计论文、源程序等内容在内的毕业设计电子文档及其它相关材料。第2页主要参考文献(资料):赵洋.\t"://s.g.wanfangdata/_blank"服装业电子商务系统中基于图像内容检索的设计与实现[D].河南大学,2013rticleId=Y2218222&Name=%e6%b8%b8%e5%b0%91%e8%be%89"\t"://s.g.wanfangdata/_blank"游少辉.\t"://s.g.wanfangdata/_blank"基于VRML的3D商品网上展示方案设计与实现[D].北京大学,2011\t"://s.g.wanfangdata/_blank"蔡舒璟.\t"://s.g.wanfangdata/_blank"石狮市服装产业电子商务系统的设计与实现[D].电子科技大学,2007闵小玲.\t"://s.g.wanfangdata/_blank"Web应用系统设计的JSP技术方法[J].黄石理工学院计算机学院,湖北,黄石435003,2007, 4(24)\t"://s.g.wanfangdata/_blank"闫东.px"\t"://s.g.wanfangdata/_blank"浅谈JSP动态网站的技术开发[J].沈阳大学南校区教育学院,信息工程学院0442班,2003,(12)\t"://s.g.wanfangdata/_blank"赵成龙.\t"://s.g.wanfangdata/_blank"一个基于WEB的智能答疑系统的设计与实现[D].东南大学,2004\t"://s.g.wanfangdata/_blank"张云帆.gdata/_blank"Oracle数据库备份与恢复策略[J].中石油辽河油田公司信息管理部,盘锦,124010,2009, 35(15)

Chien-HungLiu.\t"://s.g.wanfangdata/_blank"Dataflowanalysisandtestingof JSP-basedWebapplications[J].Informationandsoftwaretechnology.2006,48(12)XiaohuaWang.fangdata/_blank"Ahybridbiogeography-basedoptimizationalgorithmforjobshopschedulingproblem[J]puters&IndustrialEngineering.2014,73GuangCen.\t"://s.g.wanfangdata/_blank"Aimplementationofanautomaticexaminationpapergenerationsystem[J].Mathematicalandcomputermodelling.2010,51(11/12)第3页摘要关键词:网上购物;电子商务;服饰TheDesignandImplementoftheClothingShopWebsiteAbstractWiththedevelopmentofsocietyandthepopularizationoftheInternet,networkofmodernlifehasspreadtoeveryfamily.Onlineshoppingasaformofe-commerceisinitshighefficiencyandlow-costadvantages,hasgraduallybecomeanewbusinessmodelandphilosophy.Moreandmoreconsumers,tiredofalloverthehighstreetsandbacklanestofindtheproductstheyneed,haveaccustomedtousingcomputerforshopping,andenjoytheInternetlife.Theentityclothingstorehasbeendeeplyawareofthatenterpriseoperationintheinformationagehasbeenchangedfromthetechnologyandproductsasthecenterofthebusinessmodeltothecustomerandmarket-orientedbusinessmodel.Soitisverynecessarytobuildatheirowne-commercewebsite.Inthispaper,fromtheclothingshopwebsiteforusersandadministratorsconveniencepointofview,thesystemprovidestheuserfunctionandadministratormanagementfunctions.Theuserfunctionsmainlyincludethenon-registeredusersandtheregisteredusers.Thenon-registereduserscanviewthebasicinformationofproducts.Furthermore,userscanregisterfortheshoppingcart,orderinquiries,thebasicproductinformationview,inordertoreturn,favoritesfunction,messageboard,memberinformationchangesandotherfunctions.Theadministratormanagementfunctionsmainlyincludeboardmanagement,goodscategorymanagement,commoditymanagement,ordermanagement,inventorymanagement,messagemanagement,financialstatistics,advertisingpicturemanagement,membershipmanagement,andsoon.Withthestructuredanalysismethod,throughthesystemplanning,systemanalysis,systemdesign,detailedonlineclothingstorewebsiteoperationprocess,thespecificstepsandtherelatedapplicationnotes.ThesystemisbasedonB/Smode,usingJSPdevelopmenttechnology,Tomcatapplicationserver,MYSQLasthedatabase,usingMyEclipseasadevelopmenttoolfordevelopment.KeyWords:ShoppingOnline;E-Commerce;Apparel目录1引言 ④使用javascript来绑定和调用。ajax原理和XmlRequest对象:Ajax的原理简单来说通过XmlRequest对象来向服务器发异步请求,从服务器获得数据,然后用javascript来操作DOM而更新页面。这其中最关键的一步就是从服务器获得请求数据。要清楚这个过程和原理,必须对XMLRequest有所了解。XMLRequest是ajax的核心机制,它是在IE5中首先引入的,是一种支持异步请求的技术。简单的说,也就是javascript能及时向服务器提出请求和处理响应,而不阻塞用户,达到无刷新的效果。所以先从XMLRequest讲起,来看看它的工作原理。XMLRequest这个对象的属性有:onreadystatechange每次状态改变所触发事件的事件处理程序。responseText从服务器进程返回数据的字符串形式。responseXML从服务器进程返回的DOM兼容的文档数据对象。status从服务器返回的数字代码,比如常见的404(未找到)和200(已就绪)statusText伴随状态码的字符串信息readyState对象状态值ajax的优点:(其带来的好处大家基本上都深有体会,在这里只简单的讲几点) (1)最大的一点是页面无刷新,在页面内与服务器通信,给用户的体验非常好。(2)使用异步方式与服务器通信,不需要打断用户的操作,具有更加迅速的响应能力。(3)可以把以前一些服务器负担的工作转嫁到客户端,利用客户端闲置的能力来处理,减轻服务器和带宽的负担,节约空间和宽带租用成本。并且减轻服务器的负担,ajax的原则是“按需取数据”,可以最大程度的减少冗余请求,和响应对服务器造成的负担。平时我们大多注意的都是ajax所带来的好处诸如用户体验的提升,而对其所带来的缺陷有所忽视,下面着重阐述它先天所产生的的缺陷。ajax的缺点:(1)ajax干掉了back按钮,即对浏览器后退机制的破坏。这是ajax所带来的一个非常严重的问题。(2)对IT企业带来了新的安全威胁。(3)对搜索引擎的支持比较弱。(4)破坏了程序的异常机制。(5)另外,像其他方面的一些问题,比如说违背了url和资源定位的初衷。例如,我给你一个url地址,如果采用了ajax技术,也许你在该url地址下面看到的和我在这个url地址下看到的内容是不同的。这个和资源定位的初衷是相背离的。 该想法源于淘宝,在淘宝的商品详情中,当鼠标停留在商品图片上时,右侧则会出现一个框可以将图片放大,这一功能在购物系统中已得到广泛使用,所以我在本次设计中也引入了此功能。具体的代码如下:<scripttype="text/javascript">functiongetEventObject(W3CEvent){//事件标准化函数returnW3CEvent||window.event;}functiongetPointerPosition(e){//兼容浏览器的鼠标x,y获得函数e=e||getEventObject(e);varx=e.pageX||(e.clientX+(document.documentElement.scrollLeft||document.body.scrollLeft));vary=e.pageY||(e.clientY+(document.documentElement.scrollTop||document.body.scrollTop));return{'x':x,'y':y};}functionsetOpacity(elem,level){//兼容浏览器设置透明值if(elem.filters){elem.style.filter='alpha(opacity='+level*100+')';}else{elem.style.opacity=level;}}functioncss(elem,prop){//css设置函数,方便设置css值,并且兼容设置透明值for(variinprop){if(i=='opacity'){setOpacity(elem,prop[i]);}else{elem.style[i]=prop[i];}}returnelem;}varmagnifier={m:null,init:function(magni){varm=this.m=magni||{cont:null,//装载原始图像的divimg:null,//放大的图像mag:null,//放大框scale:15//比例值,设置的值越大放大越大,但是这里有个问题就是如果不可以整除时,会产生些很小的白边,目前不知道如何解决}css(m.img,{'position':'absolute','width':(m.cont.clientWidth*m.scale)+'px',//原始图像的宽*比例值'height':(m.cont.clientHeight*m.scale)+'px'//原始图像的高*比例值})css(m.mag,{'display':'none','width':m.cont.clientWidth+'px',//m.cont为原始图像,与原始图像等宽'height'nt.clientHeight+'px','position':'absolute','left':m.cont.offsetLeft+m.cont.offsetWidth+10+'px',//放大框的位置为原始图像的右方远10px'top':m.cont.offsetTop+'px'})varborderWid=m.cont.getElementsByTagName('div')[0].offsetWidth-m.cont.getElementsByTagName('div')[0].clientWidth;//获取border的宽css(m.cont.getElementsByTagName('div')[0],{//m.cont.getElementsByTagName('div')[0]为浏览框'display':'none',//开始设置为不可见'width':m.cont.clientWidth/m.scale-borderWid+'px',//原始图片的宽/比例值-border的宽度'height':m.cont.clientHeight/m.scale-borderWid+'px',//原始图片的高/比例值-border的宽度'opacity':0.5//设置透明度})m.img.src=m.cont.getElementsByTagName('img')[0].src;//让原始图像的src值给予放大图像m.cont.style.cursor='crosshair';useover=magnifier.start;},start:function(e){if(document.all){//只在IE下执行,主要避免IE6的select无法覆盖magnifier.createIframe(magnifier.m.img);}this.onmousemove=magnifier.move;this.onmouseout=magnifier.end;},move:function(e){varpos=getPointerPosition(e);//事件标准化this.getElementsByTagName('div')[0].style.display='';css(this.getElementsByTagName('div')[0],{'top':Math.min(Math.max(pos.y-this.offsetTop-parseInt(this.getElementsByTagName('div')[0].style.height)/2,0),this.clientHeight-this.getElementsByTagName('div')[0].offsetHeight)+'px','left':Math.min(Math.max(pos.x-this.offsetLeft-parseInt(this.getElementsByTagName('div')[0].style.width)/2,0),this.clientWidth-this.getElementsByTagName('div')[0].offsetWidth)+'px'})magnifier.m.mag.style.display='';css(magnifier.m.img,{'top':-(parseInt(this.getElementsByTagName('div')[0].style.top)*magnifier.m.scale)+'px','left':-(parseInt(this.getElementsByTagName('div')[0].style.left)*magnifier.m.scale)+'px'})},end:function(e){this.getElementsByTagName('div')[0].style.display='none';magnifier.removeIframe(magnifier.m.img);//销毁iframemagnifier.m.mag.style.display='none';},createIframe:function(elem){varlayer=document.createElement('iframe');layer.tabIndex='-1';layer.src='javascript:false;';elem.parentNode.appendChild(layer);layer.style.width=elem.offsetWidth+'px';layer.style.height=elem.offsetHeight+'px';},removeIframe:function(elem){varlayers=elem.parentNode.getElementsByTagName('iframe');while(layers.length>0){layers[0].parentNode.removeChild(layers[0]);}}}window.onload=function(){magnifier.init({cont:document.getElementById('magnifier'),img:document.getElementById('magnifierImg'),mag:document.getElementById('mag'),scale:3});}</script>mag:null,//放大框scale:15//比例值,设置的值越大放大越大,但是这里有个问题就是如果不可以整除时,会产生些很小的白边,目前不知道如何解决}css(m.img,{'position':'absolute','width':(m.cont.clientWidth*m.scale)+'px',//原始图像的宽*比例值'height':(m.cont.clientHeight*m.scale)+'px'//原始图像的高*比例值})css(m.mag,{'display':'none','width':m.cont.clientWidth+'px',//m.cont为原始图像,与原始图像等宽'height':m.cont.clientHeight+'px','position':'absolute','left':m.cont.offsetLeft+m.cont.offsetWidth+10+'px',//放大框的位置为原始图像的右方远10px'top':m.cont.offsetTop+'px'})varborderWid=m.cont.getElementsByTagName('div')[0].offsetWidth-m.cont.getElementsByTagName('div')[0].clientWidth;//获取border的宽css(m.cont.getElementsByTagName('div')[0],{//m.cont.getElementsByTagName('div')[0]为浏览框'display':'none',//开始设置为不可见'width':m.cont.clientWidth/m.scale-borderWid+'px',//原始图片的宽/比例值-border的宽度'height':m.cont.clientHeight/m.scale-borderWid+'px',//原始图片的高/比例值-border的宽度'opacity':0.5//设置透明度})m.img.src=m.cont.getElementsByTagName('img')[0].src;//让原始图像的src值给予放大图像m.cont.style.cursor='crosshair';m.cont.onmouseover=magnifier.start;},start:function(e){if(document.all){//只在IE下执行,主要避免IE6的select无法覆盖magnifier.createIframe(magnifier.m.img);}

7性能测试与分析测试实例(测试集)的研究与选择程序测试的主要方法分为两大类,白盒测试和黑盒测试。本系统的测试综合了白盒测试、黑盒测试两种方法,但主要使用的是黑盒测试方法。在测试当中遵循了“尽早地和不断进行测试”,“保证测试用例的完整性和有效性”原则。通过测试达到以下测试目的:(1)功能检查:检查功能是否争取,是否遗漏或实现不了应该实现的功能等。(2)接口检查:检查能否正确地接受信息或输出信息。(3)数据检查:检查数据结构或外部信息是否有(如数据文件)访问错误。(4)性能检查:检查性能需求能否得到满足。(5)初始化、终止检查:检查是否能进行正确地初始化或终止。处理器:Inter(R)Core(TM)2DuoT5750内存:3GB硬盘:160G操作系统:WindowsXP数据库:MYSQLWeb服务器:Tomcat实例测试用户购买产品支付的功能测试表7-1功能测试表测试目的:看注册会员是否能进行产品的购买预置条件:使用有效的用户名和密码登录网上服装商城网站;测试过程:预期结果:对满意的产品点击“购买”按钮正常显示购物车页面;页面中产品编号、产品名称、产品单价、数量、支付金额等系统数据完成初始化。点击“收银台”按钮结账结账成功,生成订单信息点击“提交”按钮确认支付页面弹出窗口(支付成功)完成测试上述操作均达到“测试”要求测试实际结果:经过测试证明数据录入验证功能正常,可以正常过滤出用户输入的错误信息。并且将处理结果反馈给用户,达到预期结果。测试总结本系统的测试主要是对于前台各功能模块和后台各功能模块进行测试。(1)前台各功能模块运行用户注册的功能,查看该部分功能对用户注册信息的合法性进行有效的检验。运行修改个人信息功能,验证能正确获得用户的个人信息并成功修改。运行产品展示功能,验证能否显示产品信息。运行产品查询功能,验证查询结果符合所输入的产品信息。运行购物车功能,验证能修改产品数量,删除产品,添加产品,清空购物车。运行订单查询功能,验证能正确显示订单信息。运行收银台功能,验证能填写订单,结账。(2)后台各功能模块运行管理员登录功能,验证能正确登录。运行产品管理功能,验证能查看产品、添加产品、删除产品和修改产品信息。运行用户管理功能,验证能查看用户信息和删除会员。运行订单管理功能,验证能正确的查看订单信息和发货。运通过对系统的全面测试,所有测试条目都已经通过,实现了基本要求,系统可以正常运行。

8总结与展望总结:通过这次对网站的设计,本人对购物网站的交易流程有了更深刻的认识,体会到了电子商务系统的分析与设计方面,巩固了以前所学过的结构化的分析方法,进而在实际应用中有效的利用。在代码的编写方面,确实遇到了很多复杂的问题,虽然不断的翻阅资料,网上搜索依旧难以解决,好在通过教师悉心的指导,不断修改各种bug,完善代码的复用率,问题逐一被攻克,并且经过亲自测试,网站达到了预期的功能要求,能够完成交易流程。此刻的内心是十分开心的。展望:当然网站中还存在很多的不足,代码的调用有些地方繁琐,冗余,代码重复率较高,以后的可重用性较差。本网站功能上还是有需要改进的地方,此外还可以开放更多的功能,例如站内信功能、在线即时交互功能等。在界面显示上,也可以做的更简单化,让用户使用起来更加便捷。我想这些在未来都会慢慢的成为现实,就如同Children走过的历程一样,从幼稚天真渐渐的走向成熟。

结论本系统的开发过程,从服装店的实际需求出发,并对用户进行了深入的调查,力求最大限度地满足服装店和用户双方的需求。这个系统我充分考虑了在中国网购飞速发展的大的环境下,服装商城网站的使用的用户体验,设计更加人性化,界面同样美观大方,突出商品的亮点,让客户充满购物的渴望。同时,让网站管理者清晰明了,简化用户和操作员的输入,不得不提的是,现在的大部分网站都有各种系统提示,这样的话即使你是新手,相信也会很快适应怎么使用,对于扩大用户的使用数量,增加客户满意度起到了不可替代的作用。通过不断完善,本系统已经可以正常运行,实现了所设计的功能。通过本系统功能的实现,将实体服装店的业务建立在网络上的优势也得以体现:(1)用户可以随时查询和购买自己需要的服饰信息,可以克服时空、地域对服装店的制约。(3)本网站将服装店信息、服务信息、产品信息显示在网上,为消费者购物提供了保障,同时可以促使价格更加透明、合理。(4)使实体服装店工作人员从手工处理数据中解放出来,可以提高工作效率。本系统在设计过程中由于本身水平有限,还有很多不尽人意的地方,如考虑到安全问题,系统不能在线支付,后台产品管理功能也需进一步完善等。

参考文献[1]赵洋.服装业电子商务系统中基于图像内容检索的设计与实现[D].河南大学,2013[2]游少辉.基于VRML的3D商品网上展示方案设计与实现[D].北京大学,2011[3]蔡舒璟.石狮市服装产业电子商务系统的设计与实现[D].电子科技大学,2007[4]闵小玲.Web应用系统设计的JSP技术方法[J].黄石理工学院计算机学院,湖北,黄石435003,2007, 4(24)[5]闫东.浅谈JSP动态网站的技术开发[J].沈阳大学南校区教育学院,信息工程学院0442班,2003,(12)[6]赵成龙.一个基于WEB的智能答疑系统的设计与实现[D].东南大学,2004[7]张云帆.Oracle数据库备份与恢复策略[J].中石油辽河油田公司信息管理部,盘锦,124010,2009, 35(15)[8]Chien-HungLiu.Dataflowanalysisandtestingof JSP-basedWebapplications[J].Informationandsoftwaretechnology.2006,48(12)[9]XiaohuaWang.Ahybridbiogeography-basedoptimizationalgorithmforjobshopschedulingproblem[J]puters&IndustrialEngineering.2014,73[10]GuangCen.Aimplementationofanautomaticexaminationpapergenerationsystem[J].Mathematicalandcomputermodelling.2010,51(11/12)致谢

外文文献WebMVCwiththeSpringFrameworkBy:JuergenHoellerSource:Spring&SpringMVCIntroductionIntroduction:SpringtheApplicationFrameworkWhenfirstconfrontedwiththeSpringFramework,onemightbetemptedtothink:"Ohno,notyetanotherwebframework".ThisarticlewilloutlinewhySpringisn'tparticularlyawebframeworkbutagenericlightweightapplicationframeworkwithdedicatedwebsupport,andshowthearchitecturaldifferencestoStrutsandWebWorkIncontrasttoStrutsorWebWork,Springisanapplicationframeworkforalllayers:Itoffersabeanconfigurationfoundation,AOPsupport,aJDBCabstractionframework,abstracttransactionsupport,etc.Itisaverynon-intrusiveeffort:YourapplicationclassesdonotneedtodependonanySpringclassesifnotnecessary,andyoucanreuseeverypartonitsownifyouliketo.Fromitsverydesign,theframeworkencouragescleanseparationoftiers,mostimportantlywebtierandbusinesslogic:e.g.thevalidationframeworkdoesnotdependonwebcontrollers.Majorgoalsarereusabilityandtestability:Unnecessarycontainerorframeworkdependenciescanbeconsideredavoidableevils.Ofcourse,Spring'sownwebsupportisnicelyintegratedwiththeframework'sgeneralpatterns.Nevertheless,replacingthewebsolutionwithStruts,WebWork,orthelikeiseasy.BothwithSpring'swebsupportoradifferentone,Springallowsforbuildingatruededicatedmiddletierinthewebcontainer,withtheoptiontoreuseexactlythesamebusinesslogicintestenvironmentsorstandaloneapplications.AndwithinJ2EE,yourbusinesslogicwillnotunnecessarilydependoncontainerserviceslikeJTAorEJB-allowingcomplex,well-architectedwebapplicationstorunina"simple"containerlikeTomcatorResin.NotethatSpringdoesn'tgenerallyaimtocompetewithexistingsolutions.ItratherfostersseamlessintegrationwithstandardslikeServlet,JSP,JTA,JNDI,JDBC,andJDO,andwell-suitedtoolslikeHibernate,Velocity,Log4J,andCaucho'sHessian/Burlap.Theframeworkisdesignedtogrowwiththeneedsofyourapplications,intermsoftechnologychoice:Forexample,youwillprobablyuseJTAviaSpring'sJtaTransactionManagerifyouneeddistributedtransactions-butonlythen,asthereareperfectreplacementsforsingledatabases,likeDataSourceTransactionManagerorHibernateTransactionManager.WebMVCTheDesignofSpring'sWebFrameworkSpring'swebframeworkisdesignedaroundaDispatcherServletthatdispatchesrequeststohandlers,withconfigurablehandlermappings,viewresolution,andlocaleandthemeresolution.ThedefaulthandlerisaverysimpleControllerinterface,justofferinga"ModelAndViewhandleRequest(request,response)"method.Thiscanalreadybeusedforapplicationcontrollers,butyouwillprefertheincludedimplementationhierarchy,consistingofAbstractController,AbstractCommandController,MultiActionController,SimpleFormController,AbstractWizardFormController.Applicationcontrollerswilltypicallybesubclassesofthose.Notethatyoucanchooseanappropriatebaseclass:Ifyoudon'thaveaform,youdon'tneedaFormController.ThisisamajordifferencetoStruts.Youcantakeanyobjectascommandorformobject:There'snoneedtoimplementaninterfaceorderivefromabaseclass.Spring'sdatabindingishighlyflexible,e.g.ittreatstypemismatchesasvalidationerrorsthatcanbeevaluatedbytheapplication,notassystemerrors.Soyoudon'tneedtoduplicateyourbusinessobjects'propertiesasStringsinyourformobjects,justtobeabletohandleinvalidsubmissions,ortoconverttheStringsproperly.Instead,it'softenpreferabletobinddirectlytoyourbusinessobjects.ThisisanothermajordifferencetoStrutswhichisbuiltaroundrequiredbaseclasseslikeActionandActionForm-foreverytypeofaction.ComparedtoWebWork,Springhasmoredifferentiatedobjectroles:ItsupportsthenotionofaController,anoptionalcommandorformobject,andamodelthatgetspassedtotheview.Themodelwillnormallyincludethecommandorformobjectbutalsoarbitraryreferencedata.Instead,aWebWorkActioncombinesallthoserolesintoonesingleobject.WebWorkdoesallowyoutouseexistingbusinessobjectsaspartofyourform,butjustbymakingthembeanpropertiesoftherespectiveActionclass.Finally,thesameActioninstancethathandlestherequestgetsusedforevaluationandformpopulationintheview.Thus,referencedataneedstobe10modelledasbeanpropertiesoftheActiontoo.Thesearearguablytoomanyrolesinoneobject.Regardingviews:Spring'sviewresolutionisextremelyflexible.AControllerimplementationcanevenwriteaviewdirectlytotheresponse,returningnullasModelAndView.Inthenormalcase,aModelAndViewinstanceconsistsofaviewnameandamodelMap,containingbeannamesandcorrespondingobjects(likeacommandorform,referencedata,etc).Viewnameresolutionishighlyconfigurable,eitherviabeannames,viaapropertiesfile,orviayourownViewResolverimplementation.TheabstractmodelMapallowsforcompleteabstractionoftheviewtechnology,withoutanyhassle:BeitJSP,Velocity,oranythingelse-everyrenderercanbeintegrateddirectly.ThemodelMapsimplygetstransformedintoanappropriateformat,likeJSPrequestattributesoraVelocitytemplatemodel.IntegrationIntegration:UsingaDifferentWebFrameworkwithSpringManyteamswilltrytoleveragetheirinvestmentsintermsofknow-howandtools,bothforexistingprojectsandfornewones.Concretely,therearenotonlyalargenumberofbooksandtoolsforStrutsbutalsoalotofdevelopersthathaveexperiencewithit.Thus,ifyoucanlivewithStruts'architecturalflaws,itcanstillbeaviablechoicefortheweblayer.ThesameappliestoWebWorkandotherwebframeworks.Ifyoudon'twanttouseSpring'swebMVCbutintendtoleverageothersolutionsthatSpringoffers,youcanintegratethewebframeworkofyourchoicewithSpringeasily.SimplystartupaSpringrootapplicationcontextviaitsContextLoaderListener,andaccessitviaitsServletContextattribute(orSpring'srespectivehelpermethod)fromwithinaStrutsorWebWorkaction.Notethattherearen'tany"plugins"involved,thereforenodedicatedintegration:Fromtheviewoftheweblayer,you'llsimplyuseSpringasalibrary,withtherootapplicationcontextinstanceasentrypoint.AllyourregisteredbeansandallofSpring'sservicescanbeatyourfingertipsevenwithoutSpring'swebMVC.Springdoesn'tcompetewithStrutsorWebWorkinthisusage,itjustaddressesthemanyareasthatthepurewebframeworksdon't,frombeanconfigurationtodataaccessandtransactionhandling.SoyouareabletoenrichyourapplicationwithaSpringmiddletierand/ordataaccesstier,evenifyoujustwanttousee.g.thetransactionabstractionwithJDBCorHibernate.FeatureCheckListIfjustfocussingonthewebsupport,someofSpring'suniquefeaturesare:.Clearseparationofroles:controllervsvalidatorvscommandobjectvsformobjectvsmodelobject,DispatcherServletvshandlermappingvsviewresolver,etc..PowerfulandstraightforwardconfigurationofbothframeworkandapplicationclassesasJavaBeans,includingeasyin-betweenreferencingviaanapplicationcontext,e.g.fromwebcontrollerstobusinessobjectsandvalidators..Adaptability,non-intrusiveness:UsewhateverControllersubclassyouneed(plain,command,form,wizard,multiaction,oracustomone)foragivenscenarioinsteadofderivingfromAction/ActionFormforeverything..Reusablebusinesscode,noneedforduplication:YoucanuseexistingbusinessobjectsascommandorformobjectsinsteadofmirroringtheminspecialActionFormsubclasses..Customizablebindingandvalidation:typemismatchesasapplication-levelvalidationerrorsthatkeeptheoffendingvalue,localizeddateandnumberbinding,etcinsteadofString-onlyformobjectswithmanualparsingandconversiontobusinessobjects.Customizablehandlermapping,customizableviewresolution:flexiblemodeltransfervianame/valueMap,handlermappingandviewresolutionstrategiesfromsimpletosophisticatedinsteadofonesingleway.Customizablelocaleandthemeresolution,supportforJSPswithandwithoutSpringtaglibrary,supportforJSTL,supportforVelocitywithouttheneedforextrabridges,etc.SimplebutpowerfultaglibrarythatavoidsHTMLgenerationatanycost,allowingformaximumflexibilityintermsofmarkupcode.theantinomyofofdatamodelandlogicmodel.Currentlythedatabaseofusagebasicallyandallisrelationtypedatabase,buttheJavabeessentiallyakindofthelanguagewhichfacetoobject,objectatsavingwithreadusageSQLandJDBCcarryonadatabaseoperationandloweredplaitdistanceofefficiencyandsystemofcanmaintenance;2)traditionofJ2EEapplicationmuchtheadoptionisaccordingtotheEJBheavyweightframe,thiskindofframesuitablefordevelopalargebusinessenterpriseapplication,butusagetheEJBcontainercarryondevelopmentandadjusttotrytoneedtobewasteagreatdealoftime.ForloweringtheOuofcodetomatchsex,exaltationsystemofdevelopmentefficiency,thistextputforward1kindEEaccordingtotheJ2oftheStrutsframeandtheHibernateframeapplicationdevelopmentstrategy.Data'sholdingoutforlongtimelayerandHibernateisonepieceaccordingtoholdoutforlongtimelayerframe,isakindofrealizationobjectandrelationofthetoolwhichreflecttoshoot(O/RMapping),itcarriedontheobjectofthelightweighttopacktotheJDBCandmakeproceduremembercanusageobjectplaitdistancethoughttooperationdatabase.ItnotonlyprovidedtoshootfromJavatoreflectofdataform,butalsoprovidedadataasearchandinstaurationmechanism.OppositeinusageJDBCandSQLtooperationdatabase,useHibernateabilityconsumedlyofexaltationrealizationofefficiency.TheHibernateframeuseallocationdocumentoftheformcometothereflectofthedefinitionJavaobjectanddataformtoshootrelation,inthemeantimeatmoredeepoflevelofdataformofrelationexplanatio

温馨提示

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

评论

0/150

提交评论