ImageVerifierCode 换一换
格式:DOCX , 页数:32 ,大小:517.49KB ,
资源ID:11758565      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/11758565.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于Struts框架的网上书店设计与实现.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

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

1、基于Struts框架的网上书店设计与实现前 言随着Internet信息技术的高速发展和个人、企业上网的迅速普及,企业的WWW网站在商业活动中发挥着越来越大的作用,在信息时代,建立一个功能强大、界面美观的电子商务网站,建立电子商务系统平台,对企业的发展是至关重要的。所谓电子商务,是指各种具有商业活动能力的实体(生产企业、商贸企业、金融机构、政府机构、个人消费者等)利用网络和先进的数字化传媒技术进行的各项商业贸易活动。其中特别要强调的特点,一是其商业背景,二是网络化和数字化。简言之,电子商务就是通过电子网络渠道达成的商务活动。电子商务是计算机网络的第二次革命,它通过电子手段建立新的经济秩序,不仅涉

2、及电子技术和商业交易本身,而且涉及诸如金融、税务、教育等社会其他层面。对于电子商务的研究始于20世纪70年代末,而其实施要更晚些,实施又分为两步,其中电子数据交换(Electronic Data Interchange,EDI)始于20世纪80年代中期,Internet上的电子商务始于20世纪90年代初期。电子商务活动相应分成两大类:企业组织-企业组织(Business-Business,B2B)型和企业组织-消费者(Business-Consumer,B2C)型。根据统计,目前电子商务活动中80%的收属于B2B型商务活动,这由于企业组织的信息化程度和技术水平比个体消费者明显要高,主要面向的是

3、企业与企业,为企业提供进行采购、销售和结算等业务的平台。B2C则是我们最熟悉的,它直接面向终端的大众消费者。它通常也有两种形式,一种是类似一个大的超市,里面摆放着大量的商品,提供给消费者直接去选择购买;而另一种形式则类似一个大商城,商城中有许多柜台,用户可以直接到柜台选择和购买自己中意的东西,然后去结算,这种商城只提供柜台和相关的服务,并收取相应的柜台使用费。一般意义上,一个完整的电子商务系统包括信息流、资金流与物流三个要素,三者相辅相成。信息流就是通过电子网络向客户揭示所售商品的相关信息,引导客户通过网络进行购物。资金流就是使客户在选择商品后,能够通过网络支付相关费用,一般包括预付款支付、网

4、上银行支付、货到付款等多种形式。目前有些电子商务网站也可以接受邮局汇款。物流就是把客户所购买的商品通过物流配送系统送到客户手中,对于一些特殊行业和领域和电子商务,如证券、金融信息类商品,也可能不需要配送系统的支持就可以把商品送到客户手中(如股票、电子杂志、域名注册等)。在电子商务中,除了上述三个要素外,网络安全也是需要重点考虑的因素。据调查,有1/3的网民认为网络安全是影响其网上购物的因素,因此为了保证网络交易的安全,电子商务网站需要采用数据加密、电子签名等多种措施进行安全认证。第1章 系统开发技术1.1 MVC模式简介MVC是Model(模型)View(视图)Controller(控制器)的

5、缩写,它适用于大型可扩展的Web应用的开发,它强制性地将应用程序的输入、处理和输出分开,将其划分为模型、视图和控制器三个核心部分,使它们各司其职,各自完成不同的任务,其中任何一部分的修改都不会影响其它两部分。在MVC模式中,模型封装了应用问题的核心数据、逻辑关系和业务规则,提供了业务逻辑的处理过程。模型一方面被控制器调用,完成问题处理的操作过程,另一方面为视图获取显示数据提供了访问数据的操作。因为模型是与数据格式无关的,因此一个模型可以为多个视图提供数据,这样一个模型一次编写可以被多个视图重用,从而避免了代码的重复编写。视图是MVC模式下用户看到的并与之交互的界面。视图从模型处获得数据,视图的

