基于Java的京东电商系统的设计与实现_第1页
基于Java的京东电商系统的设计与实现_第2页
基于Java的京东电商系统的设计与实现_第3页
基于Java的京东电商系统的设计与实现_第4页
基于Java的京东电商系统的设计与实现_第5页
已阅读5页,还剩46页未读 继续免费阅读

下载本文档

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

文档简介

基于Java的京东电商系统的设计与实现摘要:近十多年来,因为移动互联网发展迅猛,除了通常的查阅网页,搜索数据和发送电子邮件外,大多数国内网民还将采用以下传统功能,如购物,电信,旅游和娱乐我逐渐习惯了互联网。包括使用在线购物在内的新服务模式正在成为人们生活中一种重要的购物形式。互联网的发展迅猛,是网上购物系统发展的基础。除此之外,网络购物营商环境也在逐渐的在改善。移动互联网设备(手机,平板电脑)使互联网用户越来越多。付款和结算方式变得更加容易,快递物流变得越来越顺畅,相应的法规和政策也越来越完善。近10年来,网络购物对人们越来越有吸引力。从一开始的,人们不理解人们对在线购物的看法,从问题到逐渐信任,从拒绝到逐渐接受和熟络。关键词:Java,网络购物

DesignandimplementationofJDe-commercesystembasedonJavaAbstract:Inthepasttenyears,becauseoftherapiddevelopmentofmobileInternet,inadditiontotheusualaccesstowebpages,searchdataandsende-mail,mostdomesticInternetuserswillalsousethefollowingtraditionalfunctions,suchasshopping,telecommunications,tourismandentertainment.IamgraduallyusedtotheInternet.Thenewservicemodeincludingonlineshoppingisbecominganimportantformofshoppinginpeople'slife.TherapiddevelopmentofInternetisthebasisofthedevelopmentofonlineshoppingsystem.Inaddition,onlineshoppingbusinessenvironmentisalsograduallyimproving.MobileInternetdevices(mobilephones,tabletcomputers)makemoreandmoreInternetusers.Paymentandsettlementmethodsbecomeeasier,expresslogisticsbecomemoreandmoresmooth,andthecorrespondinglawsandpoliciesbecomemoreandmoreperfect.Inthepast10years,onlineshoppinghasbecomemoreandmoreattractivetopeople.Fromthebeginning,peopledidn'tunderstandpeople'sviewsononlineshopping,fromproblemstotrust,fromrejectiontoacceptanceandfamiliarity.Keywords:Java,Onlineshopping目录第1章系统概述 系统概述系统开发背景2018年12月止,电子商务直接雇员(包括电子商务平台,初创公司,服务提供商,电子商务经销商等)人数已经不止350万,号码(物流,市场营销,培训,直播等)已不止3000万。因此世界各国政府也采取了积极促进电子商务产业发展的政策,从而提供了大量的就业机会和平台。因为电子商务行业的发展,经济地位也在逐渐升高,在这种情况下,本文设计并开发了一个在线在线购物系统。系统特点基于Java流行开源技术构建:使用业界流行的开源技术搭建,框架本身也完全开源,做到真正的技术开发。基于SOA架构设计:以SOA架构风格构建,具有清晰的模块界限、服务独立部署和技术多样性的能力特点。满足Web和分布式应用开发:框架以适应经典的的MVC架构和分布式大型应用开发为设计目标,两种风格的开发和部署无缝切换。

项目开发相关技术基础Java语言Java是由Sun公司推出的一种高级的面向对象的程序设计语言,也是一种跨平台的程序设计语言[1]。因为Java跨平台的特性,所以可以兼容企业和Internet,Java是目前Internet中最受欢迎、最有影响力的编程语言之一[2]。利用Java语言编写的程序代码在经过编译之后会转换成Java字节码,Java虚拟机(JVM)将会对这些字节码进行解释和运行[3]。编译过后的字节码将以机器码的形式来保存,虚拟机可以把字节码解释成机器码,最后在计算机上运行。如图2.1所示。图2.1JAVA运行过程MVC模式MVC是一种先进的软件开发的设计模式,它把应用程序分成三个核心模块,模型层(Model)、视图层(View)、控制器(Controller),它们各自处理自己的任务,相互协作,实现Web系统的职能分工[4]。另外,MVC模式通过简化复杂性使程序的结构更直观,如图2.2所示。图2.2Java代码的编译以及运行的过程SOA架构设计SOA的服务的理念思想,本质是一种业务和技术的完全分离,业务又能和技术自由的组合的思想。它达到了目前软件设计思想的最高境界[6]。SOA架构系统根据模块分为几个子系统。Spring概述Spring一个轻量级的Java开发开源框架。它的设计考虑到了开发业务应用程序的复杂性,简单来说,Spring是一个具有多个JavaSE/EE级别的多层开源框架。Mybatis概述MyBatis是持久性级别的绝佳框架。封装了JDBC数据库的工作流,因此开发人员仅需专注于SQL本身,而不必花费精力进行诸如注册驱动程序,创建连接,创建语句和设置参数指南,JDBC复杂过程代码作为结果集检索的处理。SpringMvc概述SpringMVC是功能强大且灵活的SpringWeb框架。借助注释,SpringMVC提供了几乎是POJO的开发模型,并促进了控制器的开发和测试。JavaWeb开发技术JavaWeb技术的广泛使用,使得各种信息化系统越来越功能强大又便于用户使用[9]。JavaWeb技术主要是指JSP/Servlet。本系统中使用Tomcat用作该系统上的Web服务器,本节介绍用于Web开发的客户端技术。JSP技术JSP技术使用Java作为脚本语言来为用户HTTP请求提供服务,并且可以与服务器上的其他Java程序一起处理复杂的业务请求,另外JSP可以方便存取可重用组件JavaBean,避免了重复的劳动,提高了效率[12]。Servlet技术JavaServlet技术为WEB开发者提供了一种简便、可靠的机制来扩展web服务器的功能和访问现有的事务系统[10]。Javascript技术尽管JavaScript被称为网站开发的脚本语言,但是它在没有浏览器的许多环境中也被使用。它的目的是与HTML、Javaapplet一起实现在一个WEB页面中链接多个对象并能与客户端动态交互。[5]CSS技术CSS可以精确地在像素级别上控制网页上元素的布局,支持几乎所有字体大小样式,并可以编辑对象和Web模板的样式。当样式需要应用于很多页面时,外部样式表将是理想的选择。[7]AJAX技术Ajax可以创建交互式,快速和动态的Web应用程序。通过与后台服务器交换数据,Ajax可以异步更新网站。在使用AJAX引擎后,用户从感觉上几乎所有的操作都会很快的响应[11]。数据库(Mysql)MySQL是数据库的一种,MySQL是开源的,因此任何人都可以根据通用公共许可证下载并根据需要进行修改以进行自定义。许多人认为MySQL是无需事务处理即可管理内容的最佳选择。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择MySQL作为网站数据库[8]。本章小结本章主要介绍了商城系统开发过程中使用的一些相关技术堆栈,包括Java相关技术,后台开发框架技术和模式,JavaWeb开发技术以及MySQL数据库。背景技术和开发模型包括Spring技术,Mybatis技术,SpringMvc技术,MVC模式和SOA体系结构。JavaWeb使用JSP技术,servlet技术,CSS技术,JavaScript技术和AJAX技术。这些技术被用来为项目的开发奠定基础。

