电子商务平台毕业设计.docx

上传人:b****8 文档编号:9902663 上传时间:2023-05-21 格式:DOCX 页数:64 大小:2.80MB
下载 相关 举报
电子商务平台毕业设计.docx_第1页
第1页 / 共64页
电子商务平台毕业设计.docx_第2页
第2页 / 共64页
电子商务平台毕业设计.docx_第3页
第3页 / 共64页
电子商务平台毕业设计.docx_第4页
第4页 / 共64页
电子商务平台毕业设计.docx_第5页
第5页 / 共64页
电子商务平台毕业设计.docx_第6页
第6页 / 共64页
电子商务平台毕业设计.docx_第7页
第7页 / 共64页
电子商务平台毕业设计.docx_第8页
第8页 / 共64页
电子商务平台毕业设计.docx_第9页
第9页 / 共64页
电子商务平台毕业设计.docx_第10页
第10页 / 共64页
电子商务平台毕业设计.docx_第11页
第11页 / 共64页
电子商务平台毕业设计.docx_第12页
第12页 / 共64页
电子商务平台毕业设计.docx_第13页
第13页 / 共64页
电子商务平台毕业设计.docx_第14页
第14页 / 共64页
电子商务平台毕业设计.docx_第15页
第15页 / 共64页
电子商务平台毕业设计.docx_第16页
第16页 / 共64页
电子商务平台毕业设计.docx_第17页
第17页 / 共64页
电子商务平台毕业设计.docx_第18页
第18页 / 共64页
电子商务平台毕业设计.docx_第19页
第19页 / 共64页
电子商务平台毕业设计.docx_第20页
第20页 / 共64页
亲,该文档总共64页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

电子商务平台毕业设计.docx

《电子商务平台毕业设计.docx》由会员分享,可在线阅读,更多相关《电子商务平台毕业设计.docx(64页珍藏版)》请在冰点文库上搜索。

电子商务平台毕业设计.docx

电子商务平台毕业设计

摘要

本毕业设计采用SSH(Struts+Spring+Hibernate)整合框架以及mvc模式来实现网店管理,消费者注册、购买等服务的平台系统。

在表示层中,首先通过JSP页面实现交互界面,负责传送请求和接收响应,然后Struts根据配置文件将接收到的Request委派给相应的Action处理。

在业务层中,管理服务组件的SpringIoC容器负责向Action提供业务模型组件和该组件的协作对象数据处理组件完成业务逻辑。

最后,经过对市场系统进行详细的需求分析、体系架构设计后,实现了这个网上购物系统,前台功能包括注册和登录、商品浏览、个人信息管理等;后台功能包括商品管理、订单管理等。

通过实践,很好的整合了这三个框架,将其应用到实际的项目中,方便以后更好的工作,体现了较高的应用价值。

关键词:

电子商务平台;Spring;Struts;Hibernate;Java

 

Abstract

ThisgraduationassignmentusedSSH(Struts+Spring+Hibernate)framework.Whatismore,itachievemanagementofonlinestore,customers’registerandpurchasingservicebasedonMVCsystemandSSHframework.

Inthepresentationlevel,thefirststepisusedJSPwebsitetocompleteinteractiveinterface,whichchargeforrequestandresponse.ThentheStrutsaccordingtoalreadyfiletransformtherequestfromtheActionServlettopointedAction.Intheprocessinglevel,ManagementservicemoduleSpringIOCwilloffertheprojectmoduleModelandDAO moduletoActiontocompleteprocessingandofferingthemodulesincludedbusinessdealing,bufferpoolwhichaimstoimprovethesystemefficiencyandensurecomplementofthedata.

Finally,weachievedthisonline-shoppingsystemwhichissupportedbythevarietiesoftechnologiesreferredabove,afteranalyzingtherequirementofmarketsystemanddesigntheframework.Thissystemdivideintoprosceniumandbackgroundoperation.Intheproscenium,itserviceforregister,login,scanninggoods,personalinformationmanagement.Backgroundoperationisusedforgoodsmanagement,goodsclassifymanagementandordersmanagement.Wesuccessfullyputthreeframeworkintopracticeandapplythemintoreality,WehavearichexperienceofhandlingtheBAEdatabasewhichisbehelpfultoourfuturejob.Ingeneral,ithasagreatapplicationvalue.

Keywords:

E-commerce;Spring;Struts;Hibernate;Java

 

引言

随着网速的不断提升,前台界面的不断完善、美化,后端设计的渐渐优化,网上购物必然会给喜欢网上购物的群体带来更好的体验,电子商务也必然是日后销售的主要方式。