6、更新由控制器控制。视图不包含任何业务逻辑的处理,它只是作为一种输出数据的方式。MVC模式中,控制器主要起导航的作用,它根据用户的输入调用相应的模型和视图去完成用户的请求。控制器本身不输出任何东西,它接受用户请求并决定调用哪个模型构件去处理,以及由哪个视图来显示模型处理之后返回的数据。MVC的处理过程是这样的:对于每一个用户输入的请求,首先被控制器接收,并决定由哪个模型来进行处理,然后模型通过业务处理逻辑处理用户的请求并返回数据,最后控制器用相应的视图格式化模型返回的数据,并通过显示页面呈现给用户。图1-1所示为模型、视图、控制器这三个模块各自的功能以及它们之间的相互关系:图1-1 MVC模式3

7、1.2 Struts是实现MVC模式的框架设计模式是软件开发经验的总结,它是一个概念,是一个逻辑实体,而框架可以看成是基于某一特定平台的一种或几种设计模式的物理实现。设计模式比框架更抽象,设计模式只有其实例才能表示为代码,而框架本身可以用代码表示,框架是一套设计详细的类,类与类之间功能各异,又彼此联系,相辅相成,形成了对某一类问题的可重用的、易扩展的解决方案。Struts是实现MVC模式的通用框架,它由四个主要部分组成,模型、视图、控制器和XML文件。模型通常由Java Bean或EJB组件实现,负责处理业务逻辑;视图包括一组JSP文件,这些文件主要由JSP标签或客户化标签构成,它简化了JSP

8、页面的编码工作;在Struts框架中控制器主要包括ActionServlet类和Action类,ActionServlet是Struts的核心部件,它接受用户的Http请求,根据配置信息将请求转发给适当的Action对象,Action类负责调用模型的方法,并帮助控制应用程序的流程;Struts包括Web.xml和Strutsconfig.xml两个配置文件,其中Web.xml是Web应用的发布描述文件,Strutsconfig.xml是与Struts相关的特殊信息配置的描述文件。第2章 需求分析网上书店系统主要是实现网上选书、购书、产生订单等功能的系统。一个典型的网上商城一般都需要实现商品信息

9、的动态展示、购物车管理、客户信息注册登录管理、订单处理等模块。2.1 用户需求分析本网上书店系统主要完成以下具体任务:2.1.1 图书查询需求当客户进入网上书店时,应该在主页面中分类显示最新的书目信息,以供客户选择所需图书,同时也应该提供按照图书名称,或者作者住处快速查询所需书目信息的功能。2.1.2 购物车管理需求当客户选择购买某图书产品时,应该能够将对应图书信息,例如:价格、数量记录到购物车中,并允许客户返回书目查询页面,选择其他商品,并添加到购物车中,当对购物订单生成后,应该能够自动清除以生成订单的购物车中的信息。2.1.3 订单处理需求对应客户购买图书商品信息的需求,在确定了所购图书商

10、品的价格、数量等信息后,提示用户选择对应的送货方式及付款方式,最终生成对应的订单记录,以便于网站配货人员依据订单信息进行后续的出货、送货和处理。2.1.4 会员注册需求为了能够实现图书商品的购买,需要管理客户相关的联系方式、送货地点等相关信息。2.2 网上书店系统的用例图图2-1网上书店USE Case 第3章 系统总体设计3.1 UML活动关系图下面是进入网上书店可以进行的操作。具体的UML活动如下图所示: 图3-1UML活动关系图3.2 系统组成表3-1构成网上书店系统的各个组件用户表示层(视图)控制处理层(控制器)业务逻辑(模型)bookcart.jspbookdetail.jspbot

11、tom.jspeditcart1.jspeditcart.jspindex.jspindexbookshow.jsporder.jsporderconfirm.jsppayment.jspsearchresult1.jspsearchresult.jspsides.jsptop.jspuserlogin.jspuserRegister1.jspuserRegister.jspwelcome.jspActionFormActionBookcartBeanCheckBeanDBPoolOrderBeanOrdershowBeanShowBookBeanUserBeanEditcartFormLog