系统整体设计系统功能需求及设计本设计的系统架构为后台系统和前台系统共同组成,前台系统展示的内容通过后台系统添加,后台的系统功能由管理员使用,前台的系统功能给网站用户使用。如下图3-1、图3-2所示。图3-1后台系统架构图3-2前台系统架构商品管理模块商品添加在此商品添加功能下,前台商城系统中商品详情页信息的规格参数模板都能够被管理,做增加、查询、修改、删除规格参数模板操作,便于商品详情页信息的规格参数管理,都设置完成后可以在添加商品中选择需要的参数。商品查询添加商品后,是可以在商品查询界面中进行查询已添加的商品。网站内容管理模块可以在后台商城系统中,对前台商城系统首页中的类目信息、轮播内容进行管理,做增加、查询信息操作。用户模块用户注册游客(未进行登录或注册的买家用户)可以浏览商品、搜索商品,商品购买的操作是不被允许的。买家用户需先确认注册的信息,确认用户姓名和电子邮件格式是否有效后,再由系统确认用户的用户名是否已存在,步骤都完成后即可注册成功。用户登录注册完成后,接下来的操作是输入注册成功的用户信息来登录商城系统,系统根据输入的登录信息验证通过后,即登录成功,买家用户可以使用商品购买、添加购物车等功能操作。商品模块商品搜索在前台商城系统的首页里的商品搜索的输入框中,用户在输入框内输入与所要搜索的商品信息相关的关键字,系统通过集成的Solr搜索引擎,查询搜索到买家用户搜索的商品且展示。商品浏览在前台商城系统首页向登录商城系统的用户显示了商品各式各样信息,买家用户进入系统首页后,点击某一个商品分类,就可以浏览到点击的分类下的全部商品信息。买家用户还可以通过搜索来浏览所搜索的商品信息。商品信息展示查看商品信息时,买家用户是可以在点击中意的商品,此时,系统会根据买家用户点击的连接,跳转到具体的商品信息的WEB页面。在具体的商品信息WEB页面中,商品的具体信息是可以被查看的,比如商品外观的介绍,商品具体的参数,商品数量,买家用户通过查看商品相信信息了解商品,决定是否购买该商品。商品购买在商品信息详情页面,买家用户可以通过点击“加入购物车”,加入到购物车后,在购物车页面进行购买该商品。购物车模块加入购物车商品详情页中,加入购物车的功能是包含在其中的,点击加入购物车功能按钮,被用户点击的商品将加入到购物车中。在购物车的商品信息都会被存入数据库中,买家用户可以通过点击“购物车”小图标,查看购物车中的所有商品的信息。我的购物车购物车的意思是买家用户的商品添加到购物车清单的列表,点击“购物车”小图标,在“购物车”WEB页面中,买家用户可做CRUD的操作。结算结算操作的对象是成功添加到购物车的商品。提交订单点击订单按钮后,即可讲选中的商品信息提交到后台处理返回订单信息。数据库设计数据库概念模型设计概念数据库的设计,实际上是为了面向对象和数据库相结合,更容易分析数据库系统,促进数据库设计者和用户之间的通信。概念包括实体并联系。在该购买系统中,商品例如是其属性包括商品ID的实体。商品的标题,内容描述和其他属性。实体之间有一对一,一对多两种种类型的关联。以下的实体E-R图是该系统主要的实体。(1)商城购物系统的“买家”实体的属性有“买家”ID,“买家”名,“买家”密码,“买家”手机,“买家”邮箱,“买家”类型,“买家”创建时间,“买家”更新时间。如下图3-3所示。图3-3用户实体的E-R图(2)商城系统前台网站内容实体的属性有内容ID,前台网站内容目录ID,标题,小标题,标题描述,存储路径,图片1地址,图片2地址,内容,前台网站内容创建时间,前台网站内容更新时间。前台网站内容实体的E-R图如下图3-4所示图3-4前台网站内容实体的E-R图(3)商城系统前台网站内容目录实体的属性有前台网站内容目录ID,父目录ID,前台网站内容目录名称,状态,排序方式,是否是父级目录,前台网站内容目录创建时间,前台网站内容目录更新时间。如下图3-5所示图3-5前台网站内容目录实体的E-R图数据库逻辑结构设计在网站购物系统中,实体的关系模式主要有以下内容:前台网站内容:内容ID,前台网站内容目录ID,标题,小标题,标题描述,存储路径,图片1地址,图片2地址,内容,前台网站内容创建时间,前台网站内容更新时间。前台网站内容目录:前台网站内容目录ID,父目录ID,前台网站内容目录名称,状态,排序方式,是否是父级目录,前台网站内容目录创建时间,前台网站内容目录更新时间。商品信息:ID,标题,卖点,价格,数量,条形码,图片地址,所属目录,状态,创建时间,更新时间。商品目录:商品目录ID,父目录ID,目录名称,状态,排序方式,是否是父级目录,商品目录创建时间,商品目录更新时间。商品详情:商品主键ID,商品详情,商品详情创建时间,商品详情更新时间。商品参数:商品参数ID,商品ID,商品参数数据,商品参数创建时间,商品参数更新时间。订单:ID,昵称,买家用户ID,订单总费用,订单创建时间,订单关闭时间。订单详情:ID,商品主键,数量,标题,单价,总费用,图片路径。“买家”表:“买家”ID,“买家”名,“买家”密码,“买家”手机,“买家”邮箱,“买家”创建时间,“买家”更新时间。数据库物理设计在数据库当中,系统的设计与实现的一个重要部分是数据表。如下是该网站商城系统中数据库中几个重要的数据表设计的结构。前台网站内容表为系统网站内容动态信息的数据库表,用于存储系统前台网站页面信息。如下表3-1所示。表3-1前台网站内容表字段名称字段类型字段长度是否可为空默认值字段描述idbigint(20)20NO空主键IDcat_idbigint(20)20NO空目录IDbiaotivarchar(200)200YES空标题sub_biaotivarchar(100)100YES空副标题biaoti_descvarchar(500)500YES空标题描述urlvarchar(500)500YES空地址tu_pianvarchar(300)300YES空图1tu_pian2varchar(300)300YES空图2nei_rongtext一YES空内容crt_datedatetime一YES空创建时间upd_datedatetime一YES空更新时间商品信息表为系统网站商品信息的数据库表,用于存储商品信息。如下表3-2所示。表3-2商品信息表字段名称字段类型字段长度是否可为空默认值字段描述idbigint(20)20NO空主键IDbiaotivarchar(100)100NO空商品标题sell_pointvarchar(500)500YES空商品卖点jia_gebigint(20)20NO空商品价格numint(10)10NO空商品数量tiao_mavarchar(30)30YES空商品条形码tu_pianvarchar(500)500YES空商品图片cidbigint(10)10NO空商品目录IDzhuang_taitinyint(4)4NO1商品是否在销售crt_datedatetime一NO空商品创建时间upd_datedatetime一NO空商品更新时间订单表为系统网站用户下的订单信息数据库表,用于存储系统订单的信息。如下表3-3所示。表3-3订单表字段名称字段类型字段长度是否可为空默认值字段描述idbigint(20)20NO空订单主键IDbuyer_nickvarchar(50)50NO空昵称buyer_idbigint(20)20NO空买家用户IDtotal_feebigint(50)50NO空订单总费用crt_date_timedatetime一NO空订单创建时间closed_timedatetime一YES空订单关闭时间系统界面设计系统页面使用JSP提供的标签库以及JavaScript,jQuery和CSS技术设计。JSP页面包含主要用于转换阶段的说明元素和脚本元素提供有关JSP页面和脚本元素的信息,这些页面和脚本元素允许JSP分离静态和动态内容分离出来。使用JSP标签库和CSS技术来设计页面,JavaScript和jQuery技术提供的Web样式为网站添加动态功能,使设计的网站不仅具有出色的样式,而且还适合于后台系统数据交互。本章小结本章主要介绍该商城系统的系统功能需求、系统功能设计、数据库设计、系统界面设计,通过文字、表格、图片详细描述了各部分的设计内容。

