版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
PAGE1PAGE13综合网上购物商城系统设计与实现[摘要]网络购物这一电子商务的发展在这些年发展迅速,很多大型网络商城应运而生,这些商城不仅提供了广阔的商品选择给消费者,也给一些私营商家谋求盈利提供了道路,但是对于大部分消费者而言,方便便宜才是选择网络购物的首要因素,而在此之中获利最大的也是大型企业,针对这种现象,设计了这样一个轻巧简便的系统给一些中小型企业或者私营个体户,即使没用过多的人力物力,也能很好的运维自己的网络商城,而消费者也能从中获取更多便利而我们在实现一个WEB项目时往往要花费大量时间,我们需要一个更轻便更实用的系统框架,这样才能提高工作的效率。合适的设计模式的选择在企业级系统开发中是一个重要环节。本文所介绍的是由Jsp前端页面加ssm框架包括spring,mybatis,maven和实现的一个较为综合的商城系统,系统除了web应用通用的“脚手架”功能外,它跟其他商城一样拥有两个登录端:用户和管理员。用户可以在登录后使用商城的自由购物所包括的所有功能,有但不限于商品的各种检索和购买,这其中还有关注到用户的购物体验,本系统还准备了评论和反馈功能,让消费者花的开心,买的放心。而后台管理员的操作也及其简便,拥有可视化的界面来对上架商品进行操作,回复用户的评论,更改和操作用户的权限。系统具有易操作,功能全的实用价值,并且具有强大的可延展性。[主题词]Spring;JSP;Web;MVC目录40621绪论 396941.1引言 312371.2国内外研究现状 3204761.3论文主要工作 455171.4论文的组织与结构 4292412系统开发的核心技术简介 6114682.1JSP技术 6167092.2Servlet技术 6218762.3SpringMVC技术 724382.4JQuery和JSTL技术 8110402.5JDBC技术 876352.6本章小结 9195563系统分析与设计 10176963.1系统需求分析与建模 10174903.1.1系统需求概述 10262353.1.2系统数据分析 10197033.1.3系统功能分析 12281703.1.4系统行为分析(运行环境)分析 1568903.1.5系统性能分析 16314703.2系统设计与建模 1687403.2.1系统设计概述 1695203.2.2系统数据(库)设计(要求有数据库模式,或数据类图) 1617143.2.3系统软件构件设计 19256383.2.4系统用户界面设计 21164003.2.5系统构件级设计 2184323.4本章小结 22276834系统实现 2376844.1实现环境与工具的简要说明 23305034.2主要程序模块描述 23255614.2.1ssm框架的整合 23102694.2.2有关商品的功能实现 2692714.2.3用户相关功能 27239164.2.4有关评论的功能实现 29206594.2.5有关菜单的功能实现 30255634.2.6有关订单的功能实现 31180154.3系统运行 34251014.4本章小结 39163195系统测试 40258935.1测试目的和内容 4019065.3测试运行和测试记录 41161875.3.1用户登录测试 41310405.3.2商品模糊关键词查询 42119755.3.3系统性能测试 4231675.4测试结果分析 43159285.5本章小结 43146496工作总结和心得体会 4413476.1工作总结 44240506.2心得体会 44434参考文献 451绪论1.1引言相对于传统的实体店购物来说,网上商城处理订单的速度比现实要快,而且会提供后续服务,一次性可浏览的商品种类很多,人们在家就可以通过网上商城进行购物,购买的商品还会更加实惠。所以在现在基本都在使用微信,支付宝进行付款的时代,大家更愿意在网络上进行购物,当然这也不会使得实体店的消失,但是电子商务已经成为主流。1.2国内外研究现状目前存在的网络商城基本上的功能已经定型,对于消费的最基本流程,选择商品,支付,再加上售后这些功能发展的已经十分强大,对于网络购物而言因为存在无法面对面验货和退货,所以信息之间的交流反馈,用户的消费体验和用户的“回头率”才是现在系统所需要考虑的重点。IBM公司分别在1996和1997提出了电子商业和E-Business这两个概念。因为后者概念的诞生,整个电子商务的领域宽广了起来,它已经不再是简单的从因特网来进行的交易商贸的E-Commerce概念,它还容纳了所有通过电子工具进行经济交流的所有模式。在那个年代来说,这种线上商务模式很快就繁荣起来,大家所熟悉的货币与商品之间的交流变成了通过软件与网络通信技术来实现。这些技术让电子商务具有无限的未来和强大的生命力。REF_Ref8349\r\h[1]电子商务的迅猛发展离不开IT技术的不断发展和物流行业的兴起,甚至是支付技术的提升都为电子商务垫起了高台,这些行业之间不是单方面的优势获取,而是之间的互助,网络购物的发展带动了整个快递行业的发展,这点国内的物流就可以证明,顺丰等大型快递公司逐渐扩大业务。而这些活动也不仅仅局限于平民百姓,政府和国际之间的贸易往来也需要电子商务的支持。放眼国内,我国的商城基本处于巨头垄断,整个行业还在起步阶段,但是发展速度不慢,大家都在竞争中提升自己。由各项数据可以显示我国电商用户基数巨大,消费市场也很广阔,在今后的时间里,网络商城的发展空间会十分巨大。但是实体商城不会因为这样而消失,只能说网上购物会成为主流。上方提到的巨头企业淘宝,京东这些大型商城虽然用户量很广,服务和质量水平也适中,但是获利最多的还是本家企业,入驻的店家会被攫取很多利润,这也向很多中小企业以及个体私户提供了更多的商机,他们需要一个可以自己掌控的轻便平台。现阶段国内外研究基本具有以下特点可以用四个特点来概括:领先于传统购物模式的购物流程,有比实体店家苦口婆心更让你的心动的推荐方法,可以根据自己的想法量身定制的商品,在购物过程中良好的“逛街”体验。1.3论文主要工作针对以上分析的现有的大型商城所有的优缺点,本系统主要需要实现的是一个轻便能够给予顾客推荐并且容易操作运行和维护的商城。我们之所以会选择网上购物而不去实体店一圈圈的逛,这其中的原因并不是因为距离和体力问题。我们心中有所想的时候,好比买衣服,去一个品牌店,楼层与楼层之间不断穿梭,还要记这记那,可能你一开始看到的就是接下来一个小时里面逛到最好的。又好比你没有目标,去万达这样的,走到哪看到哪,这样的更没有一个向导跟你说你可能会对什么感兴趣。当我们目标锁定的时候我们需要的是一个直观的对比,有且不仅限于物品的尺码,价格等,用一个美化的UI界面去把你心仪的物品们罗列到一起更能消费者的比较心理。当你不知道买什么的时候,点到首页系统来告诉你,那些你可能会感到可能想买,这些推荐不会引起用户的反感,相反如果你猜中了用户的想法更能增加用户对你的商城的依赖,增加消费,当然这不可能是随便猜,随便摆一些商品,我们每一位登录的用户在数据库都有购物车和订单记录,系统会根据这些结合销量和日志一些给每一位用户一份全新的推荐。所以我所设计的系统具有即用性,每一个中小型企业都可以在获取后即时使用。本系统我选用的是当前用的比较多的的Html,javascript,Jquery和SpringMVC框架结合mybatis以及maven技术完成的REF_Ref15119\r\h[2]。本篇论文讲述和完成的是整个系统的设计和规划,大体的章节分化有需求部分,系统设计部分(带有UML图进行阐述),本系统整个数据库的详细表设计和类图,以及本系统内每一个功能以及每个分区模块的详尽设计和具体实现REF_Ref7859\r\h[3]。1.4论文的组织与结构本论文主体部分由六部分组成,各部分作用分别为:第一部分:绪论。本章介绍本项目的研究背景,通过分析国内外已系统来陈述本项目相关的国内外研究现状,最后对本文的主要工作作出介绍。第二部分:本商城系统项目涉及的相关技术知识和技术。第三部分:整个网络购物商城系统的概要设计和规划,包括系统各个模块的功能带有UML图展示,数据库设计等。第四部分:各个功能和数据库详细设计与实现。第五部分:总结全过程,讲述了一下整个系统在开发过程中的想法遇到的问题以及解决方式和心得,还客观性的对本系统进行一个全面的评估、项目成功用于实际意义的阐述以及未来工作。第六部分:小结。本章是对项目工作的总结。
2系统开发的核心技术简介2.1JSP技术JSP技术是能够实现将后端数据动态显示于前端网页的开发技术。它在网页中加入自己的JSP标签,而开发者需要将Java代码嵌入其中,这样就可以简单的实现前端界面。我们通常使用<%%>来包围我们的Java代码,这种标签的应用很多。正因为入此jsp可以作为一个servlet在web应用中来实现界面的功能。人们编写JSP时常常会结合其他的元素比如XML等来结合在一起使得其功能更加强大。每当我们创建动态网页时,JSP就通过网页内的输入框或者表单,在用户填入数据后,传到控制层以向下访问数据库。随后一个网页就可以使用了。JSP标签有的功能还很多,它还有很多强大的功能:它不仅可以访问Beans,还能够传递信息到不同网页甚至共享REF_Ref8460\r\h[4]。总结一下来说,我们可以通过使用JSP实现最复杂的应用,用的还是最简单的方式REF_Ref8516\r\h[6]。2.2Servlet技术要想实现JSP,必须先应用Servlet,这是JSP的基础,JSP需要被编译成为Servlet,才能够运行。Servlet就像卖房的中介一样它作为一个中间层,运行在Web服务器之上,而它的客户就是浏览器,它的供应商就是数据库就如上面所提到的。当我们想要动态实现网页的时候,jsp就作为一种Servlet。它不断的收集来源于网页上的输入数据,还能查询数据库里面的数据,通过信息的不断交流传递来实现一个动态网页的创建。REF_Ref8878\r\h[7]为什么使用Servlet,对于其他CGI等Servlet的性能会更好。因为Servley是用Java编写的,所以Servlet就不会受到各类平台的限制,不会因为在某台机器上就会受到攻击而使得丢失资源。除此之外,Servlet可以毫无禁忌的去使用Java上的类库,这里面所有的功能对它都是开放的。你以为Servlet的交互就到此为止了?其实还远远不止RMI机制的存在让他更加强大,在这种机制的存在下Servlet通过sockets可以与其他的软件进行更多的信息交互REF_Ref8460\r\h[8]。2.3SpringMVC技术Spring框架是让整个系统开发起来最为舒服,操作的也是最为简便的,很符合本系统的开发初衷。Spring通过Bean的配置实现了EJB的功能。但是功能强大的Spring不仅在开发服务器端的领域领先REF_Ref8349\r\h[9]。Spring的优势绝不只体现于一个单纯的简单性,它使得整个系统具有了高内聚低耦合的高性能特点,整个系统功能模块独立且清晰,Spring的强大之处远不止步于“服务”过程,它甚至提供了“售后”处理,Spring配套有测试功能让你能够时刻检验自己编写的功能。对于Spring的优良特性,总结有以下几点:(1)非侵入式:我们在使用Spring进行开发时候,我们没必要去强求应用对象去依赖Spring内的API(2)依赖注入:说到Spring的IOC反转控制的实现的最好方式就是采用依赖注入(3)面向切面编程:AOP能使得开发更加清晰简便(4)容器:Spring像一个盆一样,里面会装有很多应用的对象,这些对象的生命周期都要被整个容器管理,Spring作为容器承装控着这些对象,当我们的功能需要的时候,就从容器中取,十分简便。(5)组件化:每一个复杂的工程里面都是由一个个简单的小组件构成的,而Spring就实现了这一点,在Spring通过在XML文件内进行配置和带着Java注解进行开发来使得容器内的对象一个个组合在一起形成强大的功能。MVC这种设计模式其实就是代表了3个东西:模型-视图-控制器。这三个东西各自执行自己的任务,并且互相传递信息和数据。MVC的处理流程如图:图2.1MVC流程SpringMVC设计模式就是将以上所说的三个组件利用Spring的组件化功能特点组合成一个十分强大的web框架,而现在一些企业在进行web开发的时候选择的主流框架之一也是这个。REF_Ref9097\r\h[10]SpringMVC这一整个设计模式最重要的就是一个注解,它将整个MVC中的各个层都用注解的方式标在上方,这样就不用去实现接口内的函数,这里面POJO就作为一个控制器去处理那些来自前端的请求。并且基于Servlet实现,方便运行于常用JavaEE容器REF_Ref8516\r\h[11]。2.4JQuery和JSTL技术jQuery作为一个的函数库来说,真的很适合前端编程,它需要编写的内容不多,但实现的功能远比你想到的要多,我们在开发系统的时候使用这种简练的函数库进行模式开发就大大减少开发难度REF_Ref8878\r\h[12]。jQuery库内功能很强大,基本包含了前端所需的所有功能,不仅如此,jQuery还提供了一系列的插件来供给使用者来使用。JavaServerPagesStandardTagLibrary也就是我们在JSP中常用的JSTL库,他让我们在JSP中编写代码变得更加自由和简便。这一项简单的标准,可以让我们像写后端一样规整的去编写缭乱繁杂的前端。而对于像本系统一样的web开发项目,JSTL也是常客。我们不需要在整个页面上镶嵌繁杂的JAVA代码程序而是用JSTL来取代它,这样的做法让我们在查看页面代码和维护页面的时候提供了巨大的便利REF_Ref8940\r\h[13]。而它之所以称之为标准标签库,肯定也不局限于JSP内,它的应用领域范围很广,哪怕是进行数据库查询也是可以的REF_Ref8911\r\h[14]。2.5JDBC技术JDBC作为一个API需要连接到系统的数据库,并对其中的SQL语句进行操作,执行出需要的增删改查操作。REF_Ref15746\r\h[15]JavaAPI是接口,其实现类由各数据库厂商提供实现,这些实现类就是"驱动程序"。而本系统则使用自己写的JDBCutils进行使用有效减少了重复代码REF_Ref15873\r\h[16]。考虑到整个系统的硬件设备性能问题,我们不能频繁的进行JDBC的连接,否则对整个系统资源的消耗是极大的。假如我们每一次打开项目运行之前我们都去获取一个数据库连接,并且在使用完后就关闭,再用再开,用完就关,这样频繁性的物理性操作都会损伤整个系统的性能REF_Ref8940\r\h[17]。为了应对上面发生的不恰当措施,我们可以采取这样的操作方式来有效的提升整个系统的可运作率:我们在启动整个系统也就是应用程序的时候,我们开一个也是开,开十个也是开,所以我们要在这个时候建立起一个足够我们使用的数据库连接,而且我们建立完成后还要把他们放到一起,建立一个“城池”只要有人要用到数据库我们就借一个给他,使用完后也别关闭,还归还到“城池”里面就行。这样我们就不会造成对系统性能的损伤,还能保证我们应用程序的使用REF_Ref9214\r\h[18]。2.6本章小结综上所述本系统在总结了各个技术的优略势后,选择了最适合本系统的技术进行开发,同时也结合了以往的知识对现在进行了一个总和和整理。在拥有良好的技术支持和合适的开发环境的条件下,在之后的系统设计会顺利很多。
3系统分析与设计该章节对本商城系统的概要设计进行分析和设计进行详细的文字描述和模型描述。3.1系统需求分析与建模3.1.1系统需求概述根据前文对当前网络商城的分析,大型商城虽然用户量很广,服务和质量水平也适中,但是获利最多的还是本家企业,入驻的店家会被攫取很多利润,这也向很多中小企业以及个体私户提供了更多的商机,他们需要一个可以自己掌控的轻便平台。而本系统则为这些用户提供了便利,拥有一定的市场,并且同时要保证网站的安全性,以保护用户的隐私,无论是什么交易,安全总是第一位的。所以本系统需要做到保证每一位用户的账号安全性的情况下,实现用户的自由贸易。3.1.2系统数据分析根据上方对整个系统需求和各种技术的综合分析,MySQL作为一个轻便的数据库开发工具,是很适合本系统的。根据功能模块的设计,整个系统的E-R图设计如下所示:图3.1系统E-R图根据整个系统的功能设计以及E-R图设计所规划的主要实体有以下几个,分别通过实体图进行展示。各个实体具体的描述属性图如下、(1)用户实体图3.2用户实体图(2)分类实体图3.3分类实体图(3)商品实体图3.4商品实体图(4)订单实体图3.5订单实体图(5)评论实体图3.6评论实体图(6)购物车实体图3.7购物车实体图3.1.3系统功能分析本网上购物商城系统主要功能如下:(1)买家(用户):注册和登录:用户通过注册成为系统的会员,并且在登录后能使用买家的相关权限;查看商品信息:用户或者游客都可以访问商品的详细信息,其中支持商品分类多级展示、关键词搜索、商品详细信息查看等;购物车:购物车可以零时存放用户看中的货物,以便一次性的对多个商品进行购买;提交订单:用户在进行商品的购买时,就会以提交订单的形式来完成;个人中心:用户登录系统后在个人中心可以实现对个人相关信息的各种编辑,包括:个人昵称头像修改、收货地址物流管理、评价过的商品以及评论信息的增删改查、订单管理。(2)卖家(管理员):客户管理:卖家(管理员)可以管理已注册用户的相关信息;商品管理:卖家(管理员)可以管理上架商城的商品的详细信息以及整个系统所提供的关键字以及标签商品分类信息;订单管理:查看和管理用户提交的订单;评价管理:可以查看用户对于商品的评价,并进行相应的管理;销售金额的统计和展示:可以对某一时间段内的销售金额的具体情况进行统计和展示。综合分析我们系统所需的功能,可以清晰的画出整个系统以及各个模块还有各个模块之间的关系:图3.8功能模块图接下来是对该系统的整个业务流程进行分析,因为整个系统的角色主要分为买家(用户)与卖家(管理员),下面就从买家和卖家的角度来对整个系统的流程进行分析。买家(用户)用例和流程如下图所示:图3.9用户用例图图3.10用户流程图卖家(管理员)用例和流程如下图所示:图3.11管理员用例图图3.12管理员流程图3.1.4系统行为分析(运行环境)分析本商城系统的开发是在Tomcat环境下进行的。操作系统:WindowsXP以上版本。服务器软件:Tomcat6.0以上版本。浏览器:IE、FireFox、GoogleChrome。3.1.5系统性能分析本系统运行条件简单,不需要很高的硬件配置,软件条件也是随手可得,并且本系统易维护,性能条件良好3.2系统设计与建模3.2.1系统设计概述本系统整合了SSM框架,除了一些Web项目的通用功能外,主要针对买家(用户)与卖家(管理员)两种角色。其中前端使用用户功能包括:商品多层标签的检索栏的分级显示、根据关键词检索商品、商品详细信息的查看、商城基本的user的分类和注册登录、收藏心仪商品、用户添加修改购物车、用户在购物车界面进行订单下单、用户个人中心内的信息编排、用户修改添加商品订单的收货位置、在商品详细页面下方的对商品的评论管理等。后台部分的管理商城的管理员功能有:商品的关键词分类管理、商品详细信息的编辑与上架管理、用户的订单管理、商品下的用户评价回复和删除、商品的销售统计展示等。3.2.2系统数据(库)设计(要求有数据库模式,或数据类图)根据设计除的E-R图将其转化设计为数据库:数据类图如下图3.13数据库类图本系统数据库表如下:user表表3.1user表字段名称数据类型主键是否空说明idint(11)YN用户IDusernamevarchar(32)NN用户名passwordvarchar(32)NN密码roleIdint(11)NN角色IDphotovarchar(128)NN照片地址sexint(1)NN性别ageint(3)NN年龄addressvarchar(128)NN地址product_category表表3.2product_category表字段名称数据类型主键是否空说明idint(11)YN分类IDparentIdint(11)NN父类IDnamevarchar(128)NN名称tagsvarchar(32)NN标签rmarkvarchar(128)NN备注product表表3.3product表字段名称数据类型主键是否空说明idint(11)YN商品IDproductCategoryIdint(11)NN分类IDnamevarchar(128)NN商品名称tagsvarchar(32)NN商品标签imageUrlvarchar(128)NN图片地址pricefloat(8,2)NN价格stockint(8)NN库存sellNumint(8)NN销售数量viewNumint(8)NN浏览次数commentNumint(8)NN评论数contenttextNN内容createTimedatetimeNN创建时间orders表表3.4orders表字段名称数据类型主键是否空说明idint(11)YN订单IDsnvarchar(32)NN订单编号userIdint(11)NN买家IDaddressvarchar(128)NN买家地址moneydouble(8,2)NN价格productNumint(5)NN产品数量statusint(2)NN订单状态remarkvarchar(128)NN备注信息createTimedatetimeNN创建时间comment表表3.5comment表字段名称数据类型主键是否空说明idint(11)YN评论IDproductIdint(11)NN产品IDuserIdint(11)NN用户IDtypeint(2)NN评价类型contentvarchar(512)NN内容createTimedatetimeNN创建时间cart表表3.6cart表字段名称数据类型主键是否空说明idint(11)YN购物车IDuserIdint(11)NN用户IDproductIdint(11)NN创产品IDnamevarchar(128)NN名称imageUrlvarchar(128)NN图片地址pricefloat(8,2)NN价格numint(8)NN数量moneydouble(8,2)NN总额createTimedatetimeNN创建时间favorite表表3.7favorite表字段名称数据类型主键是否空说明idint(11)YNIDuserIdint(11)NN用户IDproductIdint(11)NN产品IDnamevarchar(128)NN名称imageUrlvarchar(128)NN图片地址pricefloat(8,2)NN价格createTimedatetimeNN创建时间3.2.3系统软件构件设计本系统是基于ssm进行功能设计的系统,所以整个系统功能通过controller,dao,service进行实现,如图所示:图3.14系统构件图整个系统的部署后的流程如下所示:图3.15系统部署图3.2.4系统用户界面设计关于的商城的界面是一定要能简则简来进行设计的。本来商城内商品种类就繁多,用户所需的东西也不是大部分,一定要给用户一个轻松简介的商品界面,所以我们开始将整个功能菜单放到顶部,下面接一些当季热销的商品,底下再接一些小商品,让重点突出,也不会让用户眼花缭乱。系统界面原型设计图如下:图3.16界面原型图3.2.5系统构件级设计本系统的实体类之间的关系如图所示:图3.17实体类关系图3.4本章小结本章主要阐述了本系统的需求和整个系统的设计及其功能,用图表来直观的展示整个系统的框架。
4系统实现本章节主要展示整个商城系统的主要功能的具体实现,将会通过一些代码的展示来阐述4.1实现环境与工具的简要说明本系统采用的开发工具主要有eclipseIDE,MySQL5.7,tomcat8.5。4.2主要程序模块描述4.2.1ssm框架的整合因为该系统使用是Tomcat8.5服务器。首要的就是去配置整个项目的XML文件这样整个整个系统就可以一劳永逸,不用再繁琐的进行实体化,以下是web.xml文件的相关配置代码:SpringMVC核心配置文件是applicationContext.xml,该文件是对系统功能的bean配置,这其中包含了Spring很重要的功能注解,还有一些其他的功能。以下就将展示对SpringMVC的核心文件ApplicationContext.xml的配置。其中这里面的perties配置有JDBC连接的数据库和连接池。然后扫描mapper包进行注入。然后是springmvc.xml文件的配置。作为网页当然少不了文件的上传处理。4.2.2有关商品的功能实现系统通过接受前端发出的请求,后端的控制器接收进行处理,最后在服务层进行数据库的连接实现对商品的各种处理其中包括:获取商品列表,条件列表查询,商品添加,商品删除,商品编辑等。比如商品的列表展示:在服务层对数据库进行查询还有商品的分类:我们可以通过对商品的ID进行查询,像如此的条件查询还有很多这其中包括对商品的添加删除修改,这里不再过多展示。4.2.3用户相关功能每个用户可以进行注册登录后即可对商品进行操作主要有以下功能:添加用户,编辑用户,删除用户等功能。登录注册功能如下: 在登录后我们会对用户输入的账号密码进行传输和保存,并保证账号密码的安全性。登录后我们可以对用户进行角色修改有些可能会设计管理员权限。管理员可以对角色进行权限设置:比如增加一些权限4.2.4有关评论的功能实现每一个商品下消费用户可以进行评论,管理员也可以对用户进行回复。比如对评论进行编辑操作:4.2.5有关菜单的功能实现用户在进行检索时会有一些关键词提供选择,这些菜单有一定的规划效果,我们也可以对菜单进行增删改查操作,比如修改:4.2.6有关订单的功能实现这一部分功能跟商品所拥有的功能类似,当我们需要查看自己的购买记录时,便进行查询操作:4.2.7用户的首页商品推荐功能实现本系统在对用户进行商品推荐是根据用户所购买过的商品和在购物车内的的商品进行数据库内所有商品的匹配,向该用户推荐一些可能会喜欢的商品在首页。为了减轻多次JDBC连接带来的数据库负担,本系统使用了session的方法来实现购物车内商品的添加,利用Session里Cookie和附加URL参数,将请求的详细状态信息传递到接下来的请求中,不仅如此还会将整个状态保存在服务器端,当我们想让一个商品籍加入购物车时将会调用Controller层中的下面这个方法,传入的参数是商品的id。REF_Ref15994\r\h[20]然后转到Service层,先在Service层写一个获取购物车中商品列表的类,将商品放置其中:这样商品在购物车内就只会向该CurUser当前用户的后端传一个GoodId,并结合购买记录的商品Id在Good中进行搜索并返回一个排名较前的itemlist,并将该itemlist传至前端在首页显示。这个功能在具体展示在网页上的效果就是,当我们在未登录状态下进入本综合网上购物商城系统的时候,整个商城的首页大字报推荐是根据季节或者节日进行推荐,这部分会由管理员定期进行更换。而位于大字报底下分别有两列展台:热销推荐,这部分是由后端系统对订单量进行统计,计算出的销量排行榜,然后由高到低依次进行罗列。新品推荐,这部分是根据数据库内商品的入库时间进行排序,将商品由新到旧依次进行罗列。以上讲述的就是未登录的场景,当我们用户注册登录后,在没有选择自己的商品即我们没有进入购物车功能的时候,我们的商城推荐还是按照正常推荐进行推荐。而当我们选中商品的时候,也就是购物车内存在商品的时候。系统会向数据库传一个tag也就是你购物车内商品所带的tag,后端会对你这个tag进行搜索,搜索得到的list。而这个list会反馈到index.jsp进行首页推荐的重置。而这样的操作会导致一个问题就是,页面重新回到首页之后是一个重置状态,我们的登录信息会被抹掉,这个时候采用了Ajax的异步请求使用windows.location来记住当前用户的状态。这个时候用户再次返回到首页的时候,就可以发现下面的热销和新上架商品发生了变化。这时的热销商品会按照你购物车内的商品的tag检索出的商品再进行一个销量排序,并且当你的tag商品占不满展示空间的时候,会由之前的总商品销量进行一个排序补齐空缺。4.3系统运行根据以上代码和设计,接下来展示实际系统运行的效果图:商城首页:商城的首页是由一个商城logo在左上角顶部放置有一个搜索框给用户进行自由搜索,借鉴到淘宝的风格,本系统在大字报推荐左边放置了系统制定的所有tag检索关键词,底下就是热卖的商品展示和新上架的商品展示。图4.1首页图前端登录:图4.2登录图关键字检索图4.3检索图自定义检索:图4.4自定义检索图商品详情:图4.5商品详情图后端登录:图4.6后端登录图后端界面:图4.7后端界面图商品管理:图4.8商品图订单管理:图4.9订单信息图用户管理:图4.10用户管理图4.4本章小结本章节较为系统具体的讲述了本系统的主要功能的实现和逻辑关系,使整个系统更加清晰。
5系统测试系统的功能基本实现之后,对设计好的功能进行测试,检查除系统中还可能存在的Bug,通过测试,来完善整个系统并且可以在测试过程中不断提高系统功能的上限,要求测试后的软件各模块基本功能可以顺利进行,尽可能的提高软件的可用性。除此之外,还有对系统的性能进行测试。5.1测试目的和内容本系统是一个web的系统,所以要考虑兼容性问题,我们选择了有针对性的两个问题进行测试管理员登录功能测试:我们在登入系统时必须保证我们必须先经过登录系统才行,而且其中的验证码工具会不会出现问题。我们进行所有操作之前必须先进行登录操作,在数据库中匹配到账号密码情况下才能进入,如果错误或没用就要出现弹窗就会出现弹出框,提示问题。搜索功能测试:我们进行搜索时大多数进行的是模糊查询,系统能否对每一次查询都做出回应,以及无查询结果时应该做出的反应都是我们要考虑的。性能测试:我们对网站运行时的性能进行多方面的考量,对其承载量和前后端能否同时运作进行了测试。5.3测试运行和测试记录5.3.1用户登录测试表5.1用户登录测试用例表功能特性消费者即用户的登录商城测试目的验证前端数据输入是否能匹配后台数据测试数据注册用户的账号:lhtlht数据库内密码:admin验证码:由utils工具随机生成测试编号具体操作描述输入的数据系统正常得到的结果实际结果结果分析1依次按照网页账号密码框输入测试指定的账号,密码和随机生成的验证码,进行登录操作测试用户账号输入框内输入lhtlhtlht,密码输入框进不进行填写在输入密码和账号的上方显示未填入密码并将密码和账号输入框标红在输入密码和账号的上方显示未填入密码并将密码和账号输入框标红符合预期2依次按照网页账号密码框输入测试指定的账号,密码和随机生成的验证码,进行登录操作测试用户账号输入框内输入空值密码输入admin在输入密码和账号的上方显示未输入账号并将密码和账号输入框标红在输入密码和账号的上方显示未输入账号并将密码和账号输入框标红符合预期3依次按照网页账号密码框输入测试指定的账号,密码和随机生成的验证码,进行登录操作测试用户账号输入框内输入lhtlht密码输入admin进入商城主页进入商城主页符合预期4依次按照网页账号密码框输入测试指定的账号,密码和随机生成的验证码,进行登录操作测试用户账号输入:admin,密码输入123456验证码正确输入在输入密码和账号的上方显示输入的信息有错误并将密码和账号输入框标红在输入密码和账号的上方显示输入的信息有错误并将密码和账号输入框标红符合预期5依次按照网页账号密码框输入测试指定的账号,密码和随机生成的验证码,进行登录操作测试用户账号输入:lhtlht密码输入admin验证码:1111(验证码为x2y6)在输入验证码的text框的上方显示输入的信息有错误并刷新验证码在输入验证码的text框的上方显示输入的信息有错误并刷新验证码符合预期5.3.2商品模糊关键词查询表5.2模糊关键词查询表功能特性模糊查询测试目的查询功能是否完善测试数据数据库中有洗发水,发簪,护发素,测试编号具体操作描述输入的数据系统正常得到的结果实际结果结果分析1在搜索栏目中键入关键词关键词“发”出现洗发水,发簪,护发素等商品出现洗发水,发簪,护发素等商品符合预期2在搜索栏目中键入关键词关键词“洗发水”出现洗发水出现洗发水符合预期3在搜索栏目中键入关键词关键词“发簪”出现发簪出现发簪符合预期4在搜索栏目中键入关键词关键词“护发素”出现护发素出现护发素符合预期5在搜索栏目中键入关键词关键词“头发”出现洗发水,发簪,护发素等商品无检索结果不符合预期针对该5号测试我们增加了对关键词进行整体查询后无结果,再进行单字符查询的功能,完善了系统。5.3.3系统性能测试表5.3系统性能测试表功能特性键词系统性能测试测试目的查看系统性能测试数据买家从进入商城到下完订单一个完整的流程管理员从登录后端到解决用户的订单发货的完整流程测试编号具体操作描述响应大概时间系统正常得到的结果实际结果结果分析1一位买家和一位管理员同时进入网页进行操作1秒内双方都能快速进行事务,网页响应较快,后台能快速接收前端订单。双方都能快速进行事务,网页响应很快,后台能快速接收前端订单。符合预期2五位买家和一位管理员同时进入网页进行操作1秒-2秒各方都能快速进行事务,网页响应较快,后台能快速接收前端订单。双方都能快速进行事务,网页响应相比之下较快,后端响应订单也比较快基本符合预期3一位买家和五位管理员同时进入网页进行操作1秒内双方都能快速进行事务,网页响应较快,后台能快速接收前端订单。双方都能快速进行事务,网页响应较快,后台能快速接收前端订单。符合预期4五位买家和五位卖家同时进入网页进行操作3秒-4秒双方都能快速进行事务,网页响应较快,后台能快速接收前端订单。双方都能快速进行事务,网页响应较慢,后台不能很快接收前端订单。不符合预期有测试结果分析可得,网站性能有待提高。5.4测试结果分析本次测试结果比较符合预计,本系统的功能还算完善。5.5本章小结本章对系统进行了一次很好的测试,虽然还是有一些小问题,但是总体功能能流畅实现。
6工作总结和心得体会6
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年设备工程师职业资格考试《设备安装与维护》备考题库及答案解析
- 2025年护理学专业资格考试《病理生理学》备考题库及答案解析
- 清洁服务2025年合同协议模板
- 配送服务2025年时效承诺合同协议
- 临时工聘用合同协议2025
- 酒店管理运营合作协议2025年内容
- 2025年混合式培训模式应用考试试题及答案
- 外贸进口买卖合同范本
- 商铺空位出租合同范本
- 土地去沙经营合同范本
- 《急性主动脉夹层合并冠心病的诊断与治疗策略中国专家共识》节选
- 创伤失血性休克中国急诊专家共识(2023)解读
- 双作用液压缸浮动缓冲装置的设计
- 第二课中国服装发展史
- 英语考级-a级词汇完整版
- 水电站空气围带更换检修工艺及方案
- 药物外渗的预防与处理
- 青少年社会工作
- 工作价值观测试(WVI量表) 完整版
- GB/T 6672-2001塑料薄膜和薄片厚度测定机械测量法
- Unit 4 Understanding ideas (Click for a friend) 公开课课件【知识建构+备课精研】高中英语外研版(2019)必修第一册
评论
0/150
提交评论