基于S2SH电子商城完成版文档格式.docx

上传人:b****2 文档编号:612472 上传时间:2023-04-29 格式:DOCX 页数:69 大小:2.47MB
下载 相关 举报
基于S2SH电子商城完成版文档格式.docx_第1页
第1页 / 共69页
基于S2SH电子商城完成版文档格式.docx_第2页
第2页 / 共69页
基于S2SH电子商城完成版文档格式.docx_第3页
第3页 / 共69页
基于S2SH电子商城完成版文档格式.docx_第4页
第4页 / 共69页
基于S2SH电子商城完成版文档格式.docx_第5页
第5页 / 共69页
基于S2SH电子商城完成版文档格式.docx_第6页
第6页 / 共69页
基于S2SH电子商城完成版文档格式.docx_第7页
第7页 / 共69页
基于S2SH电子商城完成版文档格式.docx_第8页
第8页 / 共69页
基于S2SH电子商城完成版文档格式.docx_第9页
第9页 / 共69页
基于S2SH电子商城完成版文档格式.docx_第10页
第10页 / 共69页
基于S2SH电子商城完成版文档格式.docx_第11页
第11页 / 共69页
基于S2SH电子商城完成版文档格式.docx_第12页
第12页 / 共69页
基于S2SH电子商城完成版文档格式.docx_第13页
第13页 / 共69页
基于S2SH电子商城完成版文档格式.docx_第14页
第14页 / 共69页
基于S2SH电子商城完成版文档格式.docx_第15页
第15页 / 共69页
基于S2SH电子商城完成版文档格式.docx_第16页
第16页 / 共69页
基于S2SH电子商城完成版文档格式.docx_第17页
第17页 / 共69页
基于S2SH电子商城完成版文档格式.docx_第18页
第18页 / 共69页
基于S2SH电子商城完成版文档格式.docx_第19页
第19页 / 共69页
基于S2SH电子商城完成版文档格式.docx_第20页
第20页 / 共69页
亲,该文档总共69页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

基于S2SH电子商城完成版文档格式.docx

《基于S2SH电子商城完成版文档格式.docx》由会员分享,可在线阅读,更多相关《基于S2SH电子商城完成版文档格式.docx(69页珍藏版)》请在冰点文库上搜索。

基于S2SH电子商城完成版文档格式.docx

2010.10.7-10.17

系统前台实现

2010.10.18-10.28

系统后台实现

2010.10.29-11.2

测试、文档撰写

3.成绩评定

设计成绩:

指导老师:

年月日

目录

摘要-1-

Abstract-2-

1.引言-3-

2.设计目的与任务-4-

3.需求分析-4-

4.系统设计-5-

4.1分层模式-5-

4.2开发技术与工具-5-

4.3总体设计-10-

4.3.1系统总体结构-10-

4.3.2流程图-12-

4.4详细设计-13-

4.4.1数据库设计-13-

4.4.2系统开发规范及说明-17-

4.4.3具体模块设计-19-

5.程序清单-26-

5.1数据库脚本-26-

5.2项目实现部分代码-29-

6.程序调试与体会-45-

7.运行结果-46-

8.结论-54-

9.致谢-54-

10.参考文献-54-

摘要

随着信息化网络的发展,网络对人们的生活影响越来越大,网上购物也逐渐成为一种趋势,这对电子商场的发展起到了很好的推进作用。

本文主要通过对电子商城的应用环境和主要实现功能进行分析,叙述了本电子商城的设计与实现过程。

该系统是基于多层企业级应用标准JAVAEE技术开发的WEB应用,以典型的MVC模式架构为基础。

采用JaveEE5轻量级框架SSH与前台Ajax技术相结合来实现,在设计过程中全方位的应用软件工程的开发思想,对项目进行UML建模包括各模块的类图、时序图等。

系统基于B/S分布式结构,适应范围广阔。

关键词:

电子商城;

SSH;

Ajax;

框架

Abstract

Withthedevelopmentofinformationnetworks,thenetworkplaysanincreasingroleinpeople'

slives,andonlineshoppingisbecomingatrend,whichwonderfullyfacilitatesthedevelopmentofelectronicstore. 