系统实现系统框架实现该系统集成了Mybatis框架来对JDBC操作进行了封装,方便了对数据库进行操作。在perties中配置了数据库连接信息,如图4-1所示。在applicationContext-dao.xml中配置了Spring框架整合Mybatis配置信息,如图4-2所示。图4-1数据库连接信息图4-2Mybatis配置信息该系统集成了springmvc框架来对视图层进行了渲染。在springmvc.xml配置了视图层配置相关信息,如下图4-3所示。图4-3springmvc配置信息网站商品管理模块实现网站商品管理模块主要有新增商品、查询商品功能。用户在模块中新增所需要的商品。新增后可在商品列表中,查询商品的信息。商品添加在界面上填写完表单后,通过AJAX的POST请求,把前台界面的商品内容信息提交到后台,在后台中实现逻辑保存逻辑,并把提交的信息保存在数据库中。如下图4-4所示。图4-4新增商品内容填写界面逻辑代码如下:spMapper.insert(tbSp);spDescMapper.insert(tbSpDesc);spParamSpMapper.insert(tbSpParamSp);商品查询添加商品成功后,可在列表中查询到商品的相关信息,列表中使用了mybatis的分页插件,用户可根据自己的需要选择每页显示多少条信息。如图4-5所示。图4-5商品查询界面后台逻辑代码如下:PgHelper.startPg(pg,rows);TbSpExampleexample=newTbSpExample();List<TbSp>ls=spMapper.selectByExample(example);PgInfo<TbSp>pgInfo=newPgInfo<>(ls);网站内容管理模块实现可在网站内容管理界面,对商城首页的模块内容进行新增、查询。在模块中添加相应的内容,添加成功后,即可在商城系统的前台首页中展示添加的内容。首页内容新增在首页内容管理界面中,可通过选择内容管理的模块,后点击新增按钮新增内容。如图4-6所示。图4-6首页内容新增界面后台代码如下所示:nr.setUpdated(newDate());nr.setCreated(newDate());nrMapper.insert(nr);首页内容查询成功添加首页内容后,可在分类列表的查询界面中,查看添加的首页内容信息。如图4-7所示。图4-7首页内容查询界面后台代码如下所示:if(ls!=null&&ls.size()>0){ EasyUiDataGridRsrs=newEasyUiDataGridRs(); rs.setRows(ls); rs.setTotal(pgInfo.getTotal()); returnrs; }用户模块实现用户进入商场系统前台首页后,可通过点击按钮进行登录或注册操作。用户注册成功后,可在登录页面填写用户信息,即可成功登录到网站的前台首页中。用户注册用户点击注册功能按钮时,跳转到注册界面,填写完注册的信息后,通过ajax请求,将用户填写的注册信息提交到后台,保存到数据库中。如图4-8所示。图4-8用户注册界面后端代码如下:YHyh=newYH(Json.format(json));yhMapper.insert(yh);用户登录用户注册完成后,可通过注册成功后的页面跳转或者在系统前台点击登录按钮,进入用户登录界面进行登录。如图4-9用户登录界面所示。图4-9用户登录界面前端代码如下:$.post("/user/login",$("#formlogin").serialize(),function(res){if(res.status==200){alert("登录成功!");if(rrUrl==""){location.href="http://localhost:8082/";}else{location.href=redirectUrl;}}else{alert("登录失败,原因是:"+res.msg);$("#logn").select();}});商品模块实现商品模块,可在商城前台界面中通过商品的信息进行搜索、浏览、展示。网站用户可在前台界面通过以上三种方式,查看商品的相关信息。商品搜索在商城前台界面中,输入商品的信息,后台系统会根据输入的信息,根据关键字的权重进行搜索。如图4-10所示。图4-10商品搜索界面后台代码如下: SolrQryqry=newSolrQry(); qry.setQry(qryString); qry.setStart((pg-1)*rows); qry.setRows(rows); qry.set("df","sp_title"); qry.setHighlight(true); qry.addHighlightField("sp_title"); qry.setHighlightSimplePre("<fontclass=\"skcolor_1jg\">"); qry.setHighlightSimplePost("</font>"); SearchRssearchRs=searchDao.search(qry);商品浏览用户搜索点击搜索按钮后,系统根据用户提交的信息找出相关的商品信息,用户可浏览。如图4-11所示。图4-11商品浏览界面后台逻辑代码如下: Map<String,String>pm=newHashMap<>(); pm.put("keyword",keyword); pm.put("pg",pg+""); pm.put("rows",rows+""); Stringjson=HCUtil.doGet(SEARCH_BASE_URL,pm); RepRsrepRs=RepRs.formatToPojo(json,SearchRs.class);商品信息展示用户在浏览商品的过程中,可点击某一商品,进入到商品详情界面,查看该商品的详细信息。如图4-12所示。图4-12商品信息展示界面后台逻辑代码如下: Stringjson=HCUtil.doGet(REST_BASE_URL+REST_SP_BASE_URL+spId); RepRsrepRs=RepRs.formatToPojo(json,PortalSp.class); TbSpsp=(TbSp)repRs.getData(); returnsp;购物车模块实现用户在查看选中的商品详细信息时,可在页面中通过加入购物车按钮,把该商品添加到购物车中,用户还可以在我的购物车中查看已添加到购物车的商品列表,并可点击去结算、提交订单按钮,对购物车的商品进行支付结算。加入购物车在商品详情页面,点击加入购物车按钮,即可把商品添加到购物车中。后台逻辑代码如下: TbSptbSp=spService.getSpById(spId); GwcDatagwcData=newGwcData(); gwcData.setId(spId); gwcData.setNum(num); gwcData.setPrice(tbSp.getPrice()); gwcData.setTitle(tbSp.getTitle()); if(StringUtils.isNotBlank(tbSp.getImage())){ Stringimage=tbSp.getImage(); String[]strings=image.split(","); gwcData.setImage(strings[0]); } spLs.add(gwcData);我的购物车在我的购物车中,用户可查看添加到购物车的商品。如下图4-13所示。图4-13我的购物车界面后台代码逻辑如下: Stringjson=CookieUtils.getCookieValue(request,"TT_CART",true); List<GwcData>ls=JsonUtils.jsonToLs(json,GwcData.class); returnls==null?newArrayLs<GwcData>():ls;购物车结算对购物车中选中的商品,点击去结算按钮,页面跳转到结算界面。如图4-14所示。图4-14购物车结算界面提交订单用户确认购物车订单无误后,可点击提交订单,即可下单成功。如图4-15所示。图4-15提交订单成功界面后台代码逻辑如下: Stringjson=JsonUtils.objectToJson(orderInfo); StringjsonRs=HCUtil.doPostJson(ORDER_BASE_URL+ORDER_CREATE_URL,json); RepRsrepRs=RepRs.format(jsonRs); StringorderId=repRs.getData().toString(); returnorderId;本章小结本章对网上商城购物系统的网站商品管理模块、网站内容管理模块、用户模块、商品模块、购物车模块中几个主要的功能,做了详细的描述,通过系统实现代码和系统效果图,展示了网上商城购物系统的实现流程。