同时网上购物的方式也会给客人们提供更多地时间和精力做更重要的事情,给商家提供更方便的条件去专注的提高商品的质量。

基于J2EE的毕业设计管理系统旨在解决传统的学生毕业设计管理过程中存在的论文选题开放性差、表格不规范、论文相关信息汇总难度高、人员摄入量大、工作进度缓慢等问题,并结合毕业设计管理过程中的具体特点和个性化需求,运用计算机专业技术开发了基于J2EE的毕业设计管理系统,该系统具备高效性、便捷性等特点。

实践证明,开发的系统软件能满足复杂的网上毕业设计管理要求,学生和老师不用下载客户端即可进行毕业设计相关的操作。

基于java的电子商务网站设计及开发可以使学生尽早的体验进入公司后的模式,怎么设计网站,怎么优化性能,怎么搭建开发平台、运行环境等。

通过实践,了解更多相关行业的技术手段、代码规范,了解更多地框架特点,了解数据库的使用和设计等。

更好的进入企业,实现自己的价值做准备。

1研究背景与研究意义

1.1研究背景

随着信息化世界的到来,传统商务模式受到巨大的冲击。

越来越多的企业和个人,在Internet开放的网络环境下,以一种基于浏览器---服务器应用的新模式,实现消费者网上购物,商户之间出现网上交易和在线电子支付的新的商业运营模式:

电子商务。

目前做得比较成功的电子商务平台有:

当当网,阿里巴巴,淘宝,国美在线,亚马逊,eBuy等。

电子商务在中国也有一定的发展,目前在国内也有很多很好的电子商务平台,通过分析国内的电子商务平台可知,目前国内的电子商务做的都是集合型,一个平台会出售各个方面的商品。

一些较好的网购平台,如:

京东商城,淘宝网,拍拍网,红孩网等电子商务网站,涉及商品门类都很多,他们的共同特点就是只有产品的展示与订购,没有产品厂商的。

目前中国能用上电子商务平台的都是一些大中型的企业,而大部分的中小型,特别是小型企业还是用着以前的生意模式,靠朋友,靠关系,靠老客户来维持企业,这种模式在过去的时代会有一定的优势,但在信息网络时代这种模式缺乏主动性,往往会使企业处在被动的状态[1]。

像阿里巴巴这样的大型电子商务平台是能很好地帮助企业做宣传,联系客户,但是阿里巴巴基本上是面对大中型的企业,每年的管理费用都非常高,对于一些中小企业要承受一笔高的资金是很困难的。

为了能够上中小型企业特别是小型企业能够用上电子商务平台,我们特地开发此系统,使中小型企业也能做到生产,宣传,销售一条龙[2]。

关于电子商务平台的设计,现有Java,php,.net三种主流的语言。

由于都是用于web开发,他们相互竞争的同时也相互吸取优点,经过融合使自身变得越来越强大。

比如当你用C#,php,java开发的时候,你会发现在他们之间转换,根本就没有语言障碍,甚至连好多类或方法都是同名或相似。

从应用层面上来讲,php是专门用于web开发的一门技术/语言,用于制作个人网页。

他是一门轻量级的语言,专一于web开发,汲百家之长,由于完全开源,因此具有良好的群众基础和发展潜力;java的的确确就是一门语言,可以用于各方面的开发,和c++是平辈web开发只是他的应用的一部分;是一项技术,他是脱离语言的,可以用语言C#和VB设计,是由微软推出,集各家所长,asp技术和.net组合而来。

由于.netfromwork技术的引入,的开发变得特别简单,但是由于过多的拖拉控件使程序员只懂表面控件二不了解内部原理,所以很大程度的限制了程序员的发展。

首先,java是一门采用解释执行的运行方式运行的语言,在web领域有很高的利用率;其次,ASP.NET是一门技术,在windows里运行,会产生费用,而php和java是免费的,比较拘泥。

而php就是一门专门用于web开发的语言/技术。

在有语言基础的条件下学web,php比较直接,javaweb应用适用范围更广。

开发时,Java开发效率成本高,主要的好处是配合oracle效率非常不错,但现在由于MySQL的开源以及免费,绝大部分的公司会选择MySQL,适合大型web和超大型web。

php开发成本一般可以更快的生成动态页面,配合mysql效率也不错,适合中型和偏大一点的web。

开发非常之快,可以配合sqlserver使用,适合中小型web[3]。

关于数据库现在主流的有oracle,MySQL,SQLServer三种,本平台采用MySQL数据库:

Oracle的数据文件包括:

控制文件、数据文件、重做日志文件、参数文件、归档文件、密码文件。