Thisarticleisfocusedontheanalysisoftheappliedenvironmentofelectronicmallandthemainachievementfunction,forthepurposeofdescribingthedesignandimplementprocessofE-mall.Thesystemisbasedonthewebapplicationdevelopedwithmulti-standardenterpriseapplicationstandardJAVAEE,framedwithclassicalMVCmodelarchitecture,andrealizedthroughthecombinationof 

lightweightframeworkSSHandfrontdeskAjaxtechnology. 

InthedesignprocessafullrangeofapplicationdevelopmentsoftwareengineeringdevelopmentideaswasusedintheUMLmodelingoftheproject,whichincludedclassdiagrams,sequencediagrams. 

ThesystemisbasedonB/Sdistributedarchitecturetomeetabroadrangeofrequirements.

Keywords:

ElectronicMall,SSH,Ajax,Framework

1.引言

随着网上购物的迅猛发展,电子商城大量涌现,而电子商城的出现不仅改变了人们传统的购物方式,也逐渐的影响着人们的消费观,一个好的电子商城不仅能给客户带来方便,更能给企业带来巨大的财富。

本商城主要利用JavaEE与Ajax技术进行开发,具有很强的安全性、可靠性和可扩展性。

其前台实现了从商品选购到订单提交整个业务流程,后台实现了对整个系统的管理,就整体功能而言,能满足基本的网上购物需求,能让用户感到便捷、快速,让企业管理、维护更简单。

2.设计目的与任务

随着信息化技术在生活中的应用越来越广泛,网上购物也逐渐成为人们的一种生活方式。

本系统正是基于这样一种环境下应运而生。

本电子商城分为前、后台两部分,前台主要实现会员的网上购物业务流程,后台则由各种管理员对商城会员、商品、定单等内容进行管理。

3.需求分析

本电子商城分为前后台两部分,前台主要包括非会员和会员用户,后台分为商品管理员、订单管理员、会员管理员和系统管理员。

在系统中依据用户的权限执行相应的功能。

系统用例图如下所示:

图3-1系统用例图

4.系统设计

4.1分层模式

本系统是基于B/S模式开发的JAVAEE多层体系结构WEB应用。

系统开发主要分为以下几层:

表示层、业务层、DAO层、持久层。

业务层和DAO层都通过接口与其它层进行连接从而减小了各层之间的耦合度,实现高内聚、低耦的思想。

分层结构图如下所示:

图4-1系统分层结构

4.2开发技术与工具

主要开发工具为:

MyEclipse8.6、Mysql6.0、Tomcat6.0、PowerDesigner12。

主要技术包括:

JavaEE轻量级框架S2SH、MD5算法、Log4j、Ajax、JSON。

S2SH集成框架是Struts、Spring和Hibernate三种技术的有机融合,是目前应用最广泛的JavaEE架构。

在S2SH集成框架中,Struts的作用是提供MVC模型,将界面、业务逻辑和数据分离,并提供一个高可扩展的架构。

Spring作为核心,向上整合MVC框架,向下整合ORM框架,使用Spring的IoC容器来管理各组件之间之间的依赖关系,Spring的声明事务将负责逻辑层组件的事务管理。

而Hibernate提供了一个抽象的数据服务视图,将用户对数据库的访问进行高度抽象。

Struts是目前创建Web应用最常用的表现层MVC框架实现,是JakartaApache的一个开源项目。

基于Model2的Struts框架利用控制器和定制标签库将应用中的模型和视图分离,达到了层间松散耦合的效果,同时提高系统的灵活性、重用性和维护性。

作为开源项目,Struts经受了大量实践的检验,功能越来越强大,体系也日臻完善,并且对其他技术和框架显示出良好的融合性。

图4-2Struts2.0MVC结构图

Spring由RodJohnson创建,它是为了解决企业应用开发的复杂性而创建的。

Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。

然而,Spring的用途不仅限于服务器端的开发。

从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。

简单来说,Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。

图4-3Spring功能图

Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。

Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用。

图4-4Hibernate运行图

AJAX是AsynchronoutJavaScriptandXML的缩写,它并不是一门新的语言或技术,实际上是几项技术按一定的方式组合在一起,在共同的协作中发挥各自的作用,它包括:

使用XHTML和CSS标准化呈现;

使用DOM实现动态显示和交互;

使用XML和XSLT进行数据交换和处理;

使用XMLHttpRequest进行异步数据读取;

最后用JavaScript绑定和处理所有数据。