系统测试对系统进行编程后,需要完成系统软件测试环节。系统软件测试不仅是测试功能,程序本身,还有页面等方面。测试和开发是非常技术性的工作。使用的测试方法类型,用于测试的案例数等,都会影响软件质量。界面测试界面测试(简称UI测试),测试用户界面的功能模块的布局是否合理、整体风格是否一致、各个控件的放置位置是否符合客户使用习惯,此外还要测试界面操作便捷性、导航简单易懂性,页面元素的可用性,界面中文字是否正确,命名是否统一,页面是否美观,文字、图片组合是否完美等。功能测试功能测试,是对系统实现的功能进行测试用例测试。以注册功能为例子,如表5-1所示,系统弹窗提示如图5-1所示。表5-1测试用例用例编号用例名称测试背景前置条件测试环境测试类型测试阶段测试步骤预期结果实际结果1正常注册测试注册功能已完善,满足客户要求输入的用户名未注册Chrome浏览器手工测试系统测试1、进入系统注册页面

2、输入未注册的用户名

3、输入的两次密码一致

4、输入手机号

5、点击立即注册按钮系统跳转到登录界面系统跳转到登录界面2输入不规范的用户名测试注册功能已完善,满足客户要求输入的用户名已注册Chrome浏览器手工测试系统测试1、进入系统注册页面

