电子商城的设计与实现毕业设计

电子商城的设计与实现毕业设计

ID:18295267

大小:399.00 KB

页数:42页

时间:2018-09-16

上传者:U-10017
电子商城的设计与实现毕业设计_第1页
电子商城的设计与实现毕业设计_第2页
电子商城的设计与实现毕业设计_第3页
电子商城的设计与实现毕业设计_第4页
电子商城的设计与实现毕业设计_第5页
资源描述:

《电子商城的设计与实现毕业设计》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

湖南科技大学毕业设计(论文)题目基于Javaweb的电子商城设计作者学院专业学号指导教师二〇一五年五月三十日 湖南科技大学毕业设计(论文)任务书院系(教研室)系(教研室)主任:(签名)年月日学生姓名:学号:1104030115专业:1设计(论文)题目及专题:基于Javaweb的电子商城设计2学生设计(论文)时间:自2015年3月9日开始至2015年5月25日止3设计(论文)所用资源和参考资料:[1]陈菁菁.Tomcat原理与JavaWeb系统开发[M].北京:清华大学出版社,2009:8-17;[2]丁振凡.Java语言实用教程.北京:北京邮电大学出版社,2005.7;[3]史济民顾春华郑红.软件工程(第3版).北京.高等教育出版社.2009.3。4设计(论文)应完成的主要内容:[1]对系统做出需求分析,探究系统方案的可行性;[2]数据库MySQL合理的设计;[3]用户界面设计以及前台与后台实现交互;[4]完成系统中的功能并对系统进行测试。5提交设计(论文)形式(设计说明与图纸或论文等)及要求:[1]按学校要求撰写论文,字数达2万字,提供电子版和文字版;[2]论文包括目录、中英文摘要、关键词、方案选择及确定、技术要求、设计过程及参数计算、软件流程图及源程序、调试方法及步骤、小结等。6发题时间:2015年3月9日指导教师:(签名)学生:(签名) 湖南科技大学毕业设计(论文)指导人评语[主要对学生毕业设计(论文)的工作态度,研究内容与方法,工作量,文献应用,创新性,实用性,科学性,文本(图纸)规范程度,存在的不足等进行综合评价]指导人:(签名)年月日指导人评定成绩: 湖南科技大学毕业设计(论文)评阅人评语[主要对学生毕业设计(论文)的文本格式、图纸规范程度,工作量,研究内容与方法,实用性与科学性,结论和存在的不足等进行综合评价]评阅人:(签名)年月日评阅人评定成绩: 湖南科技大学毕业设计(论文)答辩记录日期:学生:学号:班级:题目:提交毕业设计(论文)答辩委员会下列材料:1设计(论文)说明书共页2设计(论文)图纸共页3指导人、评阅人评语共页毕业设计(论文)答辩委员会评语:[主要对学生毕业设计(论文)的研究思路,设计(论文)质量,文本图纸规范程度和对设计(论文)的介绍,回答问题情况等进行综合评价]答辩委员会主任:(签名)委员:(签名)(签名)(签名)(签名)答辩成绩:总评成绩: 摘要随着信息科技的发展以及互联网的普及,传统的购物方式受到了诸多的限制,人们开始寻求新的快捷、有效的购物方式,此时网上电子商城应运而生。为实现方便快捷的购物,就需要一个安全完善的网上商城平台。本课题主要基于电子商务的原理,运用Java面向对象的思想和JavaWeb的开发技术来搭建一个电子购物商城。综合运用MySQL数据库保障用户安全,以MyEclipse8.5为开发平台,以JDBC桥接方式连接数据库、jsp作为前台显示、ajax、JQuery的框架来实现逻辑控制。综合运用jsp、ajax、JQuery、JDBC等技术开发的一套网上商城,此商城能很好的解决了人们对新的交易方式的需求。关键词:电子商城;JavaWeb应用;jsp;MySQL ABSTRACTWiththedevelopmentofinformationtechnologyandthepopularityoftheInternet,thetraditionalwayofshoppingbythemanyrestrictions,peoplebegintoseekanewfastandefficientwaytoshoponlineelectronicsstorecameintobeingatthistime.Toachieveconvenientshopping,youneedtocompleteasecureonlineshoppingplatform.Thispaperisbasedontheprincipleofe-commerce,usingtheobject-orientedthinkingofJavaandthetechnologyofJavaWebtobuildanelectronicshoppingmall.UsingMySQLdatabasetoprotectusersecurityanduseMyEclipse8.5asthedevelopmentplatform.Integrateduseofjsp,ajax,JQuery,JDBCtechnologydevelopmentofaonlinestore.Theonlinestorecansolvetheneedofpeoplefornewwayofbusiness.Keywords:Electronic-mall;JavaWebapplication;jsp;MySQL 目录第一章前言11.1课题背景11.2目的和意义11.3系统开发语言简介2第二章开发环境及相关技术简介32.1开发环境32.2系统开发架构32.3相关技术简介4第三章需求分析63.1可行性分析63.2功能需求分析73.3业务流程分析8第四章系统总体设计94.1系统概要设计94.2数据库设计10第五章系统详细设计135.1连接数据库135.2系统模块设计与具体实现165.2.1登录模块的实现165.2.2注册模块的实现185.2.3购物车模块的实现215.2.4后台模块的实现22第六章系统测试276.1系统测试276.2测试方法276.3测试环境276.4测试步骤276.5系统部分模块测试28 6.6测试结论28第七章结论30参考文献31致谢32 第一章前言1.1课题背景电子商务,是在Internet开放的网络环境下,基于浏览器/服务器应用方式,实现消费者的网上购物、商户之间的网上交易和在线电子支付的一种新型的商业运营模式。即在互联网、企业内部网和增值网上以电子交易方式进行交易活动和相关服务的活动。自20世纪90年代末,电子商务开始起步,并实现了国内的第一笔网上交易,随后B2C网站正式开通,网上购物进入实际应用阶段。到二十一世纪,B2B的出现标志着电子商务已经进入可持续性发展的稳定期。我国近年来的电子商务交易额增长率一直保持快速增长势头,并以GDP7%-9%的2-3倍的速率在增长。特别是网络零售市场更是发展迅速,2013年达到13110亿元,按汇率计算合计2068亿美元,与美国2013年的2255亿美元已经非常接近。2014年我国网络零售市场交易规模为1.85亿元,乐观估计将超越美国,成为世界第一电子商务大国。而2014年11月11日阿里巴巴“双十一”节日交易额达到350亿元,更是让人们看到我国网络零售市场发展的巨大潜力。毫无疑问,电子商务正在成为拉动国民经济保持快速可持续增长的重要动力和引擎。前瞻产业研究院发布的《2015-2020年中国电子商务市场竞争及企业竞争策略分析报告》分析显示,2014年中国电子商务市场交易规模达10.2万亿元,同比2013年的8.5万亿元,增长29.9%。在电子商务各细分行业中,B2B电子商务占比80.4%,2014交易额达8.2万亿元,同比增长31.2%;网络零售交易规模市场份额占比17.6%,交易规模达18851亿元,同比增长42.8%;网络团购占比0.6%;其他占1.4%。随着互联网的普及以及信息技术的飞速发展,人们开始意识到电子商务对国家整体经济、个人生活所造成的影响,并开始实现电子商务交易。电子商务之所以变得流行,是因为能够满足大多数企业、商人和消费者对服务质量、支付费用等的需求。此外,对于经营方来说,传统的店面租赁方式浪费了大量的财力、人力资源,而网络线上交易可以很大程度的节约经营成本。在现阶段,随着日益增长的业务需求,传统的人工管理和传递信息的方式不能够很好的解决跨空间、一对一和实时性等问题。因而开发了这样一个具有前后台的系统,以满足购物者和企业的需求。1.2目的和意义本课题研究的主要是解决传统经营模式中的限制,并探究电子商务的可行性,通过新的交易方式推动社会经济的发展。经过探讨与研究,电子商务与传统的经营模式相比有重大的意义。具体如下: (1)降低经营成本。与传统的经营方式相比较,随着飞速发展的科学技术,电子商务减少了经营者的人力投入、时间成本以及昂贵的店面租赁费用等,对消费者而言,具有较大的选择自由,解决了传统经营模式中的垄断局面,给消费者、商家带来双赢的局面。(2)无需考虑地段选择。对于传统的实体店铺来说,门店的地址选择,很大程度决定了其能否成功运营,而电子商务不需要考虑店面的选址问题。就目前而言,城市中的商业网点少,特别是优质商业网点十分稀缺,因此电子商务有足够大的发展空间。(3)运营风险性小。对于私营个体用户,网上商店无需店面经营那么大的成本,门槛较低,运作比较灵活能够自由安排时间,有完善的技术指导以及完善的运营机制,风险相对较小。(4)良好的用户体验。对于消费者,网上商城有丰富的选择性,增加了消费者的交易自由性,完善的物流、可靠的安全防护措施都为消费者的消费提供了保障。基于Java语言的开发的语言的良好兼容性,为了方便广大群众,满足商家的需求,以及国内外电子商务的现状,为此开发一个电子购物商城是极为必要的。1.3系统开发语言简介Java主要的优势在于通用性、高效性、平台移植性和安全性,广泛应用于PC数据中心、游戏控制台、科学超级计算机、移动电话和互联网[1]。与C++不同的是,Java具有自己的虚拟机JVM,JVM可自动对不需要用的类进行自动回收,解决了手动垃圾回收的烦恼。Java分为三个体系,分别为JavaSE(J2SE,Java2PlatformStandardEdition,标准版),JavaEE(J2EE,Java2Platform,EnterpriseEdition,企业版),JavaME(J2ME,Java2PlatformMicroEdition,微型版)[2]。Java2的主要特性有:(1)封装:为了增加了数据的安全性,Java把数据和行为结合在一个类中,并对对象使用者的数据进行隐藏的实现过程[1];(2)继承:利用已有的数据类型来定义新的数据类型。新的数据类型拥有原有类型的属性及成员变量,也可以定义属于自己的成员。我们称原有的用来派生新类的类为基类,即父类。能够让代码结构化,增加程序的可读性,便于维护。(3)多态:指允许不同的对象对同一消息做出响应,即同一消息可以根据发送对象的不同而采用多种不同的行为方式[1]。它增加了代码的可重用性,增加了类型之间的耦合度。(4)接口:在Java语言中,没有C++所拥有的多继承,因此接口的出现,解决了Java语言不能够多继承的问题,这种方式降低了代码的冗余度。但在接口中,所有实现其接口的类必须实现期中的方法。 第一章开发环境及相关技术简介2.1开发环境在开发设计电子商城时,具备以下开发环境:(1)操作系统:Win7或Win8;(2)集成开发环境:MyEclipse;(3)后台数据库:MySQL;(4)服务器是Tomcat6.0。这个软件可在Win7、Win8操作系统中运行。2.2系统开发架构本系统是基于B/S开发的电子商城系统。B/S结构一种具有三层模式(MVC)的应用系统结构,它以访问Web数据库为中心,HTTP为传输协议,客户端通过浏览器(Browser)访问Web服务器和与其相连的后台数据库[3],其结构如图1.1所示示。客户端WEB服务器后台数据库客户端图1.1 三层架构图第一层是客户端就是指浏览器,客户主要是通过浏览器与服务器端建立连接,将客户提交的请求域名通过请求码的方式与后台交互,后台处理完成后反馈给浏览器并予以显示。在此过程,请求提交都遵循了HTTP协议。第二层WEB的服务层,主要实现后台与客户间的连接及数据交互。第三层数据库服务器是数据层。数据库是存储系统及客户信息的地方,独立处理客户提交的请求。B/S主要的优点是不需要客户端,避免了庞大的客户体系需要对客户端进行更新和维护带来的麻烦,以浏览器代替了传统的客户端,轻便快捷,只需能上网的电脑即可。与传统的C/S模式相比,B/S结构的逻辑处理主要在服务器端,用户通过浏览器发出请求,在数据库的使用和维护上都比传统的C/S模式更加便捷,而且使维护任务层次化,管理员负责服务器硬件日常管理和维护,系统维护人员负责后台数据库数据更新维护[4]。 2.3相关技术简介(1)jsp(JavaServerPages)技术jsp中文名叫Java服务器页面,是一种动态网页技术的标准,它在传统的网页HTML(标准通用标记语言的子集)文件中插入Java程序段和jsp标记,jsp实质是一个简化的Servlet[5]。jsp侧重于UI显示,这里UI层我们采用Tiles模块来实现。Tiles增加了布局的概念,把一个页面划分为极大功能模块,对具有相同布局的页面,可重用Tiles模块,在这一层还采用JSTL标签库,使它具有可移植性、可跨平台,而Servlet侧重于对逻辑的处理[6]。jsp(JavaServerPages)是动态页面技术的一种,主要目的是将逻辑处理功能与界面显示分离开来,符合MVC的编程思想。jsp使用简单,可以跨平台,具有良好的移植性且安全可靠。浏览器IEWEB服务器编译Servlet产生Servletjsppage1.request4.response233JSP图1.2处理用户请求过程(2)JQuery技术JQuery是轻量级的JS库,能兼容各种浏览器,如IE,FireFox等,是辅助JavaScript开发的库,它引入了许多ajax和json处理方面的更新,包括HTML5元素的序列化,因此开发者可以很轻松的开发出功能强大的静态或动态网页。[7]JQuery的优势:①能更方便地处理HTML(标准通用标记语言)、events、实现动画效果,并且方便地为网站提供ajax交互;[8]②它的文档全面,且各种应用也说得很详细,还有许多成熟的插件可供选择;[8]③能够使用户的html页面保持代码和html内容分离; ④功能强大,操作简单,且免费、开源。(3)MySQL数据库简介MySQL是一个关系型数据库管理系统,由瑞典MySQLAB公司开发,目前属于Oracle公司,由于MySQL体积小、速度快、总体成本低,且开源,一般中小型网站的开发都选择MySQL作为网站数据库[9]。其主要特性如下:①具有可优化的SQL算法,能有效的提高数据查询的速度;②提供多语言支持,常见的编码如中文的 GB2312、BIG5等;③既能够作为一个单独的应用程序应用在客户端服务器网络环境中,也能够作为一个库而嵌入到其他的软件中;④使用C和C++编写,并使用了多种编译器进行测试,保证了源代码的可移植性⑤有完善的检查和优化数据库操作的工具;⑥支持多种存储引擎等。 第一章需求分析软件需求分析工作是软件生存周期中重要的一步,只有通过需求分析才能把软件功能和性能的总体概念描述为具体上的软件需求规格说明,从而奠定软件开发的基础[10]。软件需求分析是对系统整体认识和细化的一个分析过程。该过程将软件调研阶段的需求数据进行分析和设计,使软件范围逐步细化到详细定义的程度,并分析出各种不同的软件元素,然后为这些元素找到可行的解决办法[10]。本章将从不同角度的需求分析问题,讲述软件需求类型,分析过程,分析本软件的功能需求,性能需求并且给出数据元素的定义(在总体设计中将对数据元素进行分析组合形成数据表),对整体架构需求进行分析设计,对业务流程进行分析并给出了核心业务的业务流程图[1]。3.1可行性分析(1)技术可行性分析本商城采用Java+MySQL+Tomcat进行开发,其中前台用html嵌入jsp进行商品信息页面和管理用户界面,界面友好美观;tomcat为开源的服务器,使用起来便捷、安全;用MySQL作为系统的后台数据库管理、维护数据,部分功能采用事务处理机制,能很好的处理部分错误。此外JavaWeb具有完善的体系,强有力的技术支持,为此商城系统的完善提供了保障。(2)使用可行性分析本商城采用B/S架构,操作便捷,界面友好。无需专业人员进行操作,管理员只需懂得基本网络知识便可对商城进行维护和使用。由于日常信息的处理量大,在商城投入运营之后能集中处理信息数据,并反馈给商户。为公司进一步向网络服务发展的信息工作打下良好的基础。(3)经济可行性分析在系统开发初期的投入会比较大,但系统成功开发并投入使用之后,所带来的收益将有助于公司更好的了解市场、拓展市场,在激烈的市场竞争中掌握主动权,利大于弊。此外本系统具有稳定、便于维护的特点,减少后期维护以及市场拓展而花费的费用。因此从长远角度来看,本项目带来的收益远远超过初期的投入,是具有可行性的。(4)法律可行性分析本商城系统是完全由自主开发,不会有任何侵权行为,在法律上是可行的。综上所述,网上商城后期所带来的收益会远远大于初期的投入,所以本方案是可行的。 3.2功能需求分析本网上电子商城共分为两个部分,第一部分是面向消费者的前端部分,主要功能:会员在线注册、购物车、按商品分类搜索、下单等操作;第二部分是后台管理部分,主要功能:商品信息的增删以及修改、订单状态修改、广告管理等。主要实现以下功能:(1)可以通过系统浏览商品(按类别)(2)注册成为会员客户发货单正在配货财务审核等待付款配货单据开配送单财务配货配送客户订单等待审核通过否?在线付?图3.1订单处理流程图(3)会员可以下订单(4)会员可以管理自己的购物车 (5)管理员通过后台进行商品分类和管理(包括商品的浏览添加删除修改),具体有:新增产品;产品上柜;产品下柜;产品删除;产品修改。(6)管理员通过后台进行订单的管理,包括:订单的查询和修改订单的状态。(7)管理员通过后台进行广告的管理,主要有广告添加及广告删除。3.3业务流程分析用业务流程图描述各个功能的业务流程,全面的分析各个环节确保商城的安全可靠性。根据系统的具体情况,业务主要分为以下几类:(1)订单处理业务流程描述如下:客户下订单之后,管理人员对客户提交的订单进行审核,如果通过则将该订单信息改为待付款状态,在管理员确认用户已经付款,则订单状态修改为待发货状态,店主发货之后由物流公司配送货物,当客户确认收货之后将订单状态改为已收货状态。如若顾客对商品不满意,也可通过与商城服务人员进行协商,换货或者退货等操作。订单处理业务流程如图3.1所示。(2)销售业务流程描述如下:已经登录的客户在本商城浏览商品,将挑选好的商品放进购物车进行结算并填写或者修改已有的收货地址,下订单。也可在商家发货之前取消订单。电子商城购物流程图如图3.2所示。顾客网站首页注册退出浏览该商品浏览其他商品查看购物选定商品取消订单下订单确认订单订单送商家交易完成支付送货上门图3.2购物业务处理流程 第四章系统总体设计本阶段设计的基本目标是解决系统如何实现问题,也叫做概要设计,本阶段主要任务是划分出系统的物理元素及设计软件的结构,完成软件定义时期的任务之后就应该对系统进行总体设计,即根据系统分析产生的分析结果来确定这个系统由哪些模块组成,这些模块又如何有机的结合在一起,每个模块的功能如何实现,系统设计的目标是使系统实现拥有所要求的功能,同时,力争达到高效率、高可靠性、可修改性,并且容易掌握和使用,总体设计过程通常有两个主要阶段组成:系统设计和结构设计,其中系统设计确定系统的具体实现方案,结构设计确定软件结构。[11]4.1系统概要设计网上购物时,客户打开商城首页,注册并已经登录的用户可以浏览和购买商品,未登录的客户只能够浏览商品但不能购买商品。顾客可选择注册为本商城的会员,也可不注册,未登录的客户将只能拥有浏览功能,不能进行下单和购买。顾客登录成功后,选择喜欢的商品点击购买来下订单。订单成功之后订单信息会保存到数据库中。管理员可登录后台管理系统对订单进行管理和状态修改。由配送中心给客户发货,待客户确认收货折后一次交易过程结束。广告信息商城公告前台功能模块购物车会员注册销售排行会员登陆特价商品新品上架会员信息管理商品查询收银台商品展台商品购物会员管理图4.1系统前台功能模块前台管理系统各模块功能如下: (1)商品分类展示:按商品的品牌进行展示。(2)购物车管理:包括清除购物车中所有商品、修改商品数量、删除商品等功能。(3)用户注册:注册会员成功后才能进行购物。用户登陆:用户登录之后才能开始购物。后台各个模块的详细功能说明如下:(1)商品信息管理:包括商品分类管理、商品上架、下架、商品信息修改等(2)会员信息管理:包括查看会员信息等功能。(3)注册用户管理:包括已注册用户的查询、删除、管理用户会员级别等。(4)广告信息管理:对公告的增加、删除、修改、和查询。(5)订单信息管理:包括订单信息浏览,订单审核和状态修改。(6)商品管理:包括对品牌、类别、基本信息等信息管理。前台系统功能模块如图4.1。后台系统功能模块如图4.2。后台功能模块商品维护订单管理商品列表广告管理后台登陆退出系统商品添加会员管理商品管理图4.2后台功能模块图4.2数据库设计 本系统后台数据库用的是MySQL数据库。数据库的设计主要是指数据词典的设计,即数据保存到数据库中需要存在的表格。经过对商城做了整体分析后,该数据库主要包括:商品信息表,商品分类表,用户信息表,订单信息表,已售商品信息统计表等。根据需求分析中所需的各种功能,首先应在数据库中建立相应的商品信息、订单信息等数据库表格。具体如表4.1-4.5所示。表4.1商品分类字段名称字段说明字段类型字段约束默认值category_id自增idint主键-category_name分类名称varchar(128)-nullparent_id分类父idint-null表4.2商品信息表字段名称字段说明字段类型字段约束默认值goods_id商品idint主键-goods_name商品名varchar(128)-nullgoods_weight商品重量int-nullgoods_price商品价格float-nullgoods_number商品数量int-nullcategory_id类型IDint-nullgoods_brand_id品牌idint-nullgoods_introduce商品介绍varchar(128)-nullgoods_big_img商品大图varchar(128)-nullgoods_small_img商品小图varchar(128)-nullcreate_time上线时间DATE-nullgoods_recommend推荐varchar(20)-null表4.3用户信息表字段名称字段说明字段类型字段约束默认值Id自增idInt主键-userName用户名varchar(20)-nulluserPass用户密码varchar(50)-nullemail邮箱varchar(20)-nullphone联系电话varchar(20)-nullsex性别varchar(10)-nulleducation学历varchar(20)-nullhobby爱好varchar(20)-nullpassRemark密保提示varchar(20)-nullloginTime登陆时间varchar(20)-null 表4.4订单信息表字段名称字段说明字段类型字段约束默认值sub_id自增idint主键-sub_order_sn订单编号varchar(32)-nullgoods_id商品idvarchar(64)-nullgoods_name商品名称varchar(64)-nullgoods_price商品单价varchar(32)-nullgoods_number商品数量varchar(32)-nullsum-price价格小计varchar(32)-null表4.5已售商品信息表字段名称字段说明字段类型字段约束默认值sale_id自增idint主键-sale_goods_id商品名称int-nullsale_goods_count售出数量int-null 第五章系统详细设计5.1连接数据库本系统采用的是MySQL数组库作为后台数据库,运用反射技术从dbdata.properties中获取数据库账户信息,极大的增加了代码的可维护性(dbdata.properties信息如图5.1)。图5.1数据库连接信息通过JDBC技术将系统的前后台连接起来,前台将后台的数据展现给客户,让客户了解商城的商品信息以及库存等,实现的对商城商品数据的管理。JDBC主要有四步,加载JDBC驱动、URL定义驱动与数据源之间的连接、执行器、数据库的CRUD操作等,代码如下:publicclassDBUtil{privatestaticBasicDataSourceds;static{try{//加载数据库信息Propertiesproperties=newProperties();properties.load(newFileInputStream(newFile(InitConfigListener.getContextPath()+"WEB-INF/conf/datasource.properties")));ds=(BasicDataSource)BasicDataSourceFactory.createDataSource(properties); }catch(Exceptione){e.printStackTrace();}}/***获取数据库连接*@return数据库连接Connection*/publicstaticConnectiongetConnection(){Connectionconn=null;try{conn=ds.getConnection();}catch(SQLExceptione){e.printStackTrace();}returnconn;}/***关闭三种连接,三个参数都可为空*@paramrsResultSet结果集*@paramstatStatement(或其子类)执行器*@paramconnConnection连接*/publicstaticvoidcloseConn(ResultSetrs,Statementstat,Connectionconn){ try{if(null!=rs)rs.close();if(null!=stat)stat.close();if(null!=conn)conn.close();}catch(SQLExceptione){e.printStackTrace();}}/***执行增、删、改语句*@paramsql语句*@return数据库中受影响的行数*/publicstaticintexecuteUpdate(Stringsql){intresult=0;Connectionconn=getConnection();PreparedStatementpstate=null;try{pstate=conn.prepareStatement(sql);result=pstate.executeUpdate();}catch(SQLExceptione){e.printStackTrace();}finally{closeConn(null,pstate,conn); }returnresult;}}5.2系统模块设计与具体实现5.2.1登录模块的实现登录模块主要是对会员账户及密码的输入,并对账户的信息进行验证,若验证成功系统直接跳转到商城主界面,否则会提示“账户信息错误”或者“密码错误”。在用户验证登录成功之后就可以在本商城进行购物等操作。在会员登录过程中,首先对账户信息与后台数据库进行验证,此外还需判断是否勾选七天面登陆操作的功能。其中在勾选7天内自动登录后,用户可在接下来的七天内,不用输入账户密码,而是直接登录,就可以在本商城进行购物该功能的实现主要是在用户勾选该项功能之后,将用户的账户密码保存在本地的目录下,用户下次访问本商城的时候,系统会先调用本地保存的账户信息文件,解析出账户和密码自动登录从而实现了7天内免登录的功能。登录效果图如下。图5.2会员登录模块图具体实现代码如下:StringuserName=request.getParameter("username"); StringpassWord=request.getParameter("password");//通过name查找用户对象FrontUserDaofud=newFrontUserDao();UserRegisterEntityuserRegisterEntity=fud.findFrontUserMsg(userName,passWord);//如果为空则表示用户名或者密码不对if(userRegisterEntity==null){response.sendRedirect("page/front/login.jsp?msg="+"1");}else{Stringname=userRegisterEntity.getUserName();request.getSession().setAttribute("name",name);//保存session面实现登陆StringupTime=newUserRegisterDao().findLoginTimeByName(name);//判断用户是否为首次登录if(upTime==null){upTime="欢迎您首次来到商城";} 图5.3会员注册模块5.2.2注册模块的实现初次来到本网站购物的顾客,进行账号注册填写基本信息保存到后台数据库中。其中带*的为必填数据,并且在输入相关信息的时候会通过正则表达式进行验证,因此填入的信息必须按照系统规定的格式填写。当信息填写完毕之后,验证通过用户即可登录在本商城挑选购买商品。会员注册的实现过程主要是将客户所填写的信息经过javabean中的user类对信息的组装,再通过userDao中的插入方法将会员信息保存到数据库中。在保存到数据库时,系统会先验证是否已经存在该用户,确保账户的安全和唯一性。注册界面效果图如图5.3所示。以下代码主要是对注册界面的显示、后台数据库验证以及信息是否合法的实现,界面清晰为方便用户填写信息,并提示用户该如何填写信息。(1)创建用户界面创建窗体表单,窗体中包括用户名、密码、确认密码、密码提示、邮箱、手机、性别、学历、爱好、简介等等。由于字段跟源代码较多,就以用户名跟密码字段为例,具体代码如下: 用户名*密码*…//省略其它表单字段定义(2)逻辑控制,对用户输入的信息验证格式是否正确。在jsp页面中插入script,写验证函数。在此以验证用户名是否合法为例,具体代码如下://检测用户名是否合法functioncheck_usr(obj){varobjvalue=obj.value;$.get("CheckUserName?name="+objvalue,function(data){if(data=='no'){document.getElementById('unameMsg').innerHTML="√可以使用!";flag=true;}else{document.getElementById('unameMsg').innerHTML="抱歉,已经被注册啦!";flag=false;}});}…//省略其它字段逻辑验证控制(3)将用户填入的信息保存到数据库。创建UserRegisterEntity工具类,将jsp中通过onsubmit提交过来的数据打包,然后存储在数据库的user表中。具体代码实现如下:UserRegisterEntityure=newUserRegisterEntity(userName,passWord,email,phone,sex,education,hobby,describe,passRemark,loginTime);intresult=newUserRegisterDao().updateMassage(ure);updateMassage函数如下:publicintupdateMassage(UserRegisterEntityure){Connectionconn=null;PreparedStatementstat=null;introwCount=0;try{conn=DBUtil.getConnection();Stringsql="insertintosw_user_front(userName,userPass,email,phone,sex,education,hobby,abstruct,passRemark,loginTime)values(?,MD5(?),?,?,?,?,?,?,?,?)";stat=conn.prepareStatement(sql);stat.setString(1,ure.getUserName());stat.setString(2,ure.getPassWord());stat.setString(3,ure.getEmail()); stat.setString(4,ure.getPhone());stat.setString(5,ure.getSex());stat.setString(6,ure.getEducation());stat.setString(7,ure.getHobby());stat.setString(8,ure.getDescribe());stat.setString(9,ure.getPassRemark());stat.setString(10,ure.getLoginTime());rowCount=stat.executeUpdate();}catch(Exceptione){e.printStackTrace();}finally{DBUtil.closeConn(null,stat,conn);}returnrowCount;5.2.3购物车模块的实现电子商城的购物车模块主要作用是帮助客户一次性完成多个商品的结算购买。当客户将喜欢的上品放置在购物车时,可以单击购物车中的继续购物按钮在选择其他商品,也可以单击结算中心完成本次购物。购物车主要功能:用户存放喜欢的商品、修改购物车中某个商品的数量、购物车中商品价格合计、移除用户指定的商品。用户查看购物车时,会优先判断用户是否登录,若用户没有登录则会跳转到登录页面,提示用户登录。显示购物车中的信息主要是指将已经保存到session中的商品信息,通过for循环在浏览器页面显示给用户,并且根据商品的价格、数量计算出总共应付金额。添加商品到购物车功能实现,主要是通过把用户选定的商品信息,通过javabean组合,然后添加到用户的session中来完成。修改商品数量和移除指定商品功能的实现:根据所选择的商品的ID,修改数据库中购物车表中的信息,然后通过for循环把修改后的购物车信息读取出来展示给消费者。 5.4后台管理界面效果图5.2.4后台模块的实现(1)后台管理界面管理员可通过内部的通道进入到管理员入口。通过该入口可以进入到后台管理页面,在该页面输入管理员的用户名和密码就可以登录后台,在登录过程中会通过JavaScript进行账号信息的验证,登录成功后,管理员可在系统的下方看到当前登录的账号,账号注册的时间,登录的次数和ip等信息。后台管理模块主要有商品管理、广告管理、订单管理、查看销售额统计图等。后台界面如图5-4所示。管理员可以执行以下操作:商品管理模块:管理员在此模块可以对商品进行上架、下架处理,以及对已经上架的商品信息进行修改。在此模块的操作将就直接影响到前台商品的显示,是商品信息的实时更新。效果如图5.5。图5.5商品管理模块 界面实现代码如下:添加商品商品编号:"/>…//省略其它表单字段商品上架:管理员可以在商品管理页面的右上角点击“添加商品”进行商品的上架。添加商品的过程主要是相数据库中加入新增加商品的信息。在实现商品上架时,首先使用JavaBean中Goods类把商品的基本信息组装起来,在调用Dao层中的insert方法将新的商品信息保存到数据库中。商品信息修改:在对应的商品信息后面可对商品信息进行修改,修改商品信息的过程是先将商品中原有的信息取出来,显示到修改信息页面上,管理员对需要更新的商品信息进行相应的修改,然后通过Dao中的Update方法将重新组装好的信息修改到数据库中,即实现了商品信息修改的这一过程。(1)广告管理:广告是商城中的一部分,它的主要目的是为本商城或者其他企业做宣传,热推本商城中的商品,也可为其他企业做信息宣传赚取一定的广告费用等。在本模块可以上传新的广告、对固定位置的广告进行删除和替换。本商城广告主要是以图片方式显示。广告管理的全过程主要有:上传广告:管理员上传要显示的广告,数据库以bolb格式将广告保存到数据库中; 设置广告:管理员通过设置广告按钮,将选择的广告设为商城需要显示的广告。同时系统会根据管理员的操作,将被选择的广告解析出来,显示到商城中并将广告保存到本地,方便下次访问商城时能够更快的启动。(3)订单管理:主要功能是将订单信息进行分页显示,仅能查看订单的概要信息。分页显示主要动态的从数据库中查询出订单信息,查询数据与之前查询无异,只需调用dao层中的查询方法即可查出相关的数据信息,再次重点论述分页功能的实现。分页显示主要有以下六个步骤:①确定记录的跨度,即一个页面显示的条数;②确认记录的总条数,可通过getInt(1)方法获得数据库中所有记录的条数;③利用总条数/每页显示的条数=总页数,计算出总共有多少页,如果得出的结果有余数,则舍去余数总页数加1;④获取当前的页码,如果当前页码小于1,则置当前页码为1,如果大于总页数,则置当前页码为总页码;⑤计算当前的记录条数,当前记录条数=(页码-1)* 跨度+1;⑥利用for循环显示当前的额页码具体实现代码如下://加载驱动Class.forName("com.mysql.jdbc.Driver");//得到连接Connectionct=DriverManager.getConnection("jdbc:mysql://localhost:3306/tour","root","root");Statementsm=ct.createStatement();//接收pageNow参数Strings_pageNow=request.getParameter("pageNow");intpageNow=1;if(s_pageNow!=null){pageNow=Integer.parseInt(s_pageNow); }//查询总页数intpageCount=0;//当前为第几页intpageSize=3;//每页显示几条记录introwCount=0;//总共有多少条记录ResultSetrs=sm.executeQuery("selectcount(*)fromusers");if(rs.next()){rowCount=rs.getInt(1);if(rowCount%pageSize==0){pageCount=rowCount/pageSize;}else{pageCount=rowCount/pageSize+1;}}rs=sm.executeQuery("select*fromuserslimit"+((pageNow-1)*pageSize+1)+","+pageNow*pageSize+"");while(rs.next()){out.println("");out.println(""+rs.getString(2)+"");out.println(""+rs.getString(5)+"");out.println(""+rs.getString(6)+"");out.println("");}out.println("");//打印总页数 for(inti=1;i"+"第"+i+"页"+"");}out.println("");rs.close();sm.close();ct.close();(4)查看某年销售额统计报表。管理员可以查看某个年份中一个品牌的销售额走势图,以及在某年中各个品牌中销售的比额。企业可根据统计的数据做出相应的销售计划,是否在某月做促销活动,或者是否对某种品牌停止销售、调整等。效果图如5.6、5.7所示。图5.6品牌某年内的销售走势图 图5.7某年内各品牌的销售份额统计图 第六章系统测试6.1系统测试是指在软件和硬件初步完成时候,检查系统是否能够正常运行的操作。目的是验证系统是否满足了需求规格的定义,找出与需求规格不符或与之矛盾的地方,检查错误并且做出修改。6.2测试方法要进行测试,需在进行测试之前测试者应对结果做出预期,方便在测试完成之后作出比对。在测试过程中,与预期的结果进行比对,若出现不同结果则表示发现错误。因此测试用例是由实际测试结果跟预期结果构成的。测试方法主要分为两类:黑盒测试与白盒测试。白盒测试是把程序看成装在一只透明的白盒子里,测试者完全了解程序的结构和处理过程,根据程序的内部逻辑来设计测试用例,检查程序中的逻辑通路是否都按预定的要求正确地工作。[12]黑盒测试是把程序看成一只黑盒子,测试者完全不了解(或不考虑)程序的结构和处理过程,根据规格说明书规定的功能来设计测试用例,检查程序的功能是否符合规格说明的要求。[12]6.3测试环境针对本系统的特点,提供硬件最低配置如下:CPU:IntelPentium4或更高;内存:1G;硬盘:40G;操作系统:中文WIMDOWS;开发环境:MyEclipse;数据库:MSql;服务器端软件:JDK1.5.0.05,TOMCAT6.0。6.4测试步骤(1)单元测试 单元测试的目的是细化模块,检测局部单位的正确性,简化了大规模的对系统进行检测,从而节省了系统资源。单元测试需要对程序的了解,需要预估计在哪个单元出现了问题,一般由程序员来完成,而非测试人员,完成这一测试需要开发测试驱动跟桩模块来辅助共同完成。因此,一个好的结构系统显得非常重要。针对此商城网站,需要对管理员登录、后台模块管理、前台显示等模块进行测试以保证系统的正确性。(2)集成测试集成测试是指在系统集成过程中所进行的测试,其主要目的是为了检测软件单位之间的接口是否耦合。根据预定的测试计划,将所有模块慢慢的组合成越来越大的系统,在运行系统的同时,分析各个模块组成的系统是否正确,各部分是否能够组合起来完成系统预定的功能。集成测试分为两种:自上而下和自下而上。在此采用自顶向下方式,从网站主页开始进入,测试每个模块之间的联系是否合理,如前台展示与后台管理的接口等。(3)确认测试确认测试又称有效性测试。它的任务验证软件的功能是否与所需求的一致。根据软件需求规格说明书中的描述的全部可见属性,来作为软件有效性测试的基础。6.5系统部分模块测试(1)管理员登录测试在管理员登录界面,若输入的用户名跟密码正确,则进入系统后台管理界面,如果用户名或密码错误则给登陆者登录错误提示。例如:当在用管理员账号进行测试时,如果输入的用户名、密码和验证码都正确,则页面跳转至后台首页,如果用户名或密码错误,则弹出如图6.1提示信息。图6-1管理员登录失败效果图(2)以删除商品为例,在商品列表页面,可以看到各个商品的信息,如果点击删除,会弹出提示对话框,是否确认删除的信息,如图6.2。如果需要删除该商品,点击确认,否则点击取消。6.6测试结论在测试过程中,发现有些功能存在一些问题,但经过修改后再度测试系统,系统是合格的。 图6.2删除商品效果展示 第七章结论本文通过对电子商城的需求分析,到系统的开发实施进行了详细的探讨与研究,论述结果表明,电子商城系统是切实可行的。电子商城是近几年科技飞速发展的产物,它实现了跨地域、低成本、流程简单、丰富的选择性等传统方式不具备的有点,很好的解决了人们对新购物方式的需求,成为目前最受人们追捧的购物方式。总体来看,目前全球电子商务发展仍出于高速增长态势,这将意味着电子商城仍然具有很大的前景。随着移动设备的普及,我认为电子商城不能够完全的满足人们的需求,人们对移动设备的依赖远远超过对PC的依赖,单纯的线上交易将不能很好的占有市场,O2O(onlinetooffline)会成为电子商务的主流。因此,电子商城的功能需要更加完善,不仅能解决线上交易,而且还需要能实现线下交易的功能。总而言之,一个安全完善的电子购物商城是在现阶段必不可少的。 参考文献[1]徐孝凯.数据结构实用教程(Java语言描述)[J].计算机教育,2013,(12):5-8.[2]丁振凡.Java语言实用教程[M].北京:北京邮电大学出版社,2005:3-7.[3]李先军,等.一种基于AJAX技术的B/S与C/S混合构架模式[J].计算机应用,2009,29(4):1135-1138.[4]汪永明.基于B/S结构的在线考试系统[J].微机发展,2004.14(1):32-35.[5]杨铭.基于jsp的动态网页技术探讨[J].科技创新与应用,2014,(35):67-67.[6]谢凤静,王晓虹,陈家海.基于工作过程的项目课程开发的实践与研究-“jsp程序设计”课程案例[J].牡丹江大学学报,2012,(11):153-155.[7]庞山山.基于多角色的登录模块的设计和实现[J].科技信息,2011.7(31):104-104.[8]潘杰,周传生.基于JQuery框架的Web研究与实现[J].沈阳师范大学学报(自然科学版),2015,(1):28-39.[9]常巍.MySQL数据库内容安全研究管理方法论[J].计算机安全,2012,(4):46-48.[10]陈菁菁.Tomcat原理与JavaWeb系统开发[M].北京:清华大学出版社,2009:8-17.[11]史济民,顾春华,郑红.软件工程(第3版)[M].北京:高等教育出版社,2009:43-45.[12]吴东泽.现代软件工程在现代软件开发中的合理应用[J].科技致富向导,2005,(4):120-122. 致谢在我的毕业论文即将完成之际,我要向那些给予我帮助的人表达我心中的感谢之情。首先我要感谢我的指导老师王老师的细心指导与帮助,从开始选题,到项目编码以及论文的写作都提供了宝贵的建议,并一直督促我的进步,这次毕业设计的完成与王老师的帮助、指导密不可分。其次我还要感谢在毕业设计过程中那些帮助我的、为我提供解决方案的同学,是他们在我困惑的时候支持和关心。在此期间,我不仅学到了解决问题的方法和许多新的知识,而且也开阔了视野,提高了解决问题的能力,端正了做学术应该有的态度。由于个人学识有限,论文完成的不是尽善尽美,真诚希望各位师长、同学提出宝贵建议。最后,再次向指导老师王老师、其他任课老师还有亲爱的同学们致以我最真挚的感谢!

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
关闭