AJAX的一个最大的特点是无需刷新页面便可向服务器传输或读写数据(又称无刷新页面),这一特点要得益于XMLHTTP组件XMLHttpRequest对象。

这样就可以像再发桌面应用程序只同服务器进行数据层面的交换,而不用每次都刷新界面,也不用每次将数据处理的工作提交给服务器来做,这样即减轻了服务器的负担又加快了响应速度、缩短了用户等候时间。

图4-5Ajax模型

JSON(JavaScriptObjectNotation,JavaScript对象标记)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。

它基于JavaScript(StandardECMA-2623rdEdition-December1999)的一个子集。

JSON采用与编程语言无关的文本格式,但是也使用了类C语言的习惯,这些特性使JSON成为理想的数据交换格式。

而AJAX可以利用JSON更加有效地接收数据,因为JSON特殊的属性。

在Struts2的showcase中的AJAX部分,JSON的结果输出是通过Freemaker模板实现。

这种方法在简易性和灵活性上都比不上JSON插件。

MessageDigestAlgorithmMD5(中文名为消息摘要算法第五版)为计算机安全领域广泛使用的一种散列函数,用以提供消息的完整性保护。

当用户登录的时候,系统把用户输入的密码进行MD5Hash运算,然后再去和保存在文件系统中的MD5值进行比较,进而确定输入的密码是否正确。

通过这样的步骤,系统在并不知道用户密码的明码的情况下就可以确定用户登录系统的合法性。

这可以避免用户的密码被具有系统管理员权限的用户知道。

Log4j是Apache的一个开放源代码项目,通过使用Log4j,我们可以控制日志信息输送的目的地是控制台、文件、GUI组件、甚至是套接口服务器、NT的事件记录器、UNIXSyslog守护进程等;

我们也可以控制每一条日志的输出格式;

通过定义每一条日志信息的级别,我们能够更加细致地控制日志的生成过程。

最令人感兴趣的就是,这些可以通过一个配置文件来灵活地进行配置,而不需要修改应用的代码。

4.3总体设计

4.3.1系统总体结构

本系统分为前台和后台两部分,前台提供一条网上购物业务流程的功能实现,主要实现模块见图4-6;

后实现对前台功能信息的管理,主要实现模块见图4-7。

前台功能模块:

图4-6前台功能模块

后台功能模块:

图4-7后台功能模块

4.3.2流程图

前台主要分为非会员用户和会员用户,其中只有会员用户才能实现在线购物,而非会员用户必需进行注册。

后台用户主要分为商品管理员、会员管理员、定单管理员、系统维护员,不同的管理员实现不同的功能。

前台流程图:

图4-8前台流程图

后台流程图:

图4-9后台流程图

4.4详细设计

4.4.1数据库设计

本系统数据库开发主要基于Mysql6.0数据库管理工具,包括8个数据库表如下所示:

●数据字典

表4-1e_shop数据表清单

表名

解释

ADMIN

管理员表

CART

购物车表

EVALUATE

商品评价表

MEMBER

会员表

MERCHANTABLE

商品表

ORDERS

定单表

RECORD

记录表

TYPES

类别表

表4-2后台管理员表(ADMIN)

ADMIN(admin)

是否主键

字段名

字段描述

数据类型

长度

可空

约束

缺省值

备注

ADMIN_ID

管理员编号

INT

(2)

2

ADMIN_NAME

管理员名

VARCHAR(50)

50

ADMIN_PWD

管理员密码

VARCHAR(30)

20

ADMIN_TYPE

管理员种类

INT

(1)

1

表4-3购物车表(CART)

CART(cart)

CART_ID

购物车编号

INT(5)

5

CART_MEM_ID

会员编号

CART_MER_ID

商品编号

INT(6)

6

CART_NUM

商品数量

INT(3)

3

表4-4商品评价表(EVALUATE)

EVALUATE(evaluate)

EVAL_ID

评价编号

EVAL_MEM_ID

EVAL_MER_ID

EVAL_DATE

评价日期

VARCHAR(20)

EVAL_CONTENT

评价内容

VARCHAR(200)

200

表4-5会员表(MEMBER)

MEMBER(member)

MEM_ID

MEM_NAME

会员名称

MEM_PWD

会员密码

MEM_TEL

联系电话

VARCHAR(15)