2、点击立即注册按钮系统弹出提示框,“用户名已存在”系统弹出提示框,“用户名已存在”3输入不规范的用户名测试注册功能已完善,满足客户要求Chrome浏览器手工测试系统测试1、进入系统注册页面

2、点击立即注册按钮系统弹出提示框,“用户名不能为空”系统弹出提示框,“用户名不能为空”4输入不规范的密码测试注册功能已完善,满足客户要求输入的用户名未注册Chrome浏览器手工测试系统测试1、进入系统注册页面

2、输入用户名

2、点击立即注册按钮系统弹出提示框,“密码不能为空”系统弹出提示框,“密码不能为空”5输入两次不同的密码测试注册功能已完善,满足客户要求输入的用户名未注册Chrome浏览器手工测试系统测试1、进入系统注册页面

2、输入用户名

3、输入密码

4、再次输入与第一次输入的不同密码

5、点击立即注册按钮系统弹出提示框,“确认密码和密码不一致,请重新输入!”系统弹出提示框,“确认密码和密码不一致,请重新输入!”6输入不规范的手机号测试注册功能已完善,满足客户要求输入的用户名未注册Chrome浏览器手工测试系统测试1、进入系统注册页面

2、输入用户名

3、输入密码

4、再次输入与第一次输入的相同密码

5、点击立即注册按钮系统弹出提示框,“手机号不能为空”系统弹出提示框,“手机号不能为空”图5-1测试用例系统弹窗效果本章小结本章通过系统的测试方法、测试用例,来说明网上商城系统的测试。

总结与展望网络购物成为人们生活中不可或缺的一部分,电子商务的地位也愈发重要。本文针对网上商城购物系统的技术特点及系统用户的功能需求,基于微服务SOA架构、MVC项目思想、JAVA语言、前端页面技术、及相关技术框架,最终实现了网上购物商城购物系统。网上商城系统后台利用了Mybatis和springmvc框架,使用了Mysql数据库,对系统后台的搭建,前台页面运用了JQuery及JSP标签库技术,对系统前端页面的构建。完成网站商品管理模块、网站内容管理模块、用户模块、商品模块、购物车模块的功能模块的实现。系统有以下特点:(1)后台技术使用了软件开发行业主流的技术框架;(2)WEB页面操作简单;(3)系统整体构建是微服务SOA形式,服务与服务之间则是通过HttpClient方式;(4)有良好的可扩展性。此系统还有一些缺陷,今后可对系统做出如下的完善及改进:(1)完善网站商品管理模块、网站内容管理模块的更新及删除功能,保证功能使用的完整性。(2)完善系统功能的操作权限,保证功能使用的安全性。(4)系统的支付功能,支付接口的开发任务还需完成,业务流程才算完全走通。(4)优化数据表及前后端代码,提升系统的运行性能。

参考文献[1]卢信文,武志学.关于程序设计入门语言的教学改革研究[J].电脑知识与技术.[2]邱仲潘,张星成,宋智军.高级程序设计语言:JAVA版[M].清华大学出版社,2013.[3]ChenKY,ChangJ,HouTW.AnEnergy-EfficientJavaVirtualMachine[J].IEEETransactionsonCloudComputing,2015:1-1.[4]浅谈JavaBean在MVC模式中的应用[J].朱亚玲.网友世界.2013[5]JavaScript语言的特性和应用[J].王震宇,刘清森.计算机与通信.1998(03)[6]SOA思想、技术与系统集成应用详解[M].电子工业出版社,梁爱虎,2007[7]CSS精粹[M].人民邮电出版社,(英)安德鲁(Andrew,2009)[8]深入浅出MySQL:数据库开发、优化与管理维护(第2版).人民邮电出版社,唐汉明[9]JavaWeb与数据库连接池技术的应用研究与实践.陈虹君.2008[10]池亚平,方勇.Servlet技术与应用方法.北京邮电大学学报.2003[11]游丽贞,郭宇春,李纯喜.Ajax引擎的原理和应用.微计算机信息.2006[12]刘春菊,朱欣焰.基于JSP/JavaBean的WebGIS实现技术. 武汉大学学报(信息科学版).2003

致谢在校园生活快要结束的时刻,我对我的大学生活回顾了一遍又一遍。总结得失,展望将来。学校教会我知识和做人,我发挥自己的社会作用来回报学校。我要感谢我的毕业论文指导老师卞丽倩。在论文写作开始时,卞丽倩老师指导我选择题目。由于我的题目定的过于宽泛,不适合本科生的研究写作,老师又帮我修改并调整。老师给我留下的印象是一位责任心强、细心的老师。从论文确定题目到论文的修改,最后定稿,卞老师一直充当辅助的作用,让我自己写完论文后,然后耐心的指出我的错误。让我印象最深刻的一件事是我提交的论文一稿出现格式错误,但老师并没责备我。相反的是,她发了论文格式要求给我,并且指出我的论文格式错误在哪。我感谢能有这样的一位老师可以指导我毕业论文的写作。我还要感谢我的母校和母校的同学们。母校的一草一木刻在我心中,我对培育我的校园充满感激之心。还有我的同学们,同窗之情不敢忘,至此,我感谢同学们的慷慨相助,你们永远都是最可爱的人。

