基于web的网上购物商城.docx
《基于web的网上购物商城.docx》由会员分享,可在线阅读,更多相关《基于web的网上购物商城.docx(18页珍藏版)》请在冰点文库上搜索。
基于web的网上购物商城
JavaEE程序设计
期末课程设计报告
题目:
基于WEB的购物商城
班级:
信息管理与信息系统
学号:
姓名
成绩:
完成时间:
2014年12月
目 录
第一章系统研发背景及意义
1.1选题背景
随着Internet的快速发展,人们已经进入了信息时代,Web已经对商业、工业、银行、财政、教育、政府、娱乐和信息产业及人们的工作、生活产生了深远的影响。
许多传统的信息和数据库系统正在被移植到互联网上,人们获得信息的来源已经不再只是报纸、电视、广播等传统媒体,一个新的信息传送媒体逐渐被人们所青睐。
范围广泛的,复杂的分布式应用正在Web环境中出现。
网上购物系统就相继的出现,网上购物不仅给人们带来了不少的方便快捷,而且还提供了种类繁多的商品,代替了传统的购物形式,提供了方便快捷,安全可靠,价格低廉的各种商品,因此网上购物系统正在快速向前发展。
1.2需求分析
网上购物系统是一个用户和商家相互交互的在线购物的系统。
网上购物平台主要是对后台管理和前台操作。
后台管理是管理员对本网站的维护,通过商品资料(商品添加、商品修改)会员管理(会员审查)网站信息管理(新闻添加、修改删除、公告设置),以及常规设置(广告添加,友情链接)等功能达到对网站的管理。
前台操作是用户登录到本网站,可以进行用户注册,通过网站的精品推荐或商品搜索功能,找到自己想要买的商品,装入购物车,提交定单进行购买。
网上购物平台的特点是客户和电子商品信息量很大,管理员需要整理的信息很多,为让管理员轻松、方便、快捷的管理,该平台采用符合购买电子商品基本的原则,满足广大客户的日益增长的数量,并达到操作过程中的直观、方便、实用、安全等要求。
第二章 系统开发技术简介及运行环境的搭建
2.1 Oracle技术
Oracle最具有竞争力的特性:
(一)可靠性
在大多数情况下,高级数据库的性能是以降低可靠性为代价的,然而Oracle不是这样,它提供了最大可靠性和正常运行时间,并且在大量要求严格的应用系统中已得到测试和验证。
Oracle巨大的用户基础有助于快速查找和解决存在的缺陷,并且能在各种环境中测试软件,这种方法,早就了几乎完全没有缺陷的软件。
(二)多用户支持
Oracle是一个完全多用户系统,这就意味着多个用户,可以同时访问和使用一个(或多个)的Oracle数据库。
在基于网络的应用程序(要求支持多个远程客户同时建立连接)的发展期间,这是具有特殊意义的。
Oracle也包括一个强有力的,灵活的权限系统,它允许管理者使用基于用户的基于主机的认证方案的组合来限制对敏感数据的访问。
(三)可扩展性
没有很多性能的下降,Oracle就可以处理非常巨大和复杂的数据库。
包含几十万条记录,几十亿个字节的表是常见的,Oracle网站本身就要求使用包含5000玩条记录的数据库,Oracle有效地满足了50到1000个并发用户的访问。
并且在超过600个用户的限度的情况下,Oracle的性能并没有明显的下降。
像SAP,Yahoo,NASA和TesasInstruments这样的商业集团;大容量网站。
如Google,政府组织,如美国人口普查局和罗德岛州政府都是用Oracle来加强他们的系统,可见Oracle数据库系统是非常的稳定的。
(四)国际化
Oracle作为一个全球很多国家百万人使用的系统,如果没有包括对各种用语言和字符集的支持,将是不正确的。
(五)开放源代码
Oracle的开发者OracleAB是开放源代码的坚定支持者,并且Oracle软件可在GPL下流畅的使用。
用户可以免费下载和修改符合他们需要的应用程序的源代码,并且可以免费的使用他来增强自己的应用程序。
通过在全世界数百万装置上大规模的测试软件的可靠性和不断扩展软件引擎,以保持领先于最新技术和最新的发展,让Oracle走在了竞争者的前面。
2.2 运行环境的搭建
2.2.1JDK的安装与环境变量的配置
使用JDK1.5.0.08(windows版)双击“jdk-1_5_0_08-windows-i586-p.exe”安装文件,开始安装JDK,安装步骤按默认即可。
系统环境变量配置:
右键单击“我的电脑”,然后选择“属性”,在打开的对话框中,选择“高级”选项卡,然后单击下面的“环境变量”按钮,在弹出的环境变量对话框中,看下面的“系统变量”块,单击“新建”按钮,弹出“新建系统变量”对话框,然后创建变量名为“JAVA_HOME”的变量,变量值为“C:
\ProgramFiles\Java\jdk1.5.0.08\”(即安装JDK时所选的安装JDK的根目录)。
然后再在系统环境变量中选择“Path”变量,单击“编辑”按钮,弹出编辑系统变量对话框,在“变量值”的后面添加“;%JAVA_HOME%bin”。
2.2.2Tomcat安装与环境变量的配置
使用Tomcat-5.0.28版本,解压“jakarta-tomcat-5.0.28.zip”文件,到指定目录即可。
当用户配置完环境变量后,就可以运行MyEclipse,在MyEclipse工具栏上点击“window”选择“showtime”选择“Serves”在serves里面把你的工程名称加载进去,在“Tomcat5.x”上单击右键,选择“Run”运行即可。
2.2.3MyEclipse6.0安装
使用MyEclipse6.0版本,MyEclipse的安装:
首先安装ECLIPSE到“F:
\eclipse”路径下,按照默认的安装配置,点击“下一步”完成安装,之后安装MYECLIPSE,按照默认配置点击“下一步”,选择“F:
\eclipse”路径,点击“下一步”,按照默认配置点击“下一步”,完成MyEclipse安装后打开MyEclipse,选择工程需要存放的路径(随意)后进入MyEclipse操作平台上。
第三章 系统性能需求及数据描述
3.1 基本功能
(1)前台用户相关功能主要包括:
用户注册、登录;
购物车;
订单查询;
分类浏览;
编辑推荐;
热销商品;
(2)后台管理相关功能主要包括:
添加商品;
处理订单;
查询用户信息;
将以上这些功能制作成网页以后,在其中分别互相建立连接,基本完成商城及用户对网站的要求。
3.2 系统分析及数据描述
3.2.1前台业务流程分析
前台业务主要是面向客户,用户可以浏览网页内的商品信息。
前台业务的流程图如图3.1所示。
图3.1前台业务流程图
3.2.2后台业务流程分析
在网站设计中,管理员完成对网站的维护与管理的工作。
使用数据库中权限的功能对管理员设置权限,管理员可以对商品及商品分类的信息进行新增,修改及删除,也可以对订单信息进行查看、撤销、发货、完成等处理,同时管理员也可以对用户信息进行管理。
3.2.3数据流图分析
根据前台业务流程,可以将用户的活动分为两类。
用户浏览所使用到的数据归纳为站内信息,如商品信息等。
而用户提交的订单则作为网站的订单数据。
相应的,根据后台业务流程,管理员对网站内容的添加、更新和删除等所操作的数据定义为商城信息。
进一步分析网站的数据流程,得到网站数据流程的零级图,如图3.5所示。
图3.5网站数据流程零级图
第四章 系统总体设计
4.1功能模块设计
本系统分为两大模块,即前台模块和后台模块。
网上商城的功能结构如图4.1所示。
图4.1网上商城的功能结构图
4.2系统功能描述
4.2.1前台模块的功能模块设计描述
前台模块主要为登陆网上商城的用户提供商品和服务的信息,填写并提交订单的服务。
这样,将前台模块再细分为用户管理模块、订单查询模块、购物车模块、填写送货地址模块。
顾名思义,这些模块的名称基本概括了它们的功能。
下面详细说明一下这些功能模块的设计:
(1)用户管理模块:
为了方便于网站的管理,必须由一套完整的用户管理体系。
该网站用户管理模块主要实现用户的注册、登录、找回密码3方面功能。
(2)购物车模块:
在超市购物,可以根据自己的需要将很多种商品挑选至购物车或购物篮中,然后到收银台结款。
而在网上虚拟的商城中,当然没有办法使用真正的购物工具,因此,通常都会采用一种被称为“购物车”的技术来模拟现实生活。
在网上商城中,所选商品须通过购物车进行暂存,然后生产订单。
这种技术使用起来十分方便,不但可以随时添加、查看、修改、清空购物车中的内容,还可以随时去收银台结款。
(3)订单管理模块:
用户提交订单后,通过产生的订单号查询订单信息及执行状态。
用户可以浏览自己购买商品的数量,商品ID及购买总价等信息。
4.2.2后台管理模块的功能模块设计描述
后台管理模块的功能是对站内的资源进行管理和维护。
以后台的业务流程分析和前台各个模块的设计为基础、根据用户的需求分析来确定后台管理模块应具有的功能。
后台管理模块的各个子功能模块如下:
管理员模块:
为合法用户提供一个后台入口。
该模块的功能是对管理员身份进行能够验证。
用户输入登录ID和密码后,系统将判断登录ID及密码的有效性,如果通过验证则状态后台主页,反之则提示错误。
商品管理模块:
向商品表插入前台首页展示的商品信息,也就是添加商品信息。
用户信息管理模块:
查询注册所有用户,对一些非法或失信用户进行删除操作。
第五章 系统数据库设计
5.2数据库设计
本系统采用的数据库管理系统是Oracle数据库。
该数据库不仅能够满足最大的数据处理系统和商业Web站点存储数据的需要,还能为个人或小企业提供易于使用的数据存储服务。
表的设计是这次设计的一个核心内容。
根据前面对网站前台与后台功能模块的分析和对数据库中实体关系的设计,可以看到网站中所用到的数据信息基本包括:
商品信息、用户信息、订单信息等。
本系统的数据库的名字为dangdang,在本数据库中包括如下几个表:
(1)商品信息表d_Product
商品信息表d_Product用来保存商品的基础信息。
结构如表5.1.1所示。
表5.1.1商品信息表
字段名称
数据类型
长度
是否允许为空
是否为主键
字段描述
Id
int
12
no
YES
商品编号
Product_name
varchar
100
NO
NO
商品名称
Description
varchar
100
YES
NO
商品描述
Add_time
bigint
20
YES
NO
上架时间
Fxed_price
double
20
NO
NO
出厂价格
Recommend_code
double
20
NO
NO
是否推荐
Dang_price
double
20
NO
NO
商家价格
Hot_code
double
20
NO
NO
热销程度
Keywords
varchar
200
YES
NO
商品关键字
Has_deleted
int
1
NO
NO
是否删除
Product_pic
varchar
200
YES
NO
商品图片
(2)用户信息表d_User用户信息表d_User用来保存用户信息。
表tb_User的结构如表5.1.2下。
表5.1.2用户信息表
字段名称
数据类型
长度
是否允许为空
是否为主键
字段描述
id
int
12
NO
YES
用户ID
email
varchar
50
NO
NO
用户邮箱
nickname
varchar
50
YES
NO
用户昵称
User_integral
varchar
50
NO
NO
用户字段
Is_email_verify
int
12
NO
NO
是否验证
Last_login_time
char
3
YES
NO
最后登录时间
Email_verify_code
varchar
50
YES
NO
邮箱验证
password
bigint
50
YES
NO
密码
Last_login_ip
varchar
15
YES
NO
最后登录IP
(3)订单生成表d_Order
订单生成表d_Order用来记录新生成的订单。
表d_Order的结构如表5.1.3所示
表5.1.3生成订单表
字段名称
数据类型
长度
是否允许为空
是否为主键
字段描述
id
Int
10
NO
YES
订单编号
User_id
int
12
NO
NO
用户ID
status
int
12
NO
NO
订单状态
Order_desc
bigint
24
YES
NO
订单描述
Total_price
varchar
100
NO
NO
总共价格
Receive_name
varchar
200
YES
NO
收货人姓名
Postal_code
varchar
5
YES
NO
商家价格
mobile
varchar
4
YES
NO
手机号码
phone
varchar
45
YES
NO
座机号码
Order_time
varchar
55
YES
NO
订单时间
Full_address
varchar
44
NO
NO
收货人地址
(4)订单商品表d_Item订单商品表d_Item用来记录某一订单中所定购的商品的详细信息。
表d_Item的结构如表5.1.4所示。
表5.1.4生成订单商品表
字段名称
数据类型
长度
是否允许为空
是否为主键
字段描述
id
int
10
NO
YES
订单ID
Order_id
int
10
NO
NO
生成订单ID
Product_id
int
10
NO
NO
商品ID
Product_name
varchar
100
NO
NO
商品名称
Dang_price
double
12
NO
NO
商场价格
Product_num
int
10
NO
NO
商品数量
amount
double
35
NO
NO
总共数量
第六章 系统详细设计
6.1网上购物系统的实施
在做好后台管理系统的基础上,再做前台系统,由于数据库里有了各种实际的资料,会更加直观。
管理员子系统主要是为管理员服务的,主要由4个模块组成,用户注册、用户登录、订单查询模块、购物车模块。
6.2.1前台功能模块的实现
整个系统分为了前台功能模块和后台功能模块。
下面详细讨论主要的几个功能模块的程序实现。
在每个模块的介绍中,将具体说明一些涉及要点。
前台功能模块分为用户注册、用户登录、订单查询模块、购物车模块4个部分。
前台首页主要有以下几个部分:
(一)用户登录:
用户在此注册、登录;
(二)销售排行榜:
按照商品的销售数量显示销售排行信息;
(三)商品展示区:
按后台添加商品的时间顺序展示商品;
6.3系统界面设计
首页运行结果如图6.1所示。
图6.1网上购物商城运行的首页
用户管理模块
用户管理模块主要实现用户的注册、登录等功能。
(一)用户注册
当用户第一次登录时首先要在网站上注册,成为会员用户才可以在网站上购物,注册页面必须填写一些用户的基本信息,如用户名、密码、联系电话等信息。
要注意的是,在用户注册页面中用户自定义JavaScript检验用户注册信息不允许为空。
用户注册页面如图6.2所示
图6.2用户注册
(二)用户登录
用户登录窗口设置在首页上,主要用来接收用户录入的邮箱及密码。
单击“注册”按钮时,会提交到注册页面执行;单击“登录”按钮时,系统将对输入的邮箱和密码进行验证,如果数据表中邮箱和密码存在就显示登陆成功,否则弹出错误提示信息。
(三)购物车模块
购物车模块中,主要包含以下几个功能,即:
添加购物车、修改商品数量、生成订单和清空购物车。
购物车的运行界面如图6.5
图6.5购物车运行界面
(a)添加购物车
添加购物车就是把用户选中的商品暂时存放在购物车中,当用户在前台首页中单击商品展示区的“购买”按钮时,便可以将该商品放入购物车中。
添加商品的代码流程是从session中读取shop对象,如果为空则说明还没有进行购物或者已经清空了购物车,需要新建购物车对象;将商品名称与购物车列表中的商品名称对比,如果已经存在,则再次购买时会提示已经购买了。
在这段代码流程中,还使用了集合类型。
集合类型在Java中又称为向量,是一元集合,可以加入重复数据,它的作用和数组相同,可以保存一系列数据,但集合类型也有它独特的优点,就是可以方便地对集合内的数据进行查找、增加、删除和修改等操作。
(b)查看购物车
为了方便用户随时查看购物情况,在网站的首页加入了购物车的链接,通过它可以将用户所有选中的商品信息放入购物车中显示出来。
在程序中使用了一组文本框记录用户购买的商品数量,用户可以在文本框中输入想要购买的数量然购单击“修改”按钮。
如果欲删除该商品,可以直接点击删除按钮。
系统每次只会将1个商品放入购物车中,如果用户需要多个同种商品,可以通过修改商品信息右侧相应文本框的值来完成。
操作完成后需要通过单击“修改”按钮来保存操作。
订单模块
用户提交订单点击结算以后,系统将根据用户购买商品的的订单号在数据表中查询处对应的货品信息并转到订单查询显示页面将货品信息显示出来。
下单查询的界面如图6.7
图6.7生成下单的界面
订单成功模块
当用户操作成功后,则生成订单成功,数据保存到数据库中。
如图6.10
图6.10订单生成图