基于Struts框架的网上书店设计与实现.docx

上传人:b****2 文档编号:2745600 上传时间:2023-05-04 格式:DOCX 页数:32 大小:517.49KB
下载 相关 举报
基于Struts框架的网上书店设计与实现.docx_第1页
第1页 / 共32页
基于Struts框架的网上书店设计与实现.docx_第2页
第2页 / 共32页
基于Struts框架的网上书店设计与实现.docx_第3页
第3页 / 共32页
基于Struts框架的网上书店设计与实现.docx_第4页
第4页 / 共32页
基于Struts框架的网上书店设计与实现.docx_第5页
第5页 / 共32页
基于Struts框架的网上书店设计与实现.docx_第6页
第6页 / 共32页
基于Struts框架的网上书店设计与实现.docx_第7页
第7页 / 共32页
基于Struts框架的网上书店设计与实现.docx_第8页
第8页 / 共32页
基于Struts框架的网上书店设计与实现.docx_第9页
第9页 / 共32页
基于Struts框架的网上书店设计与实现.docx_第10页
第10页 / 共32页
基于Struts框架的网上书店设计与实现.docx_第11页
第11页 / 共32页
基于Struts框架的网上书店设计与实现.docx_第12页
第12页 / 共32页
基于Struts框架的网上书店设计与实现.docx_第13页
第13页 / 共32页
基于Struts框架的网上书店设计与实现.docx_第14页
第14页 / 共32页
基于Struts框架的网上书店设计与实现.docx_第15页
第15页 / 共32页
基于Struts框架的网上书店设计与实现.docx_第16页
第16页 / 共32页
基于Struts框架的网上书店设计与实现.docx_第17页
第17页 / 共32页
基于Struts框架的网上书店设计与实现.docx_第18页
第18页 / 共32页
基于Struts框架的网上书店设计与实现.docx_第19页
第19页 / 共32页
基于Struts框架的网上书店设计与实现.docx_第20页
第20页 / 共32页
亲,该文档总共32页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

基于Struts框架的网上书店设计与实现.docx

《基于Struts框架的网上书店设计与实现.docx》由会员分享,可在线阅读,更多相关《基于Struts框架的网上书店设计与实现.docx(32页珍藏版)》请在冰点文库上搜索。

基于Struts框架的网上书店设计与实现.docx

基于Struts框架的网上书店设计与实现

前言

随着Internet信息技术的高速发展和个人、企业上网的迅速普及,企业的WWW网站在商业活动中发挥着越来越大的作用,在信息时代,建立一个功能强大、界面美观的电子商务网站,建立电子商务系统平台,对企业的发展是至关重要的。

所谓电子商务,是指各种具有商业活动能力的实体(生产企业、商贸企业、金融机构、政府机构、个人消费者等)利用网络和先进的数字化传媒技术进行的各项商业贸易活动。

其中特别要强调的特点,一是其商业背景,二是网络化和数字化。

简言之,电子商务就是通过电子网络渠道达成的商务活动。

电子商务是计算机网络的第二次革命,它通过电子手段建立新的经济秩序,不仅涉及电子技术和商业交易本身,而且涉及诸如金融、税务、教育等社会其他层面。

对于电子商务的研究始于20世纪70年代末,而其实施要更晚些,实施又分为两步,其中电子数据交换(ElectronicDataInterchange,EDI)始于20世纪80年代中期,Internet上的电子商务始于20世纪90年代初期。

电子商务活动相应分成两大类:

企业组织-企业组织(Business-Business,B2B)型和企业组织-消费者(Business-Consumer,B2C)型。

根据统计,目前电子商务活动中80%的收属于B2B型商务活动,这由于企业组织的信息化程度和技术水平比个体消费者明显要高,主要面向的是企业与企业,为企业提供进行采购、销售和结算等业务的平台。

B2C则是我们最熟悉的,它直接面向终端的大众消费者。

它通常也有两种形式,一种是类似一个大的超市,里面摆放着大量的商品,提供给消费者直接去选择购买;而另一种形式则类似一个大商城,商城中有许多柜台,用户可以直接到柜台选择和购买自己中意的东西,然后去结算,这种商城只提供柜台和相关的服务,并收取相应的柜台使用费。