12、inFormOrderFormPaymentcartFormRegisterFormSearchbookFormShowpageFormAddcartActionClearcartActionDeleteActionEditActionEditcartActionLoginActionLogoutActionOrderActionOrdershowActionPaymentActionPaymentcartActionRegisterActionSearchbookActionShowBookActionActionShowbookdetailActionShowcartActionShowp

13、ageAction3.3 功能设计3.3.1 图书信息管理该模块实现图书书目信息的分类显示,也提供图书信息依据书名及类别信息快速搜索的功能。此外,在用户选择了对应书目信息后,还可以显示出有关该图书的详细信息,以便于客户了解所购商品。3.3.2 购物车管理用于维护每一个进入网上书店的客户对应的购物车。即将客户所选购的图书商品信息记录到对应的购物车中,以便于到收银台进行结账处理。3.3.3 会员注册实现网上书店客户信息的注册、及身份验证。由于目前网上商城普遍采用的方式为送货上门或者邮寄,因此需要收集与客户相关的联系方式、通信地址等信息。3.3.4 订单处理根据客户购物车中的信息,以及客户所选择的送

14、货方式和付款方式,连同客户对应的个人信息生成订单,以便于后续进行送货处理。第4章 数据库设计与实现4.1 数据库的需求分析依据网上书店的处理需求,对应数据表的设计及功能如下:一、图书基本信息表:存放网上书店所销售图书的基本信息。二、图书分类基本信息表:存放网上书店所提供图书分类的信息。三、客户基本信息表:存放书店客户的基本信息。四、订单信息表:存放与客户相关的订单的基本信息。五、订单条目详细信息表:存放订单中详细条目的基本信息。4.2 数据库的逻辑设计根据以上需求分析,在确定了各个表主键字段的基础上,依据表与表之间相关字段之间的联系建立了各表之间的关系,对应的关系图如图4-1所示:图4-1数据

15、库逻辑图其中图书基本信息表中的分类编号“catid”与图书分类信息表中的“id”为相关字段。订单信息表中的“id”与订单条目详细信息表中的“orderid”是相关字段,而订单条目详细信息表中的“bookid”与图书基本信息表中的“id”相关。4.3 数据表基本结构1图书信息表图书信息表(book)是用来保存网上书店每一种图书基本信息的数据表,是维护管理图书数据的依据。表4-1书图书信息表字段名描 述类 型长 度是否允许为空是否主键id图书编号integer11否是catid图书分类编号varchar5否否bookname图书名称varchar100否否price图书价格double15否否sa

16、leprice会员价格double15否否descript图书介绍varchar255是否author图书作者varchar50是否contents图书目录varchar255是否image图书封面名字varchar50是否2图书分类基本信息表图书分类基本信息表(bookcat)记录了与网上书店图书分类相关信息。表4-2图书分类基本信息表字段名描 述类 型长 度是否允许为空是否为主键id图书分类编号integer11否是catname图书分类名称varchar40否否3. 客户基本信息表客户基本信息表(storeuser)存放了网上书店对应的客户信息,包括客户的姓名、联系方式等信息。表4-3客

17、户基本信息表字段名描述类型长度是否允许为空是否主键loginname用户名varchar20否是password密码varchar20否否name客户姓名varchar20否否telephone客户电话varchar20否否address客户地址varchar100否否email客户邮箱varchar50否否4.订单信息表表4-4订单信息表字段名描述类型长度是否允许为空是否主键orderid订单编号integer11否是loginname订单用户名varchar20否否time产生订单时间datetime19否否delivery订单对应送货方式varchar20否否payment订单对应付款方