所有文件都是二进制编码后的文件;Oracle能在所有主流平台上运行(包括windows)。

完全支持所有的工业标准。

采用完全开放策略。

并行服务器可提供高可用性和高伸缩性的簇的解决方案也可以把数据库移到UNIX中。

从安全性来说,获得最高认证级别的ISO标准认证。

多层次网络计算,支持多种工业标准,可以用ODBC,JDBC,OCI等网络客户连接,操作简便[4]。

MySQL的最大一个特色,就是自由选择存储引擎。

每个表都是一个文件,都可以选择合适的存储引擎。

常见的引擎有InnoDB、MyISAM、NDBCluster等[5]。

但由于这种开放插件式的存储引擎,比如要求数据库与引擎之间的松耦合关系。

从而导致文件的一致性大大降低。

在SQL执行优化方面,也就有着一些不可避免的瓶颈。

在多表关联、子查询优化、统计函数等方面是软肋,而且只支持极简单的HINT,主要应用场景就是互联网开发。

SQLServer的数据架构基本是纵向划分,分为:

协议层,关系引擎,存储引擎,SQLOS。

SQL执行过程就是逐层解析的过程,其中RelationalEngine中的优化器,是基于成本的(CBO),其工作过程跟Oracle是非常相似的。

在成本之上也是支持很丰富的HINT,包括:

连接提示、查询提示、表提示。

其最大的优势就是在于集成了MS公司的各类产品及资源,提供了强大的可视化界面、高度集成的管理开发工具[6]。

SQLServer的缺点:

只能在windows上运行,没有丝毫的开放性,操作系统的系统的稳定对数据库是十分重要的。

Windows9X系列产品是偏重于桌面应用,NTserver只适合中小型企业。

而且windows平台的可靠性,安全性和伸缩性是非常有限的;它不像unix那样久经考验,尤其是在处理大数据;并行实施和共存模型并不成熟。

很难处理日益增多的用户数和数据卷。

伸缩性有限;没有获得任何安全证书;多用户时性能不佳;C/S结构,只支持windows客户,可以用ADO,DAO,OLEDB,ODBC连接[7]。

1.2研究意义

本系统采用SSH(Struts,Spring,Hibernate)框架来开发。

SSH框架是目前J2EE领域里最热门而且用得较为成熟的一套开源框架,它是基于MVC设计模式之上,在充分发挥MVC设计模式优点的同时,也创造出了自己的开发特点,降低了应用程序的耦合性,更进一步提高了应用程序的复用性、移植性、灵活性、扩展性和应用性能[8]。

SSH是一套轻量级的开发框架,相对于EJB重量级开发框架,SSH在继承了它的优点的同时,在开发和执行效率上都有了相当程度的提高,同时对于开发者而言,它比EJB更容易学习和撑握,开发速度也更快。

目前Struts和Spring发展到2.0版本,Hibernate发展到3.0版本,SSH框架也正在不断地进行优化和升级,运行也越来越稳定。

1.3主要工作

根据需求分析将商家所列出的功能体现到代码中,用前台的jsp界面展现出来。

首先,根据需求分析进行技术选型:

数据库:

MySQL(开源,免费,体积小且速度快的MySQL数据库);

语言:

Java(面向对象、分布式、解释型、可靠、安全、平台无关、可移植、高性能、多线程);

开发环境:

myeclipse2013(插件少,比较稳定);

框架:

SpringStruts2Hibernate。

其次,根据商家的需求设计demo,并且设计数据库表结构。

最后,根据设计好的表结构以及demo实现逻辑功能,将前端展示与后台数据联系到一起,完成一个真正的购物平台。

2需求分析

2.1平台设计目的

本平台设计目的在于建立一个以SSH框架为基础,结构灵活、可复用、可扩展,高效开发且轻量的电子商务应用平台。

平台框架为本人设计的主要目标,能够根据业务实际需求变化灵活操作平台功能模块。

2.2平台设计需求

软件需求是指用户对目标软件系统在功能、行为、性能、设计约束等方面的期望。

通过对应用问题及其环境的理解与分析,为问题涉及的信息、功能及系统行为建立模型,将用户需求精确化、完全化,最终形成需求规格说明,这一系列的活动即构成软件开发生命周期的需求分析阶段[9]。

2.2.1用户体验需求

作为一个购物平台,最终的使用者是购买商品的人,那么他们的体验就显得尤为重要。

一个好的人机交互体验可以给这个网站增加不少的亮点:

1)界面美观大方,不能过于花哨,由于本网站用于销售蛋糕,所以界面应尽量给人一种温馨甜美的感觉。