一般意义上,一个完整的电子商务系统包括信息流、资金流与物流三个要素,三者相辅相成。

信息流就是通过电子网络向客户揭示所售商品的相关信息,引导客户通过网络进行购物。

资金流就是使客户在选择商品后,能够通过网络支付相关费用,一般包括预付款支付、网上银行支付、货到付款等多种形式。

目前有些电子商务网站也可以接受邮局汇款。

物流就是把客户所购买的商品通过物流配送系统送到客户手中,对于一些特殊行业和领域和电子商务,如证券、金融信息类商品,也可能不需要配送系统的支持就可以把商品送到客户手中(如股票、电子杂志、域名注册等)。

在电子商务中,除了上述三个要素外,网络安全也是需要重点考虑的因素。

据调查,有1/3的网民认为网络安全是影响其网上购物的因素,因此为了保证网络交易的安全,电子商务网站需要采用数据加密、电子签名等多种措施进行安全认证。

 

第1章系统开发技术

§1.1MVC模式简介

MVC是Model(模型)——View(视图)——Controller(控制器)的缩写,它适用于大型可扩展的Web应用的开发,它强制性地将应用程序的输入、处理和输出分开,将其划分为模型、视图和控制器三个核心部分,使它们各司其职,各自完成不同的任务,其中任何一部分的修改都不会影响其它两部分。

在MVC模式中,模型封装了应用问题的核心数据、逻辑关系和业务规则,提供了业务逻辑的处理过程。

模型一方面被控制器调用,完成问题处理的操作过程,另一方面为视图获取显示数据提供了访问数据的操作。

因为模型是与数据格式无关的,因此一个模型可以为多个视图提供数据,这样一个模型一次编写可以被多个视图重用,从而避免了代码的重复编写。

视图是MVC模式下用户看到的并与之交互的界面。

视图从模型处获得数据,视图的更新由控制器控制。

视图不包含任何业务逻辑的处理,它只是作为一种输出数据的方式。

MVC模式中,控制器主要起导航的作用,它根据用户的输入调用相应的模型和视图去完成用户的请求。

控制器本身不输出任何东西,它接受用户请求并决定调用哪个模型构件去处理,以及由哪个视图来显示模型处理之后返回的数据。

MVC的处理过程是这样的:

对于每一个用户输入的请求,首先被控制器接收,并决定由哪个模型来进行处理,然后模型通过业务处理逻辑处理用户的请求并返回数据,最后控制器用相应的视图格式化模型返回的数据,并通过显示页面呈现给用户。

图1-1所示为模型、视图、控制器这三个模块各自的功能以及它们之间的相互关系:

图1-1MVC模式[3]

§1.2Struts是实现MVC模式的框架

设计模式是软件开发经验的总结,它是一个概念,是一个逻辑实体,而框架可以看成是基于某一特定平台的一种或几种设计模式的物理实现。

设计模式比框架更抽象,设计模式只有其实例才能表示为代码,而框架本身可以用代码表示,框架是一套设计详细的类,类与类之间功能各异,又彼此联系,相辅相成,形成了对某一类问题的可重用的、易扩展的解决方案。

Struts是实现MVC模式的通用框架,它由四个主要部分组成,模型、视图、控制器和XML文件。

模型通常由JavaBean或EJB组件实现,负责处理业务逻辑;视图包括一组JSP文件,这些文件主要由JSP标签或客户化标签构成,它简化了JSP页面的编码工作;在Struts框架中控制器主要包括ActionServlet类和Action类,ActionServlet是Struts的核心部件,它接受用户的Http请求,根据配置信息将请求转发给适当的Action对象,Action类负责调用模型的方法,并帮助控制应用程序的流程;Struts包括Web.xml和Struts—config.xml两个配置文件,其中Web.xml是Web应用的发布描述文件,Struts—config.xml是与Struts相关的特殊信息配置的描述文件。

 

