基于jsp的网上手机销售系统设计与实现(项目报告+答辩PPT+源代码+数据库+截图+部署视频)
目录
摘要............................................................ I
Abstract....................................................... II
第1章 绪论.................................................... 1
1.1 课题背景.............................................. 1
1.2 目的和意义............................................ 1
1.3 系统设计思想.......................................... 3
1.4 本文的结构............................................ 3
第2章 可行性分析.............................................. 4
2.1 业务流程图............................................ 4
2.2 经济可行性............................................ 6
2.3 技术可行性............................................ 6
2.4 运行可行性............................................ 6
2.5 本章小结.............................................. 7
第3章 需求分析................................................ 8
3.1 关于电商的前世今生和目前发展状况...................... 8
3.2 商品网上购物系统的需求分析............................ 9
3.3 数据流图............................................. 10
3.4 本章小结............................................. 16
第4章 总体设计............................................... 17
4.1 系统模块总体设计..................................... 17
4.2 数据库设计........................................... 18
4.2.1 数据分析......................................... 19
4.2.2 数据库的详细设计................................. 19
4.3 本章小结............................................. 23
第5章 详细设计与实现......................................... 24
5.1 系统运行平台设置..................................... 24
5.2 运行环境............................................. 24
5.3 开发工具及技术简介................................... 24
5.3.1 开发工具简介..................................... 24
5.3.2 技术简介......................................... 25
5.4 系统首页设计......................................... 25
5.5 系统前台基本功能设计与实现........................... 26
5.5.1 用户维护模块设计与实现........................... 26
5.5.2 生活用品展示模块设计与实现....................... 30
5.5.3 购物车模块的设计与实现........................... 31
5.5.4 收银台模块的设计与实现........................... 32
5.5.5 查看订单模块的设计与实现......................... 33
5.5.6 公告浏览模块的设计与实现......................... 33
5.5.7 客户留言模块的设计与实现......................... 34
5.6 系统后台管理功能设计与实现........................... 34
5.6.1 基本信息管理设计与实现........................... 34
5.6.2 订单信息管理设计与实现........................... 35
5.6.3 生活用品信息管理设计与实现....................... 35
5.6.4 公告信息管理设计与实现........................... 36
5.6.5 留言信息管理设计与实现........................... 36
5.7 本章小结............................................. 36
第6章 系统测试与性能分析..................................... 38
6.1 软件测试............................................. 38
6.2 本系统测试........................................... 38
6.2.1 前台首页的测试................................... 38
6.2.2 购物车模块的测试................................. 38
6.2.3 用户注册模块的测试............................... 39
6.2.4 商品管理模块的测试............................... 39
6.3 本章小结............................................. 40
致 谢......................................................... 42
参考文献....................................................... 43
附录1.......................................................... 44
外文文献..................................................... 44
附录2.......................................................... 50
中文翻译..................................................... 50
附录3.......................................................... 54
第1章 绪论
到今天,手机除了原本的移动电话功能,还兼具讯息、游戏、网络、支付系统、个性化应用等功能,极大地方便了人们的生活,也使得如何购买一部性价比高并且适合自己的手机成为人们非常关心的方面。
根据中国互联网协会网络营销工作委员会的调查可看出,随着我国国内的产业环境和消费市场的日趋完善,网络购物尤其是以生活用品为代表的网购将在今年实现更大发展。
作为全新的消费模式,网络购物给人们带来的改变不仅仅是购物场所,更多的在于改变了人们的消费习惯和观念,而我所要做的是让网络购物更加趋于定向话和专业化。
对比网上销售模式和传统的销售模式可知其(网上销售模式)优势:
网上销售系统不仅本身具有丰富的信息,其对于信息的检索定位也是十分准确便捷的,想要搜索一件商品不仅局限于其产品名,还有货号、类别、是否特价产品等
其得天独厚的优势就是无法估计的容量可以存储海量产品信息,而且可实现及时更新。
对于营业时间而言,雇佣不同时段的客服即可完成全天的营业保障,如此的全天候保障不仅给客户以可靠的印象,更能增加自己的销售额,达到巩固客户与提高销售额的一箭双雕。
- 首先也是最要的是整个系统的稳定性和安全性;
- 对于用户而言,友好的界面将变得非常重要,一个网站如果简单美 观,并且在信息查询方面非常便捷,如此一般能抓住用户的心可以使网站访问量大大增加;
- 首页能将不同品牌手机分类,也便于有某具体手机品牌要求的用户快速检索出自己所需要的手机类型;
- 首页设置关于排序功能的模块,是本网站可以从销量、售价等方面进行排行使客户一目了然,方便客户选购;
- 可以实现网上的交易功能,添加/删除购物车内的信息,选择自己意愿的的付款方式以及配送地址;
- 已注册的会员可以随时从注册界面修改自己的个人信息;
- 顾客可以随时查看自己的订单,并进行相应操作;
- 后台管理员可以发布或者删除公告,以用于向到达网页的客户发布商品优惠信息或关于网站停服维护等信息;
- 已注册的用户可以使用留言板功能,为客户间提供信息沟通平台,不仅可以互相之间提问解答,也可以对已购产品作出评价为后来到的用户选购做一个参考;
- 对于顾客输入的各种类型数据进行检验,尽可能地排除因为个人疏忽而造成的错误;
- 在制作该系统是,秉承着尽最大努力实现其易操作性,对于后台工作人员则需让其更易维护。
本篇文章意在描述网上手机销售系统的前台与后台的基本组成与结构,大致介绍了该系统的设计的方案,简述了其实现方法以及开发此系统所需要的编程工具和用到的主要技术,并且着重分析了一些环节的编码过程。
该系统在IE浏览器下分别进行了个别模块的测试以及整体测试,验证了该系统的基本可用性也证实了其可靠性。
第2章 可行性分析
管理员后台处理 系统管理员登录后可以查看到已受理和未受理的订单及详细信息。另外,管理员能够对系统的各项信息进行维护处理。此外,系统管理员还具备留言板和公告的审核,公告的发布可直接将优惠信息展示在首页。
将网上手机销售系统的概要目标确定以后,就要从三个方面进行分析:
通过对这三个方面进行分析有助于确定该系统是否能实现原本的目标。
和传统的实体销售模式相比较,网上手机销售系统节省了房屋租用的成本,而且大量的店员雇佣金也可以省下。
而且由于本系统简单有效,不需要大量的开发人员,节省了很大一部分开发方面的资金投入,也为经济可行性奠定了坚实的基础。不仅如此,独立设计还提高了个人的设计意识和编码能力,也是一种很有意义的锻炼。
对于网上手机销售系统的技术可行性而言,不仅需要考虑到本身软件硬件的性能要求和根据环境提出的条件,编码人员和操作人员的水平等方面也需要进行深入的分析和研究;
第3章 需求分析
可以说,中国电子商务已经由表及里、从虚到实,从宣传、启蒙和推广、务实发展阶段进入到了现在的保持较高的增速,但由于几乎达到成熟所以增速已开始放缓。
中判断这个店铺是否可靠,其产品质量是否得到大多数顾客的好评,而卖家对顾
客的评价也可以让人们对于评论区的真假做出判断;经过较长时间的发展,网上银行、支付宝、微信钱包已经渐趋完善,可以达到日常稳定支付,所以也在一定程度上突破了限制,促进了电子商务的发展。
虽然我所做的网上手机销售体统并不类似于现在最大型的几款电子商务系统,但是通过对多家电子商务网站的实质分析,对于自己的系统我设计了以下几个功能:
- 首先也是最吸引人的地方,界面一定要简洁大方,至少能给人一目了然的感觉,让人们乐于使用本网站,统一友好的操作界面,保证系统的易用性,方便用户的操作;
- 具备手机信息的展示功能,方便浏览者对商品信息进行浏览与比较;
- 根据手机品牌将手机分类,方便顾客根据手机品牌分类查找;
- 完善的购物车功能与用户结账功能;
- 设置网站公告信息模块,使浏览者能够及时了解网站的各项动态变化,及销售的新品、特价活动等信息;
- 商品销售排行功能;
- 订单信息查询功能、手机的信息查询功能;全面的后台管理功能,不仅有修改管理员自身信息,还可以对手机信息进行相关修改,可添加手机品牌的信息,并在相应品牌下添加具体的手机型号;
- 可以查看和删除会员信息,为会员信息保存提供可靠保障;对于库存,管理员需要及时添加以保障手机的正常出售,财务统计可显示一段时间的销售额,方便了管理员的统计;
- 可查看、维护留言板,也可以发布、删除公告。
序号 |
名称 |
别名 |
类型 |
长度(字符) |
I01-01 |
goods_id |
商品号 |
Int |
4 |
I01-02 |
goods_name |
商品名 |
varchar |
50 |
I01-03 |
goods_miaoshu |
商品描述 |
varchar |
5000 |
I01-04 |
goods_pic |
存放商品图片 |
Varchar |
50 |
I01-05 |
goods_yanse |
商品颜色 |
Varchar |
50 |
I01-06 |
goods_shichangjia |
商品市场价 |
int |
4 |
I01-07 |
goods_tejia |
商品特价 |
int |
4 |
I01-08 |
goods_isnottejia |
普通商品 |
varchar |
50 |
I01-09 |
goods_catelog_id |
商品种类号 |
int |
4 |
I01-10 |
catelog_id |
种类编号 |
Int |
4 |
I01-11 |
catelog_name |
种类名称 |
Varchar |
50 |
I01-12 |
catelog_miaoshu |
种类描述 |
Varchar |
5000 |
I01-13 |
order_id |
订单ID |
Int |
4 |
I01-14 |
order_bianhao |
订单编号 |
Varchar |
50 |
I01-15 |
order_date |
订单生成日期 |
varchar |
50 |
I01-16 |
order_zhuangtai |
订单状态 |
varchar |
50 |
I01-17 |
order_jine |
总的消费金额 |
Int |
4 |
I01-18 |
order_songhuodizhi |
送货地址 |
Varchar |
50 |
I01-19 |
order_pay |
付款方式 |
Varchar |
50 |
I01-20 |
order_user_id |
用户ID |
Int |
4 |
I01-21 |
orderItem_id |
订单明细编号 |
Int |
4 |
I01-22 |
order_id |
订单编号 |
Int |
4 |
续表3-1 |
||||
I01-23 |
goods_id |
商品编号 |
Int |
4 |
I01-24 |
goods_quantity |
购买数量 |
Int |
4 |
I01-25 |
user_id |
用户ID |
Int |
4 |
I01-26 |
user_name |
用户名 |
Varchar |
50 |
I01-27 |
user_pw |
用户密码 |
Varchar |
50 |
I01-28 |
user_realname |
真实姓名 |
Varchar |
50 |
I01-29 |
user_address |
住址 |
Varchar |
50 |
I01-30 |
user_sex |
性别 |
Varchar |
50 |
I01-31 |
user_tel |
联系电话 |
Varchar |
50 |
I01-32 |
user_email |
用户邮箱 |
Varchar |
50 |
I01-33 |
user_qq |
用户QQ |
Varchar |
50 |
I01-34 |
userId |
管理员ID |
int |
4 |
I01-35 |
userName |
管理员名称 |
Varchar |
50 |
I01-36 |
userPw |
管理员密码 |
Varchar |
50 |
I01-37 |
gonggao_id |
公告编号 |
Int |
4 |
I01-38 |
gonggao_title |
公告标题 |
Varchar |
50 |
I01-39 |
gonggao_content |
公告内容 |
Varchar |
5000 |
I01-40 |
gonggao_data |
公告创建时间 |
Varchar |
50 |
I01-41 |
gonggao_fabuzhe |
发布人 |
Varchar |
50 |
I01-42 |
liuyan_id |
留言id |
Int |
4 |
I01-43 |
liuyan_title |
留言标题 |
Varchar |
50 |
I01-44 |
liuyan_content |
留言内容 |
Varchar |
5000 |
I01-45 |
liuyan_date |
留言时间 |
Varchar |
50 |
I01-46 |
liuyan_user |
留言客户 |
Varchar |
50 |
数据流组成:I01-01+I01-02+I01-03+I01-04+I01-05+I01-06+I01-07+I01-08+I01-09
数据流组成:I01-01+I01-02+I01-03+I01-04+I01-05+I01-06+I01-07+I01-08+I01-09
数据流组成:I01-13+I01-14+I01-15+I01-16+I01-17+I01-18+I01-19+I01-20+I01-21+I01-22+I01-23+I01-24
数据流组成:I01-13+I01-14+I01-15+I01-16+I01-17+I01-18+I01-19+I01-20+I01-21+I01-22+I01-23+I01-24
数据流组成:I01-37+I01-38+I01-39+I01-40+I01-41
数据流组成:I01-37+I01-38+I01-39+I01-40+I01-41
数据流组成:I01-42+I01-43+I01-44+I01-45+I01-46
数据流组成:I01-37+I01-38+I01-39+I01-40+I01-41
数据流组成:I01-25+I01-26+I01-27+I01-28+I01-29+I01-30+I01-31+I01-32+I01-33
数据流组成:I01-25+I01-26+I01-27+I01-28+I01-29+I01-30+I01-31+I01-32+I01-33
数据流组成:I01-25+I01-26+I01-27+I01-28+I01-29+I01-30+I01-31+I01-32+I01-33
数据流组成:I01-25+I01-26+I01-27+I01-28+I01-29+I01-30+I01-31+I01-32+I01-33
数据流组成:I01-42+I01-43+I01-44+I01-45+I01-46
数据流组成:I01-42+I01-43+I01-44+I01-45+I01-46
数据流组成:I01-37+I01-38+I01-39+I01-40+I01-41
数据流组成:I01-37+I01-38+I01-39+I01-40+I01-41
I01-01+I01-02+I01-03+I01-04+I01-05+I01-06+I01-07+I01-08+I01-09
数据流组成:I01-01+I01-02+I01-03+I01-04+I01-05+I01-06+I01-07+I01-08+I01-09
数据流组成:I01-01+I01-02+I01-03+I01-04+I01-05+I01-06+I01-07+I01-08+I01-09
数据流组成:I01-01+I01-02+I01-03+I01-04+I01-05+I01-06+I01-07+I01-08+I01-09
第4章 总体设计
(1)商品展台模块:通过新品上架,分页显示特价商品,商品销售排行展示网站的所有商品;
(3)购物车模块:用户添加商品至购物车,查看购物车中的商品,从购物车中移除不满意的商品,清空购物车中的产品,修改所要购买的商品的数量;
(4)收银台模块:用户满意购物车中的产品后进行结账并填写订单信息;
(5)用户维护模块:为用户提供了用户注册、用户登录、用户资料修改以及找回密码的功能;
(6)订单查询模块:用户通过查看订单能够了解到自己的当前订单信息及历史订单记录;
(7)公告浏览模块:用户通过浏览公告信息,能够及时了解到网站最新的各种信息。
(8)留言模块:客户可以进行留言给我们提意见,我们在不断地改进中前进。
(2)用户管理模块:为了保护用户的信息,此模块与前台用户维护的区别是管理员只能查看用户信息和删除操作;
(3)管理员维护模块:这是对管理员的信息进行维护,可以修改管理员的信息。
(4)订单管理模块:管理员查询订单,查看订单详细信息,删除订单信息,进行订单受理;
对于本系统的数据库的需求而言,由于其主要是用于信息的提供、保存、更新和查询等。因此,需要分析该系统功能所隐含的对数据应用的需求,从而确定数据库的结构。
- 用户注册、登录、验证等功能需要对用户信息建立数据表,其中的数据项可能包括用户E_mail、昵称、密码、住址等;
- 查看商品分类信息和商品详细信息等功能既需要对商品大小类别进行管理,也需要针对每一个商品进行管理,因此至少需要两张数据表;
- 用户购物后产生的订单需要进行管理,这里也包括订单的基本信息和详细信息等;
- 订单生成后,在订单处理的过程中,需要出货等,因此可能需要记录订单的发送情况;
- 需要系统管理员对该系统进行管理,因而需要建立管理员信息数据表,其中的数据项包括管理员ID、密码等。
- 客户要进行留言,所以必须建立留言表,其中包括留言标题、留言日期等。
(3)商品信息,包括商品ID,产品名称、单价、特价等数据项;
(8)订单明细信息,包括订单ID,生活用品ID,订货时间等数据项;
- 数据库的用途及该用途将如何影响设计,应创建符合用途的数据库计划;
- 数据库规范化规则,防止数据库设计中出现错误;
- 对数据完整性的保护;
- 数据库和用户权限的安全要求;
- 应用程序的性能需求,设计数据库时必须利用 Microsoft SQL Server 2005 中能够提高性能的功能。对于性能而言,在数据库大小和硬件配置之间权衡也是很重要的;
- 数据库维护。
根据此生活用品网上购物系统的实际情况,本系统的数据库命名为db_wlgw, db_wlgw数据库中共分为8张数据表。
此表用于记录网站所有生活用品的基本信息,是与商品相关联的商品的类别表。如表4-1所示。
序号 |
名称 |
别名 |
类型 |
长度(字符) |
1 |
goods_id |
编号 |
Int |
4 |
2 |
goods_name |
商品名 |
varchar |
50 |
3 |
goods_miaoshu |
商品描述 |
varchar |
5000 |
4 |
goods_pic |
存放商品图片 |
varchar |
50 |
5 |
goods_yanse |
商品颜色 |
varchar |
50 |
6 |
goods_shichangjia |
商品市场价 |
int |
4 |
7 |
goods_tejia |
商品特价 |
int |
4 |
续表4-1 |
||||
8 |
goods_isnottejia |
普通商品 |
varchar |
50 |
9 |
goods_catelog_id |
商品种类号 |
int |
4 |
此表用于记录生活用品类别的基本信息,为方便用户查询生活用品和管理员管理生活用品信息而设立。如表4-2所示。
序号 |
名称 |
别名 |
类型 |
长度(字符) |
1 |
catelog_id |
种类编号 |
Int |
4 |
2 |
catelog_name |
种类名称 |
Varchar |
50 |
3 |
catelog_miaoshu |
种类描述 |
Varchar |
5000 |
此表用于记录用户的基本订单信息,使用户方便查看自己的订单信息同时也为管理员出货提供基本订单信息。如表4-3所示。
序号 |
名称 |
别名 |
类型 |
长度(字符) |
1 |
order_id |
订单ID |
Int |
4 |
2 |
order_bianhao |
订单编号 |
Varchar |
50 |
3 |
order_date |
订单生成日期 |
varchar |
50 |
4 |
order_zhuangtai |
订单状态 |
varchar |
50 |
5 |
order_jine |
总的消费金额 |
Int |
4 |
6 |
order_songhuodizhi |
送货地址 |
Varchar |
50 |
7 |
order_fukuangfangshi |
付款方式 |
Varchar |
50 |
8 |
order_user_id |
用户ID |
Int |
4 |
此表用于记录用户订单的详细信息,为用户提供详细的商品订单信息,同时也为管理员出货提供用户所订的商品的具体信息。如表4-4所示。
序号 |
名称 |
别名 |
类型 |
长度(字符) |
1 |
orderItem_id |
订单明细编号 |
Int |
4 |
2 |
order_id |
订单编号 |
Int |
4 |
3 |
goods_id |
商品编号 |
Int |
4 |
4 |
goods_quantity |
购买数量 |
Int |
4 |
此表用于记录用户的基本信息,是用户购买生活用品的权限基础,为用户维护和管理员管理用户提供信息。如表4-5所示。
序号 |
名称 |
别名 |
类型 |
长度(字符) |
1 |
user_id |
用户ID |
Int |
4 |
2 |
user_name |
用户名 |
Varchar |
50 |
3 |
user_pw |
用户密码 |
Varchar |
50 |
4 |
user_realname |
真实姓名 |
Varchar |
50 |
5 |
user_address |
住址 |
Varchar |
50 |
6 |
user_sex |
性别 |
Varchar |
50 |
7 |
user_tel |
联系电话 |
Varchar |
50 |
8 |
user_email |
用户邮箱 |
Varchar |
50 |
9 |
user_qq |
用户QQ |
Varchar |
50 |
此表用于记录不同权限管理员的基本信息,可以管理系统的所有信息。如表4-6所示。
序号 |
名称 |
别名 |
类型 |
长度(字符) |
1 |
userId |
管理员ID |
int |
4 |
2 |
userName |
管理员名称 |
Varchar |
50 |
3 |
userPw |
管理员密码 |
Varchar |
50 |
此表用于记录公告的基本信息,为用户提供系统网站的最新信息。如表4-7所示。
序号 |
名称 |
别名 |
类型 |
长度(字符) |
1 |
gonggao_id |
公告编号 |
Int |
4 |
2 |
gonggao_title |
公告标题 |
Varchar |
50 |
3 |
gonggao_content |
公告内容 |
Varchar |
5000 |
4 |
gonggao_data |
公告创建时间 |
Varchar |
50 |
5 |
gonggao_fabuzhe |
发布人 |
Varchar |
50 |
此表用于记录客户的留言信息,以及对商品的建议等。如表4-8所示。
序号 |
名称 |
别名 |
类型 |
长度(字符) |
1 |
liuyan_id |
留言id |
Int |
4 |
2 |
liuyan_title |
留言标题 |
Varchar |
50 |
3 |
liuyan_content |
留言内容 |
Varchar |
5000 |
4 |
liuyan_date |
留言时间 |
Varchar |
50 |
5 |
liuyan_user |
留言客户 |
Varchar |
50 |
第5章 详细设计与实现
系统的软件环境配置为Windows XP操作系统,SQL Server 2008数据库,JDK1.8、Eclipse neon开发工具包和Tomcat8.5服务器。
Eclipse是著名的跨平台的自由集成开发环境(IDE)。最初主要用来Java语言开发,但是目前亦有人通过插件使其作为C++、Python、PHP等其他语言的开发工具。
Eclipse的本身只是一个框架平台,但是众多插件的支持,使得Eclipse拥有较佳的灵活性。许多软件开发商以Eclipse为框架开发自己的IDE。
Eclipse的基础是富客户机平台(Rich Client Platform,即RCP)。RCP包括下列组件:
Eclipse工作台(即Workbench ,包含视图(views)、编辑器(editors)、视
由于网上购物必须保证用户的正确性、购物的安全性,需要对用户资料进行有效的管理,因此用户管理是电子商务网站的重要内容。它主要包括用户注册、登录和验证、用户注册资料的修改更新和用户注销等功能。
表单属性:name="form1" action="<%=path%>/userReg.action" method="post"
名称 |
类型 |
含义 |
userName |
Text |
输入用户名称 |
password |
Password |
输入密码 |
passwordOne |
Password |
输入确认密码 |
userRealname |
Text |
输入真实姓名 |
userAddress |
Text |
输入住址 |
userSex |
radio |
选择性别 |
userTel |
Text |
输入联系方式 |
|
Text |
输入E-mail地址 |
确定 |
Button |
提交用户信息 |
取消 |
Button |
取消注册 |
当用户输入用户名和密码后首先要进行身份验证,如果用户存在,则成功登录,反之,如果用户不存在,提示错误信息“输入的用户名或密码不存在,请注册”,返回登录界面重新输入用户名和密码。
开 始 |
输入用户名、密码 |
登 录 |
是否通过验证? |
否 |
是 |
登录成功 |
名称 |
类型 |
含义 |
userName |
Text |
输入用户名 |
password |
Password |
输入密码 |
注册 |
button |
注册新用户 |
登录 |
button |
登录网站 |
已注册的用户只要登录本系统后便可以通过单击用户修改按钮进行用户修改操作,在此页面中用户可以更改自己的帐户和详细信息,如可以修改密码、修改Email地址等个人信息。通过点击提交按钮完成修改操作。
为了保证用户购物的安全性,系统提供了不关闭浏览器而退出商品网上购物系统的功能,注销功能是清除用户在使用或登录系统期间的所有Session信息。
表单属性:action="<%=path%>/userEdit.action" name="form1" method="post"
名称 |
类型 |
含义 |
userName |
Text |
输入用户名称 |
续表5-4 |
||
password |
Password |
输入密码 |
passwordOne |
Password |
输入确认密码 |
userRealname |
Text |
输入真实姓名 |
userAddress |
Text |
输入住址 |
userSex |
radio |
选择性别 |
名称 |
类型 |
含义 |
userTel |
Text |
输入联系方式 |
|
Text |
输入E-mail地址 |
确定 |
Button |
提交用户信息 |
取消 |
Button |
取消注册 |
通过查询t_orderItem表中按销售额字段goods_quantity降序排列实现。
用户选购商品后添加到购物车中,在购物车中进行查看,同时对不满意的产品可以进行移除,对要购买的产品可以调整数量,移除产品和清空产品。用户决定购买产品后可以去收银台进行结账。
开 始 |
购 物 车 |
查看手机 |
是否决定购买? |
否 |
是 |
收银台结账 |
表单属性:action="<%=path%>/orderSubmit.action" name="f" method="post"
名称 |
类型 |
含义 |
userName |
Text |
收货人账号 |
续表5-5 |
||
userRealname |
Text |
收货人姓名 |
userTel |
Text |
收货人联系电话 |
userAddress |
Text |
收货人地址 |
odderSonghuodizhi |
Text |
送货住址 |
用户填写完订单并提交成功后可以通过查看订单按钮看到自己的订单及详细信息。
吸引顾客有很多种宣传措施,本系统采用公告的方式进行宣传。利用类似流动看板的方式显示公告信息。在顾客点击某一条公告信息时,系统可以自动弹出一个页面显示具体的公告信息。界面的设计如图5-11所示。
首先使用gonggaoDAO中的save方法,将公告信息添加到数据库中,在用户点击页面中的公告后,通过gonggaoDAO下的findAll方法,将其调出,显示到页面中。
为了能够了解客户对我们的商品的满意程度,我们设计了留言模块,让用户能够在第一时间将问题反映给我们,以便我们及时改进。
在商品管理模块中除了基本的信息管理功能外,为了方便顾客浏览到商品的真实外貌,在添加商品模块中增加上传商品图片的功能。
本模块主要是对商品表进行管理,所以就是一些查询和删除操作,我在做的时候,主要讲商品分为特价和非特价商品,在管理时也是分开管理,主要通过判断goodsIsnottejia来区分是否为特价商品。
在各大热门网站上都有公共的出现,该模块的建立也是为了通过实现发布公告,给顾客提供方便的操作,让客户能够及时的了解商城的活动情况。界面的设计如图5-16所示。
客户对商城的商品有任何意见,都可以在留言模块中进行留言,方便管理员查看,商城会及时处理问题。
单元测试是整体测试中的第一步,通常在编码阶段进行。在源程序代码经过编译、评审、确认没有语法错误之后,便可开始进行单元测试。
集成测试在单元测试完成之后,将所有的模块概要设计要求组装成系统时进行的测试,主要目标是发现与接口有关的问题。
经过集成测试之后,接口错误已经发现被发现并改正了,接下便要进行确认测试。所谓确认测试就是验证所开发软件的功能性及其他特性是否符合软件需求规格说明书的要求。所以,确认测试又被称为有效性测试。
系统测试是更大范围内进行测试,它将经过确认测试的软件作为整个基于计算机的系统的一个元素,在实际运行环境下,对系统进行的一系列集成和确认测试。
为了测试系统的正确性和完整性,本节将对系统中重点模块的测试进行介绍。
首先在主页中的查询产品中的文本框中输入要查询的商品关键字,在中间显示菜单中查询到商品,则说明查找成功。通过对系统的反复大量的测试,该模块测试成功。
测试过程是单击页面左边的商品类别,选中某一类别后,就可以在页面右边显示该类别下的所有商品。通过对该功能的重复大量测试,该模块能够准确地实现此项功能。
针对购物车应该不限制顾客购买手机的数量这一原则进行测试,通过大量向购物车中添加生活用品来进行测试,测试结果为购物车中可以显示所添加的所有手机信息,测试结果取得了预期的效果。
在用户注册模块中涉及到了三项数据,项目分别为密码和确认密码、用户真实姓名、住址、性别、E_mail、QQ。测试这个模块准备的数据有:
1. 、123、123、Jamie、山西省太原市、女、1234567、sang@qq.com、12345
2.sa、123、12、张三、哈尔滨道外区、男、1234567、sang @123.com、12345
3.be、123、123、李四、哈尔滨香坊区、男、1234567、sang @123.com、12345
1 汪建文.我国零售企业的商务电子化应用商场现代化.2008.(04):56-60
2 胡燕.软件工程与标准化.信息技术与标准化.2004.(12):17-21
3 盛仲飙.JSP中数据库访问的性能优化研究.微型电脑应用.2008,(9):16-17
4 董纪阳.软件设计中的需求分析.电脑知识与技术.2008.(28):56-57
5 林华灵.基于Strut框架技术的Web应用.中国新技术新产品.2008,(14):9-11
6 何玉洁.数据库原理与应用教程.机械工业出版社.2003:23-78
7 杨文红,赵德平,刘柯剑.基于MVC模式Struts框架研究与应用.硅谷.2008.(20):45-46
8 赵蕾,程明定,刘琳.J2EE模型中Struts框架技术的研究和应用.中国博览.2004.(12):25-26
9 桃子.生活用品市场前瞻.微型计算机.2007.(13):89-90
10 周建儒.JSP中自定义标签的实现与部署.科技信息(科学教研).2008.(23):51-53
11 Mcleod.Management Information system management in practice.Prentice Hall.1998:43-55
12 Raghu Ramakrishnan.Johannes Gehrke.Database Management System.McGraw-Hill Professional. 2007:180-213
13 Cassidy A.Information systems strategic planning.Bocaraton.Flrida.St.
Luicepress.1998:12-31
14 Dionysios Tsichritzis C.Data Base Management Systems.1977:150-53
15 hristopher P.Ben light.A critical success factors model for eprimplement.
IEEE software.1999:16-30
作者: Kathy Sierra and Bert Bates
1、 选择一个像是Smalltalk一样的语言,如果你想要用它来进行生产你就必须要学习一个很大型的库。
2、 选择一个像是C++语言一样的语言,几乎没有任何的库。你必须去设法了解深涩的语言本身以便于去编写你自己的对象库。
购物车核心代码
在userAction中:
public String userLogin()
{
String sql="from TUser where userName=? and userPw=?";
Object[] con={userName,userPw};
List userList=userDAO.getHibernateTemplate().find(sql,con);
if(userList.size()==0)
{
this.setMessage("用户名或密码错误");
this.setPath("qiantai/index.html");
}
else
{
Map session= ServletActionContext.getContext().getSession();
TUser user=(TUser)userList.get(0);
session.put("user", user);
Cart cart=new Cart(); //用户登陆成功后生成购物车,并将其放入到session中。
session.put("cart", cart);
this.setMessage("成功登录");
this.setPath("qiantai/index.html");
}
return "succeed";
}
在buyAction中:
public String addToCart()
{
TGoods goods=goodsDAO.findById(goodsId);
TOrderItem orderItem=new TOrderItem();
orderItem.setGoods(goods);
orderItem.setGoodsQuantity(quantity);
Map session= ServletActionContext.getContext().getSession();
Cart cart = (Cart)session.get("cart"); //将session中的cart取出,也就是上边存储在session中的cart
cart.addGoods(goodsId, orderItem);
session.put("cart",cart); //再把cart放入session
//this.setMessage("");
this.setPath("myCart.action");
return "succeed";
}
public String myCart() //获取我的购物车
{
return ActionSupport.SUCCESS;
}
public String orderQueren() //确认提交订单
{
Map request=(Map)ServletActionContext.getContext().get("request");
return ActionSupport.SUCCESS;
}
public String orderSubmit() //订单提交
{
Map session= ServletActionContext.getContext().getSession();
Cart cart = (Cart)session.get("cart"); //将cart取出
TUser user=(TUser)session.get("user"); //将用户取出
TOrder order=new TOrder();
order.setOrderBianhao(new SimpleDateFormat("yyyyMMddhhmmss").format(new Date())); //设定订单编号
order.setOrderDate(new SimpleDateFormat("yyyy-MM-dd hh:mm:ss").format(new Date())); //确认订单的日期
order.setOrderZhuangtai("no"); //订单状态默认为未受理
order.setOrderUserId(user.getUserId()); //设定订单的用户ID
order.setOrderJine(cart.getTotalPrice()); //商品的价格
orderDAO.save(order); //保存订单
for (Iterator it = cart.getItems().values().iterator(); it.hasNext();)
//把订单里的商品存入数据库
{
TOrderItem orderItem = (TOrderItem) it.next();
orderItem.setOrderId(order.getOrderId());
orderItem.setGoodsId(orderItem.getGoods().getGoodsId());
orderItemDAO.save(orderItem);
}
cart.getItems().clear(); //清空购物车
session.put("cart", cart);
Map request=(Map)ServletActionContext.getContext().get("request");
request.put("order", order);
return ActionSupport.SUCCESS;
}
Public String myOrder() //根据用户查询订单
{
Map session= ServletActionContext.getContext().getSession();
TUser user=(TUser)session.get("user"); //获取用户
String sql="from TOrder where orderUserId="+user.getUserId();
List orderList=orderDAO.getHibernateTemplate().find(sql); //调用orderDAO中的find方法,执行sql语句
Map request=(Map)ServletActionContext.getContext().get("request");
request.put("orderList", orderList);
return ActionSupport.SUCCESS;
}
public String orderMana() //订单管理
{
String sql="from TOrder order by orderUserId";
List orderList=orderDAO.getHibernateTemplate().find(sql);
Map request=(Map)ServletActionContext.getContext().get("request");
request.put("orderList", orderList);
return ActionSupport.SUCCESS;
}
Public String orderDel() //用户自己删除订单
{
TOrder order=orderDAO.findById(orderId);
orderDAO.delete(order);
Map session= ServletActionContext.getContext().getSession();
TUser user=(TUser)session.get("user");
this.setMessage("删除成功");
this.setPath("myOrder.action?userId="+user.getUserId()); //跳转到 myOrder.action
return "succeed";
}
public String orderDelByAd() //管理员删除订单
{
TOrder order=orderDAO.findById(orderId);
orderDAO.delete(order);
String sql="delete from TOrderItem where orderId="+orderId;
orderItemDAO.getHibernateTemplate().bulkUpdate(sql);
this.setMessage("删除成功");
this.setPath("orderMana.action");
return "succeed";
}
public String orderShouli() //对订单进行受理
{
TOrder order=orderDAO.findById(orderId);
order.setOrderZhuangtai("yes");//已经受理订单
orderDAO.attachDirty(order);
this.setMessage("受理订单成功");
this.setPath("orderMana.action");
return "succeed";
}
public String orderDetail() //订单明细
{
String sql="from TOrderItem where orderId="+orderId;
List orderItemList=orderItemDAO.getHibernateTemplate().find(sql);
for(int i=0;i<orderItemList.size();i++)
{
TOrderItem orderItem=(TOrderItem)orderItemList.get(i);
orderItem.setGoods(goodsDAO.findById(orderItem.getGoodsId()));
} //取出订单里的商品
Map request=(Map)ServletActionContext.getContext().get("request");
request.put("orderItemList", orderItemList);
return ActionSupport.SUCCESS;
}
在cart.java中
package com.util;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import com.model.TGoods;
import com.model.TOrderItem;
public class Cart //定义购物车类
{
protected Map<Integer, TOrderItem> items;
public Cart() //定义构造方法
{
if (items == null)
{
items = new HashMap<Integer, TOrderItem>();
}
}
public void addGoods(Integer goodsId, TOrderItem orderItem) //添加购物车
{
if (items.containsKey(goodsId))
{
TOrderItem _orderitem = items.get(goodsId);
_orderitem.setGoodsQuantity(_orderitem.getGoodsQuantity()+ orderItem.getGoodsQuantity()); //如果购买商品重复,则加上数量
items.put(goodsId, _orderitem);
} else
{
items.put(goodsId, orderItem);
}
}
Public void delGoods(Integer goodsId) //删除购物车
{
items.remove(goodsId);
}
public void updateCart(Integer goodsId, int quantity) //更新购物车的数量
{
TOrderItem orderItem = items.get(goodsId);
orderItem.setGoodsQuantity(quantity);
items.put(goodsId, orderItem);
}
public int getTotalPrice() //计算总的价格
{
int totalPrice = 0;
for (Iterator it = items.values().iterator(); it.hasNext();)
{
TOrderItem orderItem = (TOrderItem) it.next();
TGoods goods = orderItem.getGoods();
int quantity = orderItem.getGoodsQuantity();
totalPrice += goods.getGoodsTejia() * quantity; //单价乘以数量
}
return totalPrice;
}
}
基于jsp的网上手机销售系统设计与实现(项目报告+答辩PPT+源代码+数据库+截图+部署视频)相关推荐
- 基于jsp的高校固定资产管理系统设计与实现(项目报告+答辩PPT+源代码+数据库+截图+部署视频)
摘本文基于Java语言,设计与实现了一个高校固定资产管理系统.该系统提供了资产信息管理.资产入库.资产领用.资产报废等功能,旨在帮助高校高效管理和维护固定资产.本文详细介绍了系统的需求分析与设计.数据 ...
- 基于jsp的农产品销售管理系统设计与实现(项目报告+答辩PPT+源代码+数据库+截图+部署视频)
项目报告 基于WEB的农产品销售管理系统 本文论述了基于JAVA.Web的农产品销售管理系统开发的目的及意义,目的是为了农产品资源的合理利用和物资的充分交流,有些地方富余而卖不出去,有些地方却吃不上. ...
- 基于jsp的项目管理平台系统设计与实现(项目报告+答辩PPT+源代码+数据库+截图+部署视频)
项目报告 基于Java EE平台项目管理系统的设计与实现 随着社会信息化的发展,很多的社会管理问题也一并出现了根本性变化,项目公司的报表及文件管理也发生了变化,以前的管理是一个分布式的信息,然后围绕中 ...
- 基于java的连连看游戏系统设计与实现(项目报告+答辩PPT+源代码+数据库+截图+部署视频)
项目说明报告 基于Java的连连看游戏设计与实现 连连看是一种消除类益智游戏,核心要求是在规定的时间内,消除游戏界面中选中的两张相同的图案,直至完全消除所有图案.这款游戏操作简单(只需单击鼠标左键操作 ...
- 基于jsp的高校网上订餐系统设计与实现(项目报告+答辩PPT+源代码+数据库+截图+部署视频)
项目报告 基于jsp的网上订餐系统 随着社会不断的更替发展,科技日新月异,人们的饮食生活方式以及作息等等方面都发生了翻天覆地的变化.发展到现今社会,人们的饮食方式不再局限于传统的在饭店中就餐,越来越多 ...
- 基于java的新闻发布及管理系统设计与实现(项目报告+答辩PPT+源代码+数据库+截图+部署视频)
项目说明报告 题 目:新闻发布及管理系统的设计与实现 本课题来源及研究现状: 课题来源 21世纪是信息的时代,是网络的时代,进入信息社会高速发展的时代,数字化革命给所有领域带来新的改变.信息技术的 ...
- 基于java的出租车计价器系统设计与实现(项目报告+答辩PPT+源代码+数据库+截图+部署视频)
项目报告 出租车计价器设计与实现 在我国,出租车行业是八十年代初兴起的一项新兴行业,随着出租车的产生,计价器也就应运而生.但当时在全国没有一家企业能够生产,因而那个时期的计价器是由台湾引进.台湾是计价 ...
- 基于java的宠物管理系统设计与实现(项目报告+答辩PPT+源代码+数据库+截图+部署视频)
基于JAVA的宠物网站的设计与实现 本系统是采用Java技术来构建的一个基于Web技术的B/S结构的宠物网站,该网站建立在Spring和Struts2框架之上,前台使用JSP作为开发语言,后台使用My ...
- 基于jsp的网上招标系统设计与实现(项目报告+答辩PPT+源代码+数据库+截图+部署视频)
说明书报告 从本世纪初,互联网开始加速发展,各种创新型应用和互联网新概念不断出现,例如搜索引擎.电子商务.博客.维基百科.RSS.3G.web2.0.长尾理论等.这些应用和概念与知识管理都有着或多或少 ...
最新文章
- System.OutOfMemoryException
- 《C++应用程序性能优化::第五章动态内存管理》学习和理解
- 配置中心框架IConfCenter
- 【深度学习】遗传算法优化GAN
- ES权威指南[官方文档学习笔记]-8
- (组合数学)AtCoder Grand Contest 019 F - Yes or No
- Java 并发:第三部分 - 同步锁
- SQL Server 2008 数据库快照
- MNIST数据集重生!测试图片增加到6万张,LeCun点赞
- 【逻辑漏洞】短信轰炸
- 2018.12.26 Jquery 使用 slideBox 实现滚动 效果
- python爬虫之使用urllib模块实现有道翻译功能
- 12面魔方公式图解法_三阶魔方公式符号图解V2.0(2017/12/15)_碧海风云
- C#习题之标准体重测试
- QT在状态栏添加label
- katacontainers启动分析
- 腾讯云数据库TDSQL-C(原CynosDB)的外网访问配置
- 18岁创业从哪入手?读透这5点则事半功倍!
- LVI-SAM imuPreintegration代码解析
- 天空盒里放风筝,OpenGL就这么任性:想怎么放,就怎么放!
热门文章
- 平衡树其一(AVL,Treap)
- msvcp110.dll丢失怎么修复(一键修复办法)
- 3D Xpoint技术与NAND Flash、3D NAND Flash及DRAM的比较
- Python ---(十九)Tkinter窗口组件:Toplevel
- Visual Studio 2005详细讲解!
- head/body内常用标签
- 14.1 NFS介绍 14.2 NFS服务端安装配置 14.3 NFS配置选项
- 2003年国赛数学建模B题碎纸片拼接复原问题参考
- 揭秘自恢复保险丝与电压之间“不能说的秘密”
- Failure to find com.oracle:ojdbc6:jar:11.2.0