18、式varchar20否否5.订单条目详细信息表表4-5订单条目详细信息表字段名描述类型长度是否允许为空是否主键loginname订单用户名varchar20否是bookid图书编号integer11否是count订购数量int11否否price图书单价double5否否countprice购书总价double5否否4.4 创建数据表脚本在基本的数据表的结构确定后,就可以在mysql中完成数据表的创建工作,下面给出建立对应数据表的SQL脚本。1图书基本信息表:CREATE TABLE book ( id int(11) NOT NULL auto_increment, catid varchar

19、(5) NOT NULL default 0, bookname varchar(100) NOT NULL default , price double(15,3) NOT NULL default 0.000, saleprice double(15,3) NOT NULL default 0.000, descript varchar(255) NOT NULL default , author varchar(50) default NULL, contents varchar(255) default NULL, image varchar(50) default NULL, PRI

20、MARY KEY (id) TYPE=MyISAM2图书分类基本信息表:CREATE TABLE bookcat ( id int(11) NOT NULL default 0, catname varchar(40) default NULL, PRIMARY KEY (id) TYPE=MyISAM3客户基本信息表:CREATE TABLE storeuser ( loginname varchar(20) NOT NULL default , password varchar(20) NOT NULL default , name varchar(20) NOT NULL default

21、 , telephone varchar(20) NOT NULL default , address varchar(100) NOT NULL default , email varchar(50) default NULL, PRIMARY KEY (loginname) TYPE=MyISAM4订单信息表:CREATE TABLE orders ( orderid int(11) NOT NULL auto_increment, loginname varchar(20) NOT NULL default , time datetime NOT NULL default 0000-00

22、-00 00:00:00, delivery varchar(20) NOT NULL default , payment varchar(20) NOT NULL default , PRIMARY KEY (orderid) TYPE=MyISAM5订单条目详细信息表:CREATE TABLE orderdetail ( loginname varchar(20) NOT NULL default , bookid int(11) NOT NULL default 0, bookname varchar(50) NOT NULL default , count int(11) NOT NU

23、LL default 0, price double(15,3) NOT NULL default 0.000, countprice double(15,3) NOT NULL default 0.000) TYPE=MyISAM第5章 系统实现过程5.1 开发平台服务器:Apache Tomcat 5.0;数据库:Mysql 4.0;平台:Myeclipse 4.1+jdk1.5.0+jdbc+JavaBean +struts 1.2操作系统:windows XP5.2 系统各组件实现5.2.1 用户表示层在用户表示层中主要是一些相关的JSP页面。该层对应的JSP页面应该放在WEB应用目录

24、store下。1.网上书店首页:在本页面中,当单击选择书目分类时,将提交“href=showBookAction.do?catid=?”请求,以便于获取对应图书分类的相关信息。其中?代表书类别号。当选择了查询依据,并且输入了对应的关键字,单击“搜索”按钮时,将提交“searchbook.do”请求,同时提交查询条件,进行后续书目信息搜索处理。当在书目列表中单击查看详细信息时,将发出“showbookdetail.do?bookid=?”请求,同时传递对应图书编号,以获取指定图书更加详细的信息。此外单击“首页”,“上页”,“下页”超链接后,将分别提交“showbookaction.do?page

25、=?&catid=?”等请求,以实现页面的跳转。(其中?代表相应的参数)1.1循环显示图书分类信息主要代码如下:2图书详细信息显示:本面是在控制器响应了网上书店主页提交的查看图书详细信息请求,即“showbookdetail.do”请求后,跳转到的页面。在该页面中将获取到的指定图书详细信息显示出来,同时后续放入购物车的处理。2.1实现的主要代码如下:3.显示购物车信息页面:该页面是在用户选择购买某中图书商品后,进入的页面。在该页面中将显示该用户购物车中现有的所有购买需求记录。同时提供更新购物车的操作界面,例如,可以输入购买数量或者选择删除购买记录。单击“更改数量”按钮后,将提交“edit.do”请求,进行对应的图书数量更改。此外,也可以单击“继续购书”按钮,提交“showbookaction.do”请求返回网上书店主页面继续购书,或者单击“清空购物车”按钮提交“clearcart.do”请求。同时,如果用户确认去收银台,则可以单击“结算付款”按钮跳转到“payment.do”请求,如果你没有登陆,将跳转到“userlogin.jsp”页面进行用户登录。3.1实现主要代码如下:

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1