第2章需求分析

 

网上书店系统主要是实现网上选书、购书、产生订单等功能的系统。

一个典型的网上商城一般都需要实现商品信息的动态展示、购物车管理、客户信息注册登录管理、订单处理等模块。

§2.1用户需求分析

本网上书店系统主要完成以下具体任务:

§2.1.1图书查询需求

当客户进入网上书店时,应该在主页面中分类显示最新的书目信息,以供客户选择所需图书,同时也应该提供按照图书名称,或者作者住处快速查询所需书目信息的功能。

§2.1.2购物车管理需求

当客户选择购买某图书产品时,应该能够将对应图书信息,例如:

价格、数量记录到购物车中,并允许客户返回书目查询页面,选择其他商品,并添加到购物车中,当对购物订单生成后,应该能够自动清除以生成订单的购物车中的信息。

§2.1.3订单处理需求

对应客户购买图书商品信息的需求,在确定了所购图书商品的价格、数量等信息后,提示用户选择对应的送货方式及付款方式,最终生成对应的订单记录,以便于网站配货人员依据订单信息进行后续的出货、送货和处理。

§2.1.4会员注册需求

为了能够实现图书商品的购买,需要管理客户相关的联系方式、送货地点等相关信息。

§2.2网上书店系统的用例图

图2-1网上书店USECase

第3章系统总体设计

 

§3.1UML活动关系图

下面是进入网上书店可以进行的操作。

具体的UML活动如下图所示:

图3-1UML活动关系图

§3.2

系统组成

表3-1构成网上书店系统的各个组件

用户表示层

(视图)

控制处理层

(控制器)

业务逻辑

(模型)

bookcart.jsp

bookdetail.jsp

bottom.jsp

editcart1.jsp

editcart.jsp

index.jsp

indexbookshow.jsp

order.jsp

orderconfirm.jsp

payment.jsp

searchresult1.jsp

searchresult.jsp

sides.jsp

top.jsp

userlogin.jsp

userRegister1.jsp

userRegister.jsp

welcome.jsp

ActionForm

Action

BookcartBean

CheckBean

DBPool

OrderBean

OrdershowBean

ShowBookBean

UserBean

EditcartForm

LoginForm

OrderForm

PaymentcartForm

RegisterForm

SearchbookForm

ShowpageForm

AddcartAction

ClearcartAction

DeleteAction

EditAction

EditcartAction

LoginAction

LogoutAction

OrderAction

OrdershowAction

PaymentAction

PaymentcartAction

RegisterAction

SearchbookAction

ShowBookActionAction

ShowbookdetailAction

ShowcartAction

ShowpageAction

§3.3功能设计

§3.3.1图书信息管理

该模块实现图书书目信息的分类显示,也提供图书信息依据书名及类别信息快速搜索的功能。

此外,在用户选择了对应书目信息后,还可以显示出有关该图书的详细信息,以便于客户了解所购商品。

§3.3.2购物车管理

用于维护每一个进入网上书店的客户对应的购物车。

即将客户所选购的图书商品信息记录到对应的购物车中,以便于到收银台进行结账处理。

§3.3.3会员注册

实现网上书店客户信息的注册、及身份验证。

由于目前网上商城普遍采用的方式为送货上门或者邮寄,因此需要收集与客户相关的联系方式、通信地址等信息。

§3.3.4订单处理

根据客户购物车中的信息,以及客户所选择的送货方式和付款方式,连同客户对应的个人信息生成订单,以便于后续进行送货处理。

 

第4章数据库设计与实现

 

§4.1数据库的需求分析

依据网上书店的处理需求,对应数据表的设计及功能如下:

一、图书基本信息表:

存放网上书店所销售图书的基本信息。

二、图书分类基本信息表:

存放网上书店所提供图书分类的信息。

三、客户基本信息表:

存放书店客户的基本信息。

四、订单信息表:

存放与客户相关的订单的基本信息。

五、订单条目详细信息表:

存放订单中详细条目的基本信息。

§4.2数据库的逻辑设计

