网上购物管理系统
- 格式:docx
- 大小:506.40 KB
- 文档页数:30
网上商城购物系统需求说明书(五篇材料)第一篇:网上商城购物系统需求说明书需求说明书1.引言1.1编写的目的需求分析是软件定义时期的最后阶段,它的基本任务是准确地回答“系统必须做什么?”这个问题。
因此,它是作为真个软件开发过程的指南,也是软件开发人员开发符合用户要求的软件的基础。
软件需求规格说明书是需求分析阶段得出的最主要的文档,是为了使用户和软件开发者双方对该软件的初始规定有一个共同的理解,使之成为整个开发工作的基础。
预期的读者为系统的开发者、使用者和指导老师。
1.2背景说明:(1)开发软件系统的名称:网上商城购物系统;(2)任务提出者:XX;(3)开发者:计算机科学与技术的小组成员xx;(4)用户:XX;(5)本系统将使用SQLServer2000作为数据库存储系统。
1.3定义(1)Asp(active server pages)是微软公司推出的一种用以取代CGI的技术,基于目前绝大多数网站应用于windows平台,asp是一个位于windows服务器端的脚本运行环境,通过这种环境,用户可以创建和运行动态的交互式的web服务器应用程序以及EDI(电子数据交换);(2)ADO:ActiveX Data Object, ActiveX 数据对象;(3)SQL:Structured Query Language。
1.4参考资料1、《ASP程序设计及应用》张景峰主编第011903号中国水利水电出版社2009.12、《数据库原理及其教程(第三版)》黄德才主编第088716号科学出版社2010.63、《ASP+SQL Server动态网站开发从基础到实践》杨世锡,赵辉编著第377507号电子工业出版社20054、《ASP+SQL Server项目开发实践》黄雷编著第38854号中国铁道出版社20065、《Dreamweaver 8与ASP动态网站开发自学导航》戎马工作室编著第298301号机械工业出版社20066、《ASP实务经典》林金霖编著[M].北京:中国铁道出版社,2001,2097、《A SP编程基础与实例》丁贵广编著[M].北京:机械工业出版社,2002,518、张海藩.软件工程导论.北京:清华大学出版社,2005.2.任务概述2.1目标在Internet技术深入人心的今天,电子商务最为一种新兴的商务模式,为世界经济提出了一个全新的概念,使得人类生活方式发生了重大的变革。
《面向对象分析与设计》课程设计专业计算机科学与技术班级计算机08-1学号姓名指导教师完成时间2011-6-10成绩目录二设计目的 (3)1.需求分析 (3)系统功能分析 (3)三设计要求 (4) (4) (5) (7).................................................................................9........................................................................ 10 四用UML对系统建模 (12)1.用例图(用例建模)……………………………………………………12前台用户用例图及其文档 (12)后台管理员用例图及其文档 (14)2.系统类图 (16)3.顺序图 (17)4.构造活动图 (20)5.构造状态机图 (29)6.构件图 (33)7.部署图 (33)五使用说明书 (34)六工作总结 (39)一、设计题目:网上购物系统设计二、设计目的需求分析在线商城系统主要是针对中小型商城,购物系统管理员将商品信息整理归类发布到网上,用户登录该网站后,首先要注册为会员才能购买商品,提交订单给购物系统管理员,并同时将费用通过电汇或邮寄的方式交付到商城管理员处。
购物系统管理员在收到付款后,发货给购物者,并同时更新网上有关于该订单的付款状态,从而完成一次交易。
●只允许系统规定的购物系统管理员来添加和修改商品信息;购物系统管理员可以查看该系统的所有注册用户信息,可以修改某一个注册用户的基本信息,也可以删除某个用户;购物系统管理员可以查看该系统的所有订单,可以删除订单,也可以修改订单的付款状态、发货状态。
●任何一个网络用户都可以注册称为该系统的固定用户,注册时需要填写基本注册信息,还可以修改个人的基本信息。
●只有注册用户才能登录此系统,购买商品。
购买商品时可以任意选购商品,任意填写购买数量,可以修改已选择商品的购买数量,可以删除已选择的某一种商品,可以取消购买,可以提交购买下达订单确认一次购买成功。
引言随着经济的发展,网上商城的数量急剧增加,越来越多的人愿意在网上购买商品,也越来越多的雇主愿意在网上开虚拟店铺. 越来越多的人选择呆在家里上网选择商品,而不是上街购买商品。
大至家电数码产品,小至衣服,家具用品。
选择的原因是因为网上的店铺通常情况下都是比较有保证的,而商品相对来说是比较便宜的。
在网上买东西,大多数能节省时间.越来越多的人愿意在网上开店是因为,在网上开店节省了店铺的租金,节省了开店的时间,更多的时间可以接触顾客,而且销售的顾客可以近在身边的顾客,也可以远在其他省市的顾客。
这大大的增加了客源。
网上商城购买管理系统的具体任务就是设计一个方便顾客购买,方便管理员管理系统,由计算机来代替人工执行一系列诸如购买、下单、进货、查询及配送等操作。
这样就可以轻松快捷地完成购买商品的任务,使购物能够系统化、规范化、自动化,从而达到便利于大家的目的。
网上商城购物管理信息系统1.描述系统功能,分析系统应具备的功能,包括前台和后台。
前台:(1)最新商品:用户可以在这个模块当中看到网站/店内的最新产品,或者是最新促销产品。
(2 )推荐商品:用户可以在这个模块看到网站内店主最为推荐的产品,店主觉得用户值得购买的产品.(3)热门商品:用户可以在这个模块当中看到网站内最多用户购买的产品,销量最大的产品.这一定程度的让用户更加了解商品的受欢迎程度。
(4)商品分类:用户可以运用这个模块来更加容易的寻找用户本身想要的产品.(5)用户注册:在购买商品的时候,用户必须进行注册,以确认购买的身份和能力。
(6)用户中心:用户中心是用于储存用户资料和修改用户资料的模块,以便于记录用户的购买资料,购买记录,用户的资料。
(7)订单查询:用户可在这个模块当中查询订单的处理情况,可以查询到已完成处理的订单,未处理的订单,正在进行处理的订单。
以便于用户对订单的了解。
(8)我的购物车:我的购物车是用于给用户保存感兴趣的产品,用户可以在购物车中对感兴趣的产品进行结账,还可以对已加入购物车但是不感兴趣的产品进行确认取消商品。
网上商城管理系统概述:随着互联网的快速发展,网上商城成为了人们购物的主要渠道之一。
作为网上商城的运营者,一个高效的管理系统是必不可少的。
网上商城管理系统旨在帮助商家管理商品、订单、会员等信息,提供一站式的解决方案,提升商城的运营效率和用户体验。
一、系统框架网上商城管理系统一般包含以下模块:1. 商品管理模块:- 商品分类管理:对商品进行分类,方便用户进行选择和检索。
- 商品信息管理:包括商品的基本信息、价格、库存等。
- 商品图片管理:上传、管理商品的图片,增加商品的可视化效果。
2. 订单管理模块:- 订单查询与处理:查询和管理用户下单的订单,包括订单的取消、发货、退款等操作。
- 订单统计与分析:对订单数据进行统计分析,帮助商家了解销售情况和用户行为。
3. 会员管理模块:- 会员信息管理:录入和管理用户的个人信息,包括用户名、密码、联系方式等。
- 会员积分管理:设置和管理会员的积分规则,奖励、扣减积分。
- 会员等级管理:根据用户的购买行为和积分情况,自动生成会员等级。
4. 营销管理模块:- 促销活动管理:设置和管理促销活动,例如限时打折、满减等。
- 优惠券管理:发放、管理优惠券,并设置使用条件。
- 积分兑换管理:允许用户使用积分进行商品兑换,并管理积分兑换的规则。
5. 数据统计模块:- 销售统计分析:统计和分析商品的销售情况,了解热销商品和滞销商品。
- 用户行为统计:跟踪用户的浏览行为、购买行为等,为商家提供精准的市场调研和用户画像。
二、系统功能详解1. 商品管理模块:商品管理模块提供了商品分类管理、商品信息管理和商品图片管理等功能,方便商家对商品进行统一管理和展示。
商家可以根据商品的类别和特点进行分类,便于用户快速找到所需商品。
商家可以在商品信息管理中录入商品的基本信息,如商品名称、价格、库存等,并关联商品的图片。
图片管理模块允许商家对商品图片进行上传、删除和编辑,提升商品的可视化效果。
2. 订单管理模块:订单管理模块提供了订单查询与处理、订单统计与分析等功能。
网上购物系统一、引言随着互联网的普及和电子商务的蓬勃发展,网上购物已经成为了人们日常生活中不可或缺的一部分。
网上购物系统作为电子商务的重要组成部分,不仅为消费者提供了方便快捷的购物方式,也为商家提供了一个更广阔的销售平台。
二、网上购物系统的概述网上购物系统是指利用互联网技术来构建和实现的一个购物平台,用户可以通过电脑、手机等设备在网上进行商品的浏览、挑选、下单和支付等操作。
网上购物系统通常包括前台展示、商品管理、订单管理、支付结算、物流配送等功能模块。
1. 前台展示前台展示是网上购物系统最直接的用户界面,用户可以在前台浏览各类商品信息,包括商品图片、价格、描述等。
前台展示通常还包括热销商品推荐、促销活动、购物车等功能,为用户提供更好的购物体验。
2. 商品管理商品管理是网上购物系统后台的核心功能,商家可以在后台管理系统中对商品进行添加、编辑、下架等操作,管理商品的库存、价格、促销活动等信息。
同时,商品管理还包括商品分类、标签、搜索等功能,方便用户查找和筛选商品。
3. 订单管理订单管理是网上购物系统的重要组成部分,用户下单后生成的订单将在后台进行管理和处理,包括订单状态跟踪、订单详情查看、订单发货、退款退货处理等。
订单管理系统需要保证订单信息的准确性和安全性,确保用户和商家的交易顺利进行。
4. 支付结算支付结算是网上购物系统的关键环节,用户在下单后需要选择合适的支付方式进行付款,包括在线支付、货到付款、银行转账等。
支付结算系统需要具备安全可靠的支付通道和数据加密机制,确保用户的账户信息和支付信息不受到泄露和篡改。
5. 物流配送物流配送是网上购物系统的最后一环,商家需要及时将商品发货给用户,并提供物流跟踪服务,让用户随时了解订单的配送进度。
物流配送还需要与快递公司合作,保证商品能够准确、及时地送达用户手中。
三、网上购物系统的发展趋势随着科技的不断进步和消费需求的日益增长,网上购物系统也在不断演进和创新。
《网上购物系统》功能模块说明网上购物系统的功能一、前台功能模块网上购物系统的前台功能模块分为以下四个模块:●会员模块●购物车管理模块●订单管理模块●顾客留言模块1、会员模块当顾客进入商城首页时,点击注册,进入会员注册,填写会员注册资料,如果顾客对信息填写错误将不能完成注册。
若注册成功,则可以登录进入商城。
同时,成为会员之后可以享受商品会员价格。
另一方面顾客也可以修改会员注册资料。
2、购物车管理模块当顾客进入商城选购商品时,可以使用购物车,它提供了不同的功能,例如查看购物车物品,确认订单信息(包括查看商品的数量,市场价格以及享受的会员价格和商品总金额),提交订单等功能。
另外如果顾客不想购买商品可以点击清空购物车,也可以继续购物进入下一步操作。
3、订单管理模块在此模块中,主要提供订单信息,包括订单编号、金额、下单日期、订单状态等,这样既可以保证顾客购买的商品不会出错,同时可以帮助商城管理人员方便查看和管理。
另外顾客可以修改订单信息。
4、顾客留言模块顾客留言模块不但可以方便顾客留言,同时通过留言,商城管理人员可以了解顾客对商城管理的建议以及对商品的要求等。
另外,顾客可以在留言板留下建议或反应相关问题,这样不但可以提高商城的效益,而且可以不断满足顾客的需求。
另一方面,前台提供商品关键字搜索功能,可以方便顾客查找商品。
二、后台管理功能模块电子商城的后台管理分为:●商品分类管理模块●商品管理模块●特价商品模块●订单管理模块●会员管理模块●系统用户管理模块●安全退出模块1、商品分类管理模块主要实现新增商品分类,和分类描述功能,商城管理人员通过分类管理实现商品的分类,同时可以增加、修改、删除商品信息。
另外它还支持Excel批量导入商品的功能,下载Excel模板批量添加商品一次完成。
2、商品管理模块它在实现了商品分类管理的基础上对商品信息进行了更为细致的描述,增加了商品的型号、图片、有无会员价格、生产厂家和日期等功能,它也可以删除修改商品,同时在删除商品的时候可以自动删除商品图片,而修改时上传图片可以选择是否覆盖原有图片,大大节约了空间!另外它也支持Excel批量导入商品功能,下载Excel模板批量添加商品一次完成。
班级: 组员:目录网上购物系统................................................................................ 错误!未定义书签。
第一章概述.. (2)1.1网上购物发展背景 (3)1.2网上购物系统的意义 (3)第二章需求分析 (4)2.1技术可行性分析 (4)2.2顾客对于系统的需求 (4)2.3管理员对于系统的需求 (4)第三章网上购物系统的架构设计 (5)3.1系统整体框架 (5)3.2系统功能需求分析 (7)3.2.1系统前台功能需求分析 (7)3.2.2系统后台功能需求分析 (8)3.3系统数据库的设计 (9)3.4小结 (11)第四章系统前台功能设计与实现 (12)4.1 用户注册登录及个人信息管理 (12)4.1.1用户登录与注册 (12)4.1.2 用户个人信息管理 (13)4.2商品浏览与搜索 (14)4.3购物车模块 (16)4.4订单管理 (17)4.5小结 (18)第五章系统后台功能设计与实现 (19)5.1后台登陆模块 (19)5.2商品添加与修改。
(19)5.3首页新闻添加和管理 (21)5.4商城会员管理 (23)5.5小结 (23)第六章总结 (24)第一章概述1.1网上购物发展背景现行在网上交易的物品主要有虚拟的物品和实体的物品两种。
虚拟的物品包括服务和虚拟商品,如电影、歌曲等。
实体的物品即为我们常见的可触及的物品,如书、电器、衣服等。
本网上购物系统里进行的是实体物品的交易。
网上购物最主要的是涉及购买物品、库存、物流三方面。
然而电子商务在我国发展时间还短,各方面都还不成熟。
如还没有完善的法律来规范和保障交易的安全进行,对商品的定价也缺乏有效的市场机制和宏观调控机制,除淘宝、当当网等较大型的交易平台有更专门、较安全的结算方式外,很多商城只能依靠“货到付款”等浪费时间人力的结算方式;对商品的保存方面,全国各地到处是分散的仓库,有的甚至就是在自己家里隔出一房间作为仓库,这很不利于商品的整体资源分配,造成很大的浪费;现在有存在很多的物流公司,更大的有申通、韵达、圆通等,各城市又有很多的只在本城市接受业务的小物流公司,这样的局面造成物流公司没有很好的服务意识,物品被损坏的事情时有发生,并且没有规范的赔偿机制。
课程实践报告课程名称:软件工程实践II项目名称:网上购物系统专业班级:姓名:学号:指导教师: 成绩:______报告日期:2014年12月9日网上购物管理系统摘要随着计算机技术在各行各业日益广泛和深入的应用,网络的概念早已深入人心。
网络在各行各页的发展战略占据了重要的位置,成为了商家不可分割的一部分。
网络已经成为了商家展示自己的另一个舞台。
商家建立网站,通过网站可以实现,浏览商品,网上购物,结账本系统实现了网上购物商城的基本功能和购物流程。
主要模块有:商品查询、商品管理、商品显示、购物车、订单管理、用户管理等功能。
其开发主要包括:数据库的建立,前台Web页面设计,后台管理。
本系统采用MySql数据库和Tomcat服务器实现,并且使用HTML、JSP等技术来编辑网页,并运用Hibernate技术把数据库和动态网页相关联。
关键字关键词:网上商场,购物车,结账,Tomcat,Sevlet,JSP,MySql数据库目录摘要 (2)关键字 (2)1需求分析 (4)1.1背景 (4)1.2可行性分析 (4)1.3对性能的规定 (4)1.3.1时间特性要求 (4)1.3.2灵活性 (5)1.4其他专门要求 (5)1.5运行环境的规定 (5)1.6设备 (5)1.7支持软件 (5)2功能分析 (6)2.1功能分析的目的 (6)2.2业务描述 (6)2.3用例图 (8)2.4状态图 (10)3模块设计 (10)3.1系统功能模块 (10)3.2模块分析 (11)4数据库分析与设计 (18)4.1数据库分析 (18)4.2系统整体ER图的设计 (19)4.3数据库设计 (20)5编码,实现及测试 (22)5.1各功能源代码 (22)6 结论 (29)6.1系统优点 (29)6.2系统缺点 (29)6.3未来发展 (29)7实验小结 (30)7.1孙佳伟实验小结.................................................................................. 错误!未定义书签。
7.2喻道斌实验小结.................................................................................. 错误!未定义书签。
7.3金龙实验小结...................................................................................... 错误!未定义书签。
1需求分析1.1背景在发达国家,电子商务的发展非常迅速,通过Internet进行交易己成为一种潮流。
基于电子商务所连带出的商品交易方案、电子结账方案和信息安全方案等,已逐步成为国际信息技术市场竞争的焦点。
随着电子商务的日益发展,产生了网上购物、网络广告等新兴信息产业,从侧面反应了电子商务正在对社会和经济产生着深刻的影响。
在我国,网上购物从无到有也不过短短几年时间。
但是就在这几年时间,网络购物已经深入千家万户,普通的购物已经不能满足人们的消费。
网上购物以其诸多优势,获得人们的青睐。
它以其方便,快捷,高效,高选择性等优点,迅速得到了广大网友的喜爱与青睐,现在的网上购物已经非常普及。
本系统设计就是为了满足广大网友的这些需求,改变传统的交易模式,通过互联网完成查看商品,购买商品等完成网上交易。
方便消费者,同时对商家的商品信息进行管理,便于商家的商品数据分析。
截止2013年1月中国有网上购物的用户将近5000万人,这足以证明网上购物具有良好的群众基础,网上购物方式日趋被大家所接受。
因此我们小组致力于做一个基于B/S架构的网上购物管理系统,使广大用户可以享受网上购物的种种优势。
1.2可行性分析随着计算机的普及,Internet的发展,网购已经成为人们生活消费中一大部分。
一个网上购物系统可以为消费者提供软件条件,使其可以更加快捷,方便,实惠的选择商品,而商家也可以更好的管理商品,节约成本,两全其美。
所以构建一个网上购物商城在运行上是完全可行的。
此次开发使用JSP作为开发语言,采用Servlet技术,Tomcat7.0座位Web服务器,采用MySql作为数据库,这几种技术及工具的方便,快捷,免费大大的缩短了开发的时间,减少了开发的成本。
并且使得开发更方便安全,更利于后期的维护。
网上购物服务系统给人们带来了方便,成为一种全新的商务模式。
因此,不用出门就可以在家购物的新时尚已经到来,构建一个网上购物服务系统在经济上是完全可行的。
综上所述:开发本系统是完全可行的。
1.3对性能的规定1.3.1时间特性要求对于商品基本信息,订单信息管理的增加删除修改必须是实时响应,与客户端的交互响应时间不超过5s1.3.2灵活性操作方式的变化,可以直接从UI或从数据库输入行,对初始行进行增加,删除,删除等操作。
1.4其他专门要求文字描述必须准确,精炼,通俗易懂。
安全性要得以保障,可移植性要高,为了适应不同系统,程序吞吐量必须要大,否则不能动态适应购物网站的需要。
1.5运行环境的规定1.6设备开发环境:操作系统:windows 7硬件环境:客户终端:pc机;服务器:Tomcat编译环境:Jdk 1.61.7支持软件操作系统:**开发软件:MyEclipse数据库: Mysql2功能分析2.1功能分析的目的从用户需求出发,对于网上购物系统做细致全面的功能分析,准确地定义网上购物系统的目标,确定系统必须做什么,再用UML建模,并以Rational Rose工具画出功能模型,以此形式分析确定此网上购物系统的功能。
2.2业务描述用户进入网站后,可以根据价格高低确定是否进行筛选,不筛选则进入所有的商品浏览界面,筛选则得出筛选后的浏览界面。
接着可以点击商品加入购物车,可以自己选择加入的数量。
加入购物车以后可以查看购物车,在购物策划模块中可以选择添加或删除购物车商品,接着用户可以自行判断是否继续购物,如果继续购物则返回首页,不购物则进行结账。
结账之后可以查看订单界面,这里有详细的订单信息。
,否则注销退出。
下图为网上购物系统的业务流程图。
图1-1 系统业务流程图2.3用例图用例图●浏览商品用例,可以实现浏览商品●搜索商品用例,可以根据商品的价格进行筛选查询商品。
●管理商品详情用例,可以实现对商品中所有信息的浏览。
●加入购物车用例,是用户才有的功能,能在浏览商品后把商品加入购物车●管理购物车用例,在加入购物车后扩展的功能,对于购物车内的商品可以增加删除●购买商品用例,用户可以对于商品显示页面的商品进行购买●管理自身订单,用户可以对自身的订单进行搜索,删除功能。
●清空购物车用例,用户对购物车中所有商品进行清空●浏览曾经的商品(历史记录)用例,用户可以在这里浏览曾经使用的商品●结账模块用例,用户可以在这里进行结账功能。
<<include>>加入购物车图1-2主用例图用户结账图1-3 购物车用例图查看订单信息图1-4 结账用例图2.4 状态图对于系统进行状态细节分析如下a)用户首页输入网址进入首页界面b)用户浏览商品进入商品展示界面c)浏览完之后可选择喜欢的商品进入购物车界面d)在购物车中可以添加或删除商品进入更改商品界面e)更改接受后确定是否继续购物,若继续择返回商品展示界面f)若不继续购物则进入结账界面g)在结账界面中进行查看订单,进入订单确认状态h)订单确认无误后,则系统提交,之后用户可以注销退出。
按价格筛选3模块设计3.1系统功能模块功能模块图:系统总体分为前台展示模块,购物车模块,结账模块。
前台展示模块包括:浏览商品模块,筛选商品模块,商品详情模块,历史纪录模块。
购物车模块包括:购物车展示模块,删除商品模块,清空购物车模块,继续购物模块。
结账模块包括:订单确认模块,提交订单模块,事务处理模块。
图3-1 功能模块图3.2模块分析1:商品展示模块这是网站的主页面,用户不登陆也可以进入该页面,登陆成功后,页面会显示用户的信息。
此页面主要是显示一些主要商品的图片、名称、价格等信息,用户可以输入商品名称,种类等进行搜索,也可以直接点击商品查看商品细节信息。
图3-2 商品展示模块在主界面中可以根据价格的高低排序2:商品详情模块当你点击一个商品的链接,可以进入商品的详情页面,这里会相识一个商品的所有具体信息,可以看到书名,作者,价格,出版日期图3-3 商品详情模块3:购物车模块用户喜欢的商品可以选择放进购物车里,可以在购物车里产看用户选择的商品的名称价格以及购物车商品的总价,用户可以对购物车中的商品进行操作,修改购买数量,删除商品,清空购物车,结账等。
图3-3 购物车前台模块图3-4购物车展示界面清空购物车图3-5清空购物车界面删除购物车中的某教材图3-6删除购物车某教材4:回顾商品模块当您想看曾经浏览过的商品时,可以点击查看浏览的历史记录,根据最近浏览的显示记录排序图3-7 回顾商品模块5:结账模块在购物车进行结算以后,会跳转至结账界面,系统会显示当前的信用卡姓名,信用卡帐号,当您提交时就会结算成功,并且通过事务管理防止重复提交图3-8 结账模块界面余额不足时提示图3-8 余额不足界面6:订单页面模块在购物车进行结算以后,就会生成订单,订单会显示订单号、收货人、地址、电话等信息。
点击查看详情就可以进入订单详情页面图3-9 订单页面模块4数据库分析与设计4.1数据库分析对于以上模块的划分以及分析我们建立网上购物管理系统数据库,建了5个表,分别是帐户表(account),书籍信息表(mybooks),订单表(trade),订单项目表(tradeItem),用户信息管理(usersInfo),各表的实现的功能在上述模块设计中已经指出,此刻不再赘述。
帐户表(account)中的各列分别为:帐户编号(accounted)主码,帐户余额balance书籍信息表(mybooks)中的各列分别为:书籍(Id)主码,作者(Author),标题(Title),价格(Price),出版日期(Publishingdate),车辆类型(Salesamount),车辆规格(Storenumber),单价预算(Remark)订单表(trade)中的各列分别为:订单编号(tradeid)主码,用户编号(userid)外码,订单日期(tradetime)订单项目表(tradeItem)中的各列分别为:订单编号(itemid)主码,书籍编号(bookid)外码,(quantity),使用年限(tradeid)用户信息管理(usersInfo)中的各列分别为:用户编号(userid),用户名(username),帐户编号(accountid)4.2系统整体ER图的设计图4-1 系统整体ER图设计4.3数据库设计帐户表(account)设计图4-2帐户表(account)设计书籍信息表(mybooks)设计图4-3书籍信息表(mybooks)设计订单表(trade)设计图4-4订单表(trade)设计订单项目表(tradeItem)设计图4-5订单项目表(tradeItem)设计用户信息表(userinfo)设计图4-6 用户信息表(userinfo)设计5编码,实现及测试5.1各功能源代码5.1.1 分页的实现public List<MyBook>getPageList(CriteriaBookcb, int pageSize,String method) { String sql=null;System.out.println(" method------------>"+method);if(method.equals("price")){sql="SELECT id, author, title, price, publishingDate, " +"salesAmount, storeNumber, remark FROM mybooks " +"WHERE price >= ? AND price <= ?order by price desc "+"LIMIT ?, ?";}elseif(method.equals("salesamount")){sql="SELECT id, author, title, price, publishingDate, " +"salesAmount, storeNumber, remark FROM mybooks " +"WHERE price >= ? AND price <= ?order by salesamount "+"LIMIT ?, ?";}elseif(method.equals("publishingdate")){sql="SELECT id, author, title, price, publishingDate, " +"salesAmount, storeNumber, remark FROM mybooks " +"WHERE price >= ? AND price <= ?order by publishingdate "+"LIMIT ?, ?";}else{sql="SELECT id, author, title, price, publishingDate, " +"salesAmount, storeNumber, remark FROM mybooks " +"WHERE price >= ? AND price <= ?order by price "+"LIMIT ?, ?";}return getForList(sql,cb.getMinPrice(),cb.getMaxPrice(),(cb.getPageNo()-1)*pageSize,pageSize); 5.1.2:运用ajax技术实现页面的局部刷新//ajax修改单个商品的数量//1.获取页面中所有的text,并为其添加onclick事件$(":text").change(function(){var quantityVal = $.trim(this.value);var reg=/^\d+$/g;var quantity=-1;var flag=false;if(reg.test(quantityVal)){quantity=parseInt(quantityVal);if(quantity>=0)flag=true;}if(!flag){alert('输入的数量不合法');$(this).val($(this).attr("class"));return ;}var$tr = $(this).parent().parent();var title = $.trim($tr.find("td:first").text());if(quantity==0){var flag2=confirm("确定要删除"+title+"吗?");if(flag2){var serializeVal = $(":hidden").serialize();var href=$tr.find("td:last").find("a").attr("href");window.location.href=href+ "&" + serializeVal;;return ;}}var flag = confirm("确定要修改" + title + "的数量吗?");if(!flag){$(this).val($(this).attr("class"));return;}//2. 请求地址为: bookServletvar url = "Books";//3. 请求参数为: method:updateItemQuantity, id:name属性值, quantity:val, time:new Date()var idVal = $.trim();var args = {"method":"updateItemQuantity", "id":idVal, "quantity":quantityVal, "time":new Date()};//4. 在updateItemQuantity方法中, 获取quanity, id, 再获取购物车对象, 调用 service 的方法做修改//5. 传回 JSON 数据: bookNumber:xx, totalMoney//6. 更新当前页面的bookNumber和totalMoney$.post(url, args, function(data){var bookNumber = data.bookNumber;var totalMoney = data.totalMoney;$("#totalMoney").text("总金额: ¥" + totalMoney);$("#bookNumber").text("您的购物车中共有"+ bookNumber + "本书");},"JSON");});5.1.3:运用ThreadLocal类实现数据库的连接与当前线程绑定,实现结账的事务操作publicvoid doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {Connection connection = null;try {connection = DBUtils.getConnection();connection.setAutoCommit(false);ConnectionContext.getInstance().bind(connection);chain.doFilter(request, response);mit();} catch (Exception e) {e.printStackTrace();try {connection.rollback();} catch (SQLException e1) {e1.printStackTrace();}HttpServletResponseresp = (HttpServletResponse) response;HttpServletRequestreq = (HttpServletRequest) request;resp.sendRedirect(req.getContextPath() + "/error-1.jsp");} finally{ConnectionContext.getInstance().remove();DBUtils.Release(connection);}}5.1.4:使用过滤器实现页面的编码publicvoid doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {String encoding =filterConfig.getServletContext().getInitParameter("encoding");request.setCharacterEncoding(encoding);chain.doFilter(request, response);}5.1.5:数据库底层操作,运用泛型技术和反射技术public class BaseDao<T> implements DAO<T> {privateQueryRunnerqueryRunner=new QueryRunner();private Class<T>clazz;publicBaseDao() {clazz = ReflectionUtils.getSuperGenericType(getClass());System.out.println(clazz);}@Overridepublic long insert(String sql, Object... args) {long id=0;Connection conn=ConnectionContext.getInstance().get();try {PreparedStatementprepareStatement=conn.prepareStatement(sql,java.sql.Statement.RETURN_GENERA TED_KEYS );for(inti=0;i<args.length;i++){prepareStatement.setObject(i+1, args[i]);}prepareStatement.executeUpdate();ResultSetresultSet=prepareStatement.getGeneratedKeys();if(resultSet.next())id=resultSet.getLong(1);}} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}return id;}@Overridepublic void update(String sql, Object... args) {Connection conn=ConnectionContext.getInstance().get();try {queryRunner.update(conn, sql, args);} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}}@Overridepublic T query(String sql, Object... args) {Connection conn=ConnectionContext.getInstance().get();try {return (T)queryRunner.query(conn, sql, new BeanHandler<T>(clazz), args);} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}return null;}@SuppressWarnings("unchecked")@Overridepublic<V> V getSingleValue(String sql, Object... args) {Connection conn=ConnectionContext.getInstance().get();try {return (V) queryRunner.query(conn, sql, new ScalarHandler(), args);} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}return null;}@Overridepublic void batch(String sql, Object[]... args) {Connection conn=ConnectionContext.getInstance().get();try {queryRunner.batch(conn, sql, args);} catch (SQLException e) {e.printStackTrace();}}@Overridepublic List<T>getForList(String sql, Object... args) {Connection conn=ConnectionContext.getInstance().get();try {System.out.println("sql-----------"+sql);returnqueryRunner.query(conn, sql, new BeanListHandler<T>(clazz),args);} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}return null;}}5.1.6:使用session防止表单重复提交publicvoid cash(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException, InterruptedException {HttpSession session=request.getSession();Thread.sleep(5000);String username=request.getParameter("username");String accountId=request.getParameter("accountId");StringBuffer errors=validateFormField(username, accountId);if(errors.toString().equals("")){errors=validateUser(username, accountId);if(errors.toString().equals("")){errors=validateBookStoreNumber(request);if(errors.toString().equals("")){errors=validateBalance(request,accountId);}}}String code=(String) session.getAttribute("code");System.out.println(code+"---------");String codeRe=request.getParameter("checkCode");if(!code.equals(codeRe)){errors.append("验证码输入不正确");}if(!errors.toString().equals("")){request.setAttribute("errors", errors);request.getRequestDispatcher("/WEB-INF/pages/cash.jsp").forward(request, response);return ;}String val=request.getParameter("date");String valS=(String) session.getAttribute("date");if(valS!=null&&valS.equals(val)){service.cash(BookStoreWebUtils.getShopCart(request),username,accountId) ;request.setAttribute("username", username);request.getRequestDispatcher("/success.jsp").forward(request, response);session.removeAttribute("date");}if(valS==null){request.getRequestDispatcher("/WEB-INF/pages/error.jsp").forward(reques t, response);}}5.1.7:使用数据库连接池<?xml version="1.0"encoding="UTF-8"?><c3p0-config><named-config name="javawebapp"><property name="user">root</property><property name="password">123456</property><property name="jdbcUrl">jdbc:mysql:///bookstore</property><property name="driverClass">com.mysql.jdbc.Driver</property><property name="acquireIncrement">2</property><property name="initialPoolSize">5</property><property name="minPoolSize">5</property><property name="maxPoolSize">10</property><property name="maxStatements">20</property><property name="maxStatementsPerConnection">5</property></named-config></c3p0-config>6 结论6.1系统优点系统实现了网上购物商城的基本功能,可以很好的完成网上购物的一系列流程。