怎样提高电脑系统运行速度WindowsXP的启动速度比Windows2000要快30%左右,但相对于Windows98仍然要慢了不少,不过,我们可以通过优化设置,来大大提高WindowsXP的启动速度。加快系统启动速度主要有以下方法:尽量减少系统在启动时加载的程序与服务;对磁盘及CPU等硬件进行优化设置;修改默认设置,减少启动等待时间等。这些方法大部分既可减少系统启动的时间,又可以节省系统资源,加快电脑运行速度。1.加快系统启动速度WindowsXP的启动速度比Windows2000要快30%左右,但相对于Windows98仍然要慢了不少,不过,我们可以通过优化设置,来大大提高WindowsXP的启动速度。加快系统启动速度主要有以下方法:尽量减少系统在启动时加载的程序与服务;对磁盘及CPU等硬件进行优化设置;修改默认设置,减少启动等待时间等。这些方法大部分既可减少系统启动的时间,又可以节省系统资源,加快电脑运行速度。(1)MsconfigWindowsXP的启动速度在系统安装初期还比较快,但随着安装的软件不断增多,系统的启动速度会越来越慢,这是由于许多软件把自己加在了启动程序中,这样开机即需运行,大大降低了启动速度,而且也占用了大量的系统资源。对于这样一些程序,我们可以通过系统配置实用程序Msconfig将它们从启动组中排除出去。选择“开始”菜单中的“运行”命令,在“运行”对话框中键入“Msconfig”,回车后会弹出“系统配置实用程序”对话框,选择其中的“启动”选项卡(如图1),该选项卡中列出了系统启动时加载的项目及来源,仔细查看每个项目是否需要自动加载,否则清除项目前的复选框,加载的项目越少,启动的速度就越快。设置完成后需要重新启动方能生效。(2)BootvisBootvis是微软提供的一个启动优化工具,可提高WindowsXP的启动速度。用BootVis提升WindowsXP的启动速度必须按照正确的顺序进行操作,否则将不会起到提速的效果。其正确的操作方法如下:启动Bootvis,从其主窗口(如图2)中选择“工具”菜单下的“选项”命令,在“符号路径”处键入Bootvis的安装路径,如“C:\ProgramFiles\Bootvis”,单击“保存”退出。从“跟踪”菜单中选择“下次引导”命令,会弹出“重复跟踪”对话框,单击“确定”按钮,BootVis将引导WindowsXP重新启动,默认的重新启动时间是10秒。系统重新启动后,BootVis自动开始运行并记录启动进程,生成启动进程的相关BIN文件,并把这个记录文件自动命名为TRACE_BOOT_1_1。程序记录完启动进程文件后,会重新启动BootVis主界面,在“文件”菜单中选择刚刚生成的启动进程文件“TRACE_BOOT_1_1”。窗口中即会出现“CPU>使用”、“磁盘I/O”、“磁盘使用”、“驱动程序延迟”等几项具体图例供我们分析,不过最好还是让BootVis程序来自动进行分析:从“跟踪”菜单中选择“系统优化”命令,程序会再次重新启动计算机,并分析启动进程文件,从而使计算机启动得更快。(3)禁用多余的服务WindowsXP在启动时会有众多程序或服务被调入到系统的内存中,它们往往用来控制Windows系统的硬件设备、内存、文件管理或者其他重要的系统功能。但这些服务有很多对我们用途不大甚至根本没有用,它们的存在会占用内存和系统资源,所以应该将它们禁用,这样最多可以节省70MB的内存空间,系统速度自然也会有很大的提高。选择“开始”菜单中的“运行”命令,在“运行”对话框键入“services.msc”后回车,即可打开“服务”窗口。窗口的服务列表中列出了系统提供的所有服务的名称、状态及启动类型。要修改某个服务,可从列表双击它,会弹出它的属性对话框(如图3),你可从“常规”选项卡对服务进行修改,通过单击“启动”、“停止”、“暂停”、“恢复”四个按钮来修改服务的状态,并可从“启动类型”下拉列表中修改启动类型,启动类型有“自动”、“手动”、“已禁用”三种。如果要禁止某个服务在启动自动加载,可将其启动类型改为“已禁用”。WindowsXP提供的所有服务有36个默认是自动启动的,实际上,其中只有8个是必须保留的(见下表),其他的则可根据自己的需要进行设置,每种服务的作用在软件中有提示。4)修改注册表来减少预读取,减少进度条等待时间WindowsXP在启动过程中会出现一个进度条,我们可以通过修改注册表,让进度条只跑一圈就进入登录画面。选择“开始”菜单中的“运行”命令,在“运行”对话框键入“regedit”命令后回车,即可启动注册表编辑器,在注册表中找HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SessionManager\MemoryManagement\PrefetchParameters,选择其下的EnablePrefetcher键,把它的键值改为“1”即可。(5)减少开机磁盘扫描等待时间当Windows日志中记录有非正常关机、死机引起的重新启动,系统就会自动在启动的时候运行磁盘扫描程序。在默认情况下,扫描每个分区前会等待10秒钟,如果每个分区都要等上10秒才能开始进行扫描,再加上扫描本身需要的时间,会耗费相当长的时间才能完成启动过程。对于这种情况我们可以设置取消磁盘扫描的等待时间,甚至禁止对某个磁盘分区进行扫描。选择“开始→运行”,在运行对话框中键入“chkntfs/t:0”,即可将磁盘扫描等待时间设置为0;如果要在计算机启动时忽略扫描某个分区,比如C盘,可以输入“chkntfs/xc:”命令;如果要恢复对C盘的扫描,可使用“chkntfs/dc:”命令,即可还原所有chkntfs默认设置,除了自动文件检查的倒计时之外。2.提高系统运行速度提升系统运行速度的思路与加快启动的速度类似:尽量优化软硬件设置,减轻系统负担。以下是一些常用的优化手段。(1)设置处理器二级缓存容量WindowsXP无法自动检测处理器的二级缓存容量,需要我们自己在注册表中手动设置,首先打开注册表,找到“HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SessionManager\MemoryManagement\”,选择其下的“SecondLevelDataCache”,根据自己所用的处理器设置即可,例如PIIICoppermine/P4Willamette是“256”,AthlonXP是“384”,P4Northwood是“512”。(2)提升系统缓存同样也是在“HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SessionManager\MemoryManagement\”位置,把其下的“LargeSystemCache”键值从0改为1,WindowsXP就会把除了4M之外的系统内存全部分配到文件系统缓存中,这样XP的内核能够在内存中运行,大大提高系统速度。通常来说,该优化会使系统性能得到相当的提升,但也有可能会使某些应用程序性能降低。需要注意的是必须有256M以上的内存,激活LargeSystemCache才可起到正面的作用,否则不要轻易改动它。(3)改进输入/输出性能这个优化能够提升系统进行大容量文件传输时的性能,不过这只对服务器用户才有实在意义。我们可在中新建一个DWORD(双字节值)键值,命名为IOPageLockLimit。一般情况下把数据设置8~16MB之间性能最好,要记住这个值是用字节来计算的,例如你要分配10MB的话,就是10×?1024×1024,也就是10485760。这里的优化也需要你的机器拥有大于256M的内存。(4)禁用内存页面调度在正常情况下,XP会把内存中的片断写入硬盘,我们可以阻止它这样做,让数据保留在内存中,从而提升系统性能。在注册表中找到“HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SessionManager\MemoryManagement\”下的“DisablePagingExecutive”键,把它的值从0改为1即可禁止内存页面调度了。(5)关闭自动重新启动功能当WindowsXP遇到严重问题时便会突然重新开机,可从注册表将此功能取消。打开注册表编辑器,找到“HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CrashControl\”将AutoReboot键的Dword值更改为0,重新启动后设置即可生效。(6)改变视觉效果WindowsXP在默认情况下启用了几乎所有的视觉效果,如淡入淡出、在菜单下显示阴影。这些视觉效果虽然漂亮,但对系统性能会有一定的影响,有时甚至造成应用软件在运行时出现停顿。一般情况下建议少用或者取消这些视觉效果。选择桌面上“我的电脑”图标,单击鼠标右键,在弹出的快捷菜单中选择“属性”命令,打开“系统属性”对话框。选择“高级”选项卡,在其中的“性能”栏中单击“设置”按钮,会弹出“性能选项”对话框(如图4),可选择“调整为最佳性能”单选框来关闭所有的视觉效果,也可选择“自定义”然后选择自己需要的视觉效果。(7)合理设置页面虚拟内存同样也是在“性能选项”对话框中,选择“高级”选项卡,在其中的“虚拟内存”栏中单击“更改”按钮,接下来选择虚拟内存为“自定义大小”,然后设置其数值。一般情况下,把虚拟设为不小于256M,不大于382M比较合适,而且最大值和最小值最好一样。(8)修改外观方案WindowsXP默认的外观方案虽然漂亮,但对系统资源的占用也多,可将其改为经典外观以获得更好的性能。在桌面空白位置单击鼠标右键,从弹出的快捷菜单中选择“属性”命令,会打开“显示属性”对话框,在“主题”选项卡选择主题为“Windows经典”,即可将外观修改为更为经济的Windows经典外观。(9)取消XP对ZIP支持WindowsXP在默认情况下打开了对zip文件支持,这要占用一定的系统资源,可选择“开始→运行”,在“运行”对话框中键入“regsvr32/uzipfldr.dll”,回车确认即可取消XP对ZIP解压缩的支持,从而节省系统资源。(10)关闭Dr.WatsonDr.Watson是WindowsXP的一个崩溃分析工具,它会在应用程序崩溃的时候自动弹出,并且在默认情况下,它会将与出错有关的内存保存为DUMP文件以供程序员分析。不过,记录DUMP文件对普通用户则毫无帮助,反而会带来很大的不便:由于Dr.Watson在应用程序崩溃时会对内存进行DUMP记录,将出现长时间硬盘读写操作,要很长一断时间程序才能关闭,并且DUMP文件还会占用大量磁盘空间。要关闭Dr.Watson可打开注册表编辑器,找到“HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\AeDebug”分支,双击其下的Auto键值名称,将其“数值数据”改为0,最后按F5刷新使设置生效,这样就取消它的运行了。同样,我们可以把所有具备调试功能的选项取消,比如蓝屏时出现的memory.dmp,可在“系统属性”对话框中选择“高级”选项卡,单击“启动和故障恢复”栏中的“设置”按钮,并在弹出的“启动和故障恢复”对话框中选择“写入调试信息”为“无”(如图5)。(11)启动硬盘/光驱DMA模式打开“系统属性”对话框,选择“硬件”选择卡中的“设备管理器”按钮,打开“设备管理器”窗口,在设备列表中选择“IDEATA/ATAPI控制器”,双击“主要IDE通道”或“次要IDE通过”,在其属性对话框的“高级设置”选项卡中检查DMA模式是否已启动,一般来说如果设备支持,系统就会自动打开DMA功能,如果没有打开可将“传输模式”设为“DMA(若可用)”。(12)关掉不用的设备WindowsXP总是尽可能为电脑的所有设备安装驱动程序并进行管理,这不仅会减慢系统启动的速度,同时也造成了系统资源的大量占用。针对这一情况,你可在设备管理器中,将PCMCIA卡、调制解调器、红外线设备、打印机端口(LPT1)或者串口(COM1)等不常用的设备停用,方法是双击要停用的设备,在其属性对话框中的“常规”选项卡中选择“不要使用这个设备(停用)”。在重新启动设置即可生效,当需要使用这些设备时再从设备管理器中启用它们。(13)关闭错误报告当应用程序出错时,会弹出发送错误报告的窗口,其实这样的错误报告对普通用户而言几乎没有任何意义,关闭它是明智的选择。在“系统属性”对话框中选择“高级”选项卡,单击“错误报告”按钮,在弹出的“错误汇报”对话框中,选择“禁用错误汇报”单选项,最后单击“确定”即可。另外我们也可以从组策略中关闭错误报告:从“运行”中键入“gpedit.msc”,运行“组策略编辑器”,展开“计算机配置→管理模板→系统→错误报告功能”,双击右边设置栏中的“报告错误”,在弹出的“属性”对话框中选择“已禁用”单选框即可将“报告错误”禁用。(14)关闭自动更新“自动更新”功能对许多WindowsXP用户而言并不是必需的,可将其关闭以节省系统资源。在“我的电脑”上单击鼠标右键,从快捷菜单中选择“属性”命令,选择“系统属性”对话框中的“自动更新”选项卡,勾选“关闭自动更新,我将手动更新计算机”单选框,单击“确定”按钮即可关闭自动更新功能。如果在“服务”已经将“AutomaticUpdates”服务关闭,“系统属性”对话框中的“自动更新”选项卡就不能进行任何设置了。(15)去掉菜单延迟去掉菜单弹出时的延迟,可以在一定程度上加快XP。要修改的键值位置在“HKEY_CURRENT_USER\ControlPanel\Desktop”。修改其下的“MenuShowDelay”键,把默认的400修改为0,按F5刷新注册表即可生效。(16)清除预读文件WindowsXP的预读设置虽然可以提高系统速度,但是使用一段时间后,预读文件夹里的文件数量会变得相当庞大,导致系统搜索花费的时间变长。而且有些应用程序会产生死链接文件,更加重了系统搜索的负担。所以,应该定期删除这些预读文件。预计文件存放在WindowsXP系统文件夹的Prefetch文件夹中,该文件夹下的所有文件均可删除。(17)关闭自动播放功能在WindowsXP中,当往光驱中放入光盘或将USB硬盘接上电脑时,系统都会自动将光驱或USB硬盘扫描一遍,同时提示你是否播放里面的图片、视频、音乐等文件,如果是拥有多个分区的大容量的USB硬盘,扫描会耗费很长的时间,而且你得多次手动关闭提示窗口,非常麻烦。这种情况下我们可以将WindowsXP的自动播放功能关闭。运行“组策略”程序。在组策略窗口左边栏中,打开“计算机配置”,选择“管理模板”下的“系统”,然后在右边的配置栏中找到“关闭自动播放”并双击它,会弹出“关闭自动播放属性”对话框。在其中“设置”选项卡中选择“已启用”,“关闭自动播放”下拉列表中选择“所有驱动器”(如图6)。这样以后就不用担心WindowsXP的“自动播放”功能带来的麻烦了。如果你只是想禁止系统扫描某个驱动器(如USB硬盘)上的文件,可采用下面的方法。先连上你的USB硬盘,让系统将它识别出来。然后打开“我的电脑”,选择USB硬盘上的某个分区,按鼠标右键,会弹出磁盘属性窗口,选取“自动播放”选项卡,将所有内容的类型都选择为不执行操作。如果USB硬盘有多个分区,对所有分区都进行同样的操作,这样当你将USB驱动器拔掉再重新接上时,系统会将USB硬盘识别出来,而不会反复问你是否播放USB硬盘中的文件了。3.加快关机速度WindowsXP的关机速度要慢于启动速度,特别有些任务还需要手工结束,更加延缓了关机速度。因此,要加快关机速度,首先要开启WindowsXP的自动结束任务功能。具体步骤是:从注册表中找到“HKEY_CURRENT_USER\ControlPanel\Desktop”,把“AutoEndTasks”的键值设置为1即可。然后再修改“HungAppTimeout”为“4000(或更小)”(预设为5000),该键值同样也在“HKEY_CURRENT_USER\ControlPanel\Desktop”下;最后一步再找到“HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\”,同样把WaitToKillServiceTimeout设置为“4000”;通过这样设置后的关机速度明显要加快了。够全面吧~~◆二、硬件优化设置◆1、关掉不用的设备