2)操作简单,导航等提示信息言简易懂,尽量减少页面跳转,避免找不到已选好的商品等令人烦躁的事情发生。

3)可以根据用户的想法进行查询,分类,节省客人的时间,增加体验值。

4)及时更新商家商品的上架、下架信息,避免出现没有客人要预定的商品的情况。

2.2.2平台功能需求

功能需求(functionalrequirement)就是编程人员必须实现的软件功能,使得用户能实现他们的想法,从而满足了业务需求[10]。

针对本系统来说,本系统需要完成的功能是基于SSH框架基础之上来构建购物的整个流程,然后,利用面向对象的程序设计方法以及用户界面层、业务逻辑层、数据持久化三层模式完成该平台的设计与实现,减轻后续开发过程中的代码维护工作。

1)首页:

为企业提供一个网站首页,在上面显示网站的重要信息包商家LOGO,用户的登录,用户的注册,主要商品分类,商家生产环境等。

2)用户的注册:

主要针对未注册的用户,完成注册功能使用,在注册过程中,需要进行数据的前台非空校验,电话号码等数据格式的检验,及使用AJAX完成用户名是否存在的异步校验。

在校验通过后即可完成注册,注册成功后转回登录界面进行登录;失败则提示失败信息等。

3)用户的登录:

已经注册的用户,输入用户名和密码登录。

4)用户的退出:

针对已经登录的用户,退出该用户的权限空间。

5)首页商品展示:

显示全部商品,方便不知道自己想要那种商品的客人挑选自己喜欢的商品。

6)分类商品展示:

根据某个分类的信息去展示商品。

可以方便用户根据自己的喜好快速定位相应商品,节省时间和不必要的麻烦。

7)商品详情展示:

当点击某个具体商品的时候,可以显示商品的具体内容,包括:

商品类型,尺寸,价格等信息。

8)购物车:

此功能可以为用户提供购物功能,方便用户根据自己需要,将喜欢的商品添加到购物车,当然也可以从购物车中将多余的商品移除,甚至清空整个购物车,方便重新选择商品。

9)订单:

登录用户可以对自己喜欢商品进行购买,产生订单,在线支付等。

以及可以查询自己的订单。

10)商家的发货:

后台管理商家的发货信息,完善一整套的购买流程。

 

图2.1购物流程

2.3运行环境

运行环境分为硬件环境和软件环境,一个好的硬件环境可以提高服务的性能,一个好的软件环境可以使开发者更加高效的开发,以及更好的维护。

2.3.1硬件环境

服务器端的最低配置是由建立站点所需的软件来决定的,本网系统服务器端的最低配置如下:

处理器:

Inter(R)Core(TM)i5-3337UCPU@1.80GHZ1.80GHZ。

内存:

4.00GB

系统:

Windows764位操作系统

硬盘空间:

160G

显卡:

SVGA显示适配器

2.3.2软件环境

操作系统:

Windows7

网站服务器:

Tomcat6.x+jdk7.x

数据库管理系统:

MySQL5.x

3平台整体规划

平台整体分为前台和后台,主要重点在与前台数据的显示以及购物的整个流程。

通过简洁大方,风格统一的前台展示给购物者一个愉快的购物氛围,分为:

商品展示,购物车,订单,企业文化,新手指南等模块。

后台则用于实现商品的发货管理。

3.1模式分析

模式描述了环境中不断重复发生的问题,然后描述解决这些问题的核心解决方案,以后就可以重负使用这些解决方案,而不需要在重复去做,即明确了所关注问题的使用范围,指引设计师何时、如何、为何采用干这个解决方案,提高了应用系统的可维护性、可扩展性、可移植性和组件的可复用性,提高开发人员的工作效率和代码质量[12]。

MVC是一种将应用程序的逻辑层和表现层进行分离的方法。

MVC式的出现实现了功能模块和显示模块的分离。

3.1.1模型

模型是应用程序的主体部分,分为业务模型和实体模型,用于持久化业务数据。

一般来说,你的模型类将包含增删改查数据库信息的功能[13]。

3.1.2视图

视图是应用程序中用户界面相关的部分,是用户看到并与之交互的界面。

V层用来数据展示,本平台中V层采用JSP技术。

通过JSP技术可以很方好地把数据展示在web浏览器上。

JSP把html语言和java语言进行分离,既达到了解耦的目的,也可以使后续系统的维护变得更方便。

把流程控制都放到Action层,把业务逻辑处理放在service层中,充分利用Struts2技术,在html页面中使用Struts2标签来展示数据,减少在html页面上写java语句[14]。

3.1.3控制器

控制器是模型、视图以及其它任何处理HTTP请求所必须的资源之间的中介。