根据以上需求分析,在确定了各个表主键字段的基础上,依据表与表之间相关字段之间的联系建立了各表之间的关系,对应的关系图如图4-1所示:

 

图4-1数据库逻辑图

 

其中图书基本信息表中的分类编号“catid”与图书分类信息表中的“id”为相关字段。

订单信息表中的“id”与订单条目详细信息表中的“orderid”是相关字段,而订单条目详细信息表中的“bookid”与图书基本信息表中的“id”相关。

§4.3数据表基本结构

1.图书信息表

图书信息表(book)是用来保存网上书店每一种图书基本信息的数据表,是维护管理图书数据的依据。

表4-1书图书信息表

字段名

描述

类型

长度

是否允许为空

是否主键

id

图书编号

integer

11

catid

图书分类编号

varchar

5

bookname

图书名称

varchar

100

price

图书价格

double

15

saleprice

会员价格

double

15

descript

图书介绍

varchar

255

author

图书作者

varchar

50

contents

图书目录

varchar

255

image

图书封面名字

varchar

50

2.图书分类基本信息表

图书分类基本信息表(bookcat)记录了与网上书店图书分类相关信息。

表4-2图书分类基本信息表

字段名

描述

类型

长度

是否允许为空

是否为主键

id

图书分类编号

integer

11

catname

图书分类名称

varchar

40

3.客户基本信息表

客户基本信息表(storeuser)存放了网上书店对应的客户信息,包括客户的姓名、联系方式等信息。

表4-3客户基本信息表

字段名

描述

类型

长度

是否允许为空

是否主键

loginname

用户名

varchar

20

password

密码

varchar

20

name

客户姓名

varchar

20

telephone

客户电话

varchar

20

address

客户地址

varchar

100

email

客户邮箱

varchar

50

4.订单信息表

表4-4订单信息表

字段名

描述

类型

长度

是否允许为空

是否主键

orderid

订单编号

integer

11

loginname

订单用户名

varchar

20

time

产生订单时间

datetime

19

delivery

订单对应送货方式

varchar

20

payment

订单对应付款方式

varchar

20

5.订单条目详细信息表

表4-5订单条目详细信息表

字段名

描述

类型

长度

是否允许为空

是否主键

loginn

ame

订单用户名

varchar

20

bookid

图书编号

integer

11

count

订购数量

int

11

price

图书单价

double

5

countprice

购书总价

double

5

§4.4创建数据表脚本

在基本的数据表的结构确定后,就可以在mysql中完成数据表的创建工作,下面给出建立对应数据表的SQL脚本。

1.图书基本信息表:

CREATETABLE`book`(

`id`int(11)NOTNULLauto_increment,

`catid`varchar(5)NOTNULLdefault'0',

`bookname`varchar(100)NOTNULLdefault'',

`price`double(15,3)NOTNULLdefault'0.000',

`saleprice`double(15,3)NOTNULLdefault'0.000',

`descript`varchar(255)NOTNULLdefault'',

`author`varchar(50)defaultNULL,

`contents`varchar(255)defaultNULL,

`image`varchar(50)defaultNULL,

PRIMARYKEY(`id`)

)TYPE=MyISAM

2.图书分类基本信息表:

CREATETABLE`bookcat`(

`id`int(11)NOTNULLdefault'0',

`catname`varchar(40)defaultNULL,

PRIMARYKEY(`id`)

)TYPE=MyISAM

3.客户基本信息表:

CREATETABLE`storeuser`(

`loginname`varchar(20)NOTNULLdefault'',

`password`varchar(20)NOTNULLdefault'',

`name`varchar(20)NOTNULLdefault'',

`telephone`varchar(20)NOTNULLdefault'',

`address`varchar(100)NOTNULLdefault'',

`email`varchar(50)defaultNULL,

PRIMARYKEY(`loginname`)

)TYPE=MyISAM

4.订单信息表:

CREATETABLE`orders`(

`orderid`int(11)NOTNULLauto_increment,

`loginname`varchar(20)NOTNULLdefault'',

`time`datetimeNOTNULLdefault'0000-00-0000:

00:

00',

`delivery`varchar(20)NOTNULLdefault'',

`payment`varchar(20)NOTNULLdefault'',

PRIMARYKEY(`orderid`)

)TYPE=MyISAM