在设备管理器中,将PCMCIA卡、调制解调器、红外线设备、打印机端口(LPT1)或者串口(COM1)等不常用的设备停用,在要停用设备属性对话框中的“常规”选项卡中选择“不要使用这个设备(停用)”。当需要使用这些设备时再从设备管理器中启用它们。◆2、内存性能优化

WindowsXP中有几个选项可以优化内存性能,它们全都在注册表下面位置:HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSession

ManagerMemory

Management

1)禁用内存页面调度(Paging

Executive)

XP会把内存中的片断写入硬盘,我们可以阻止它这样做,让数据保留在内存中,从而提升系统性能。256M以上内存才使用这个设置。把“DisablePagingExecutive”的值从0改为1就可以禁止内存页面调度了。

2)提升系统缓存

必须有256M以上的内存,才激活它。把LargeSystemCache键值从0改为1,一般来说,这项优化会使系统性能得到相当的提升,但也有可能会使某些应用程序性能降低。

3)输入/输出性能

内存大于256M才更改这里的值,这个优化只对server(服务器)用户才有实在意义,它能够提升系统进行大容量文件传输时的性能。建一个DWORD(双字节值)键值,命名为IOPageLockLimit,数值设8M-16M字节之间性能最好,具体设什么值,可试试哪个值可获得最佳性能。这个值是用字节来计算的,比如你要分配12M,就是12×1024×1024,也就是12582912。◆3、启动硬盘/光驱DMA模式