由于运用MVC的应用程序的三个部件是相互对立,改变其中一个不会影响其它两个,所以依据这种设计思想你能构造良好的松耦合的构件[15]。

本系统是在MVC模式基础上来进行分层,由于本系统开发的工具是MyEclipse,在建立工程时开发工具就已经初步把系统分成MVC三层结构。

模型层由Models层来充当,该层主要是用来存实体Bean类和Hibernate影射文件。

通过该层开发者很方便地对整个工程下的Bean进行管理,同时也非常方便地对Hibernate配置文件进行影射,极大的提高了开发的效率,同时对以后系统的维护也非常方便。

C层主要是用来做流程和逻辑控制,也是整个系统的核心层。

所有进出系统的访问都要经过这一层的控制。

本系统对C层时行了一些改进,我们把控制层又细分为Action层,service层和Dao层。

Action层只管流程控制,Service层只管逻辑控制,Dao层只管与数据打交道,各施其职,每个层次只管自己的事情,这样能使整个系统的层次非常分明,不会出现功能的混淆[16]。

让开发者和维护者在编写代码的时候非常清晰。

MVC模型的局限性,MVC将业务逻辑层和表现层分开,的确能很好地松耦合,但这种做法有时也会增加开发和运行开销。

首先MVC采用多分层结构,这样就给开发带来了难度,增加了开发的时间,并且如果在层次设计的时候设计得不好,反而会降低程序运行的效率。

另外多层次结构在运行的时间没有单层次结构的程序运行的速度快,采用MVC模式如果分层太多,是会降低程序运行速度。

所以我们做开发的要因物施用,根据需要使用合适的模式来开发[17]。

MVC模式它提出来的初衷就是为大型软件设计而提出的,它对那些需要经常复用,扩展的大型软件是非常有好处,但对于那些复用性,扩展性很少的小软件,特别是对于开发时间要求比较紧的情况下,采用MVC模式,其实不是一种明智的选择。

3.2SSH分析与整合

3.2.1Struts2框架

Struts2以webwork的设计思想为核心,使用拦截器(filterdispatcher)做为其中心处理器将Action类和servletAPI进行了分离。

Struts2是一个具有很好实用价值的WebMVC框架,它减少了直接运用MVC模式来开发Web应用的周期。

重要的是它是一个开源框架,方便开发者深入研究了解其机制,越来越广泛的接受和应用。

而且它提供一个好的控制器和一套定制的标签库Taglib,着力在控制器和视图上的应用,完美的体现了MVC设计思想。

提供集中统一的权限控制、国际化提示和消息、输入校验和日志记录等技术支持。

另外,它对其他技术和框架具有良好的融合性。

如能与EJB、JDBC和Hibernate等数据库访问技术相结合,利用集成技术减少数据库的工作量[18]。

Struts2的体系结构如图所示:

Results/resultType

Browser

ser

View

ser

Controller

DispatcherFilter

JSP

Interceptors

Free

marker

setXxx()

Execute()

Value

Stack/OGNL

Model

getXxx()

….

Action

图3.1Struts2体系结构

Struts2核心实现:

Struts2主要是用来控制整个平台运作流程。

由三部分组成,核心控制器FilterDispatcher、业务控制器以及用户实现的业务逻辑组件。

FilterDispatcher作为Filter运行在Web中,负责拦截用户请求,当请求到达时,该Filter会过滤用户请求。

请求将被转入Struts2框架处理。

Struts2框架获得了请求后,将根据请求的前面部分决定如何调用Action类[19]。

Struts2处理请求步骤:

1)客户端提交一个(HttpServletRequest)请求。

2)请求被提交到过滤器(Filter)。

3)FilterDispatcher是控制器的核心,就是MVC的Struts2实现中控制层(Controller)的核心。

4)FilterDispatcher询问ActionMapper是否需要调用某个Action来处理这个(HttpServletRequest)请求,如果ActionMapper决定需要调用某个Action,FilterDispatcher则把请求的处理交给ActionProxy。

5)ActionProxy通过ConfigurationManager(struts.xml)询问框架的配置文件,找到需要调用的Action类

6)ActionProxy创建一个ActionInvocation实例,同时ActionInvocation通过代理模式调用Action。

但在调用之前,ActionInvocation会根据配置加载Action相关的所有Interceptor(拦截器)。

7)Action执行完毕,ActionInvocation负责根据struts.xml中的配置找到对应的返回结果result。

Web.xml中的Struts配置:

struts2

org.apache.struts2.dispatcher.ng.filter.StrutsPr

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 初中教育 > 语文

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2