5.订单条目详细信息表:

CREATETABLE`orderdetail`(

`loginname`varchar(20)NOTNULLdefault'',

`bookid`int(11)NOTNULLdefault'0',

`bookname`varchar(50)NOTNULLdefault'',

`count`int(11)NOTNULLdefault'0',

`price`double(15,3)NOTNULLdefault'0.000',

`countprice`double(15,3)NOTNULLdefault'0.000'

)TYPE=MyISAM

第5章系统实现过程

§5.1开发平台

服务器:

ApacheTomcat5.0;

数据库:

Mysql4.0;

平台:

Myeclipse4.1+jdk1.5.0+jdbc+JavaBean+struts1.2

操作系统:

windowsXP

§5.2系统各组件实现

§5.2.1用户表示层

在用户表示层中主要是一些相关的JSP页面。

该层对应的JSP页面应该放在WEB应用目录store下。

1.网上书店首页:

在本页面中,当单击选择书目分类时,将提交“href="showBookAction.do?

catid=?

"”请求,以便于获取对应图书分类的相关信息。

其中?

代表书类别号。

当选择了查询依据,并且输入了对应的关键字,单击“搜索”按钮时,将提交“searchbook.do”请求,同时提交查询条件,进行后续书目信息搜索处理。

当在书目列表中单击查看详细信息时,将发出“showbookdetail.do?

bookid=?

”请求,同时传递对应图书编号,以获取指定图书更加详细的信息。

此外单击“首页”,“上页”,“下页”超链接后,将分别提交“showbookaction.do?

page=?

&catid=?

”等请求,以实现页面的跳转。

(其中?

代表相应的参数)

1.1循环显示图书分类信息主要代码如下:

presentname="showbook">

iterateid="bookdetailname="showbook"type="com.shop.ShowBookBean">

writename="bookdetail"property="name"/>

messagekey="author"/>

writename="bookdetail"property="author"/>

messagekey="price"/>

writename="bookdetail"property="price"/>

messagekey="saleprice"/>

writename="bookdetail"property="saleprice"/>

messagekey="user.bookcart"/>

2.图书详细信息显示:

本面是在控制器响应了网上书店主页提交的查看图书详细信息请求,即“showbookdetail.do”请求后,跳转到的页面。

在该页面中将获取到的指定图书详细信息显示出来,同时后续放入购物车的处理。

2.1实现的主要代码如下:

presentname="booklist">

iterateid="bookdetail"name="booklist">

writename="bookdetail"property="name"/>

messagekey="author"/>

writename="bookdetail"property="author"/>

writename="bookdetail"property="descript"/>

messagekey="price"/>

writename="bookdetail"property="price"/>

writename="bookdetail"property="saleprice"/>

writename="bookdetail"property="contents"/>

iterate>

present>

3.显示购物车信息页面:

该页面是在用户选择购买某中图书商品后,进入的页面。

在该页面中将显示该用户购物车中现有的所有购买需求记录。

同时提供更新购物车的操作界面,例如,可以输入购买数量或者选择删除购买记录。

单击“更改数量”按钮后,将提交“edit.do”请求,进行对应的图书数量更改。

此外,也可以单击“继续购书”按钮,提交“showbookaction.do”请求返回网上书店主页面继续购书,或者单击“清空购物车”按钮提交“clearcart.do”请求。

同时,如果用户确认去收银台,则可以单击“结算付款”按钮跳转到“payment.do”请求,如果你没有登陆,将跳转到“userlogin.jsp”页面进行用户登录。

3.1实现主要代码如下:

presentname="showcart">

iterateid="showinfo"name="showcart">

writename="showinfo"property="bookname"/>

writename="showinfo"property="count"/>

writename="showinfo"property="saleprice"/>

writename="showinfo"property="countprice"/>

iterate>

present>

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

当前位置:首页 > 党团工作 > 入党转正申请

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

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