“系统属性”-“硬件”-“设备管理器”,在设备列表中选择“IDE

ATA/ATAPI控制器”,双击“主要

IDE

通道”或“次要

IDE

通道”,在其属性对话框的“高级设置”选项卡中检查DMA模式是否已启动,一般来说如果设备支持,系统就会自动打开DMA功能,如果没有打开可将“传输模式”设为“DMA(若可用)”(在BIOS里也应该要先设为支持DMA)。

◆4、关闭自动播放功能

运行“组策略”程序,在组策略窗口左边栏中打开“计算机配置”,选择“管理模板”下的“系统”,然后在右边的配置栏中找到“关闭自动播放”并双击它,会弹出“关闭自动播放属性”对话框,在其中“设置”选项卡中选择“已启用”,“关闭自动播放”下拉列表中选择“所有驱动器”。

◆5、设置二级缓存容量

WindowsXP有时无法自动检测处理器的二级缓存容量,需要我们手动设置。运行注册表编辑器,找到HKCU_LOCAL_MACHINESYSTEMCurrentControlSetControlSession

ManagerMemory

Management,选择Dword值SecondLevelDataCache(如果没有就新建这个值),修改这个值(填时使用10进制)为你的CPU的二级缓存的大小,比如你的CPU的

温馨提示

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

评论

0/150

提交评论