15

MEM_ADDRESS

联系地址

MEM_REGIST_DATE

注册日期

VARCHAR(10)

10

MEM_POST

邮编

MEM_EMAIL

EMAIL

MEM_CART_ID

表4-6商品表(MERCHANTABLE)

MERCHANTABLE(merchantable)

MER_ID

MER_NAME

商品名称

MER_TYPE_ID

商品种类

MER_PLACE

出产地

MER_PRICE

价格

DECIMAL(8,2)

8

MER_DISCOUNT

折扣

DECIMAL(2,1)

MER_PICTURE

图片

MER_DESC

描述

MER_PRODUCTER

厂家

VARCHAR(60)

60

MER_LEAVE_DATE

出厂时间

MER_ADD_DATE

添加时间

MER_NUM

销售数量

INT

表4-7定单表(ORDERS)

ORDERS(orders)

ORDER_ID

定单编号

ORDER_DATE

定单日期

ORDER_MEM_ID

ORDER_STATUS

定单状态

ORDER_SEND_TIME

发送时间

ORDER_REMARK

定单备注

VARCHAR(100)

100

ORDER_SUM

价钱总和

表4-8记录表(RECORD)

RECORD(record)

RECORD_ID

记录编号

RECORD_MER_ID

RECORD_MER_NUM

RECORD_ORDER_ID

表4-9类别表(TYPES)

TYPES(types)

TYPE_ID

类别编号

TYPE_NAME

类别名称

30

TYPE_DESC

类别描述

●数据库概念设计

将抽象的需求转为数据库概念结构,即概念模式。

图4-10概念图

●数据库物理设计

依据所用的数据库由概念模型生成相应的物理模型,如下图所示。

图4-11物理图

4.4.2系统开发规范及说明

1.系统目录及说明如下图

依据架构思想,将开发类主要分为action、bean、dao、service逻辑包。

action包含所有的控制层类,bean包含所有领域对象及相应的ORM映射文件,dao包含所有的持久层抽象类,service包含所有业务层类。

另一方面根据系统开发所需建立filter(过滤器)包、listener(监听器)包、tool(工具)包。

具体如下图所示:

图4-12系统目录图

2.Struts配置文件

图4-13Struts配置文件图

4.4.3具体模块设计

1.模块分析与设计:

整个系统主要包括商品信息模块、会员模块、购物车模块、订单模块、商品类别、后台管理员模块。

商品信息模块:

本模块主要用来显示、查询和商品评论的功能。

主要涉及的类和方法如下类图。

其中PageServiceImpl为分页实现类,在整个系统中属于一个公共组件,故在各模块中不再重复介绍。

另一方面各模块各层之间类的关系也大致相同,都可以参考以下类图。

图4-14商品模块类图

表4-10商品模块主要应用类

类名

含义

MerchantableAction

作为其控制层内容,调用相应的业务方法

HeadService

业务层抽象类,其实现类中包含相应的业务方法

MerchantableDAO

包含相应的持久层方法

表4-11MerchantableAction类

方法

showByType()

调用业务层方法按类别显示商品

showById()

调用业务层方法显示某种商品

research()

调用业务层方法查询商品

showAllMer()

调用业务层方法显示所有商品

deleteMer()

调用业务层方法删除商品

updateMer()

调用业务层方法修改商品信息

saveMer()

调用业务层方法保存商品信息

表4-12HeadService

findById()

调用持久层方法按商品编号查询商品

findByType()

调用持久层方法按种类查询商品

researchMer()

按条件查询商品

删除商品

修改商品

保存商品

表4-13MerchantableDAO类

findAllByKeyword()

按关键字查询所有商品

findByTypes()

按各类查询商品

按商品编号查询商品

delete()

findAll()

查询所有商品

saveOrUpdate()

保存或修改商品

findByNum()

依据数量查询

findPartByTyps()

依据种类查询部分商品

会员模块:

在本模快中用到了两控制层类LoginAction和LoginJsonAction,前者用于普通的控制调用业务层方法,同时返回相应的业务逻辑视图。

后者则是用Struts和Json相结合应用的,首先是能过Ajax提交数据当相应的action,然后调用业务层方法处理完成返回并不是返回某个逻辑视图,而是将返回的信息通过

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

当前位置:首页 > 工程科技 > 能源化工

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

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