基于javaee网上购物系统大学论文.docx
《基于javaee网上购物系统大学论文.docx》由会员分享,可在线阅读,更多相关《基于javaee网上购物系统大学论文.docx(28页珍藏版)》请在冰点文库上搜索。
基于javaee网上购物系统大学论文
新乡学院
毕
业
论
文
论文题目
基于JAVAEE网上购物系统
院(系)名称
计算机与信息工程学院
专业名称
计算机应用技术
班级
计算机应用一班
学生姓名
学号
指导教师姓名
2012年4月完成
目 录
摘要:
I
关键词:
I
AbstractI
KeywordsI
1.引言1
2.系统分析2
2.1需求性分析2
2.2可行性分析2
3.系统总体设计3
3.1项目规划3
3.2功能模块3
4.数据库的设计4
4.1MySql数据库的简介4
4.2MySql的特点和作用5
4.3数据库的整体E_R设计图5
4.3数据库列表6
4.4逻辑结构设计6
4.5物理结构设计6
5.当当网站的设计流程11
5.1用户注册流程11
5.2用户登录流程13
5.3产品浏览流程14
5.4购物车16
5.5订单流程18
6.开发小结19
7.参考文献20
8.致谢21
摘要:
电子商务系统(在线购物平台)在Internet中的应用已经非常广泛,例如我们熟知的淘宝网、当当网等。
随着网络信息化的飞速发展和普及,网上购物已经成为一种现代生活的时尚,也给人们的生活带来了非常大的方便性。
此篇论文主要介绍一款模拟了当当网系统部分功能的软件。
该网站使用javaee、struts2、MySQL数据库、jQuery、Hibernate、MyEclipse开发环境开发完成,采用了先进的MVC设计模式,降低了各个组件之间的耦合度,使我们所设计的当当网站更加便于维护和管理。
当当网实现了用户注册和登录,主界面和类别浏览,商品购买、数量变更及删除,订单确认、填写送货地址、生成订单等功能。
关键词:
MVCJSPMYSQLjQuery当当网
Abstract:
Electroniccommercesystem(onlineshoppingplatform)inInternetapplicationhasbeenveryextensive,suchaswearefamiliarwith,etc..Withtherapiddevelopmentofnetworktechnologyandpopularization,onlineshoppinghasbecomeafashioninmodernlife,butalsotothepeople'slifetobringtheconvenienceofverylarge.
Thispaperintroducesasimulationofthefunctionalpartofsystemsoftware.ThissiteusesJavaEE,Struts2,MySQLdatabase,jQuery,Hibernate,MyEclipsedevelopmentenvironmentdeveloped,usingtheMVCadvanceddesignmode,reducethecouplingdegreebetweeneachcomponent,sowedesignwhenthesitemoreconvenientmaintenanceandmanagement.
Drealizestheuserregisterandlogin,themaininterfaceandcategorybrowsing,thepurchaseofgoods,quantitychangeanddelete,orderconfirmation,fillinthedeliveryaddress,generatingordersandotherfunctions.
Keywords:
MVCJSPMYSQLjQueryD
1.引言
网络技术的发展越来越成熟,也越来越贴近人们的日常生活。
人们通过网络来获取信息、传递信息、发布信息,通过网络来寻人、交友、相亲,通过网络来进行交易、销售、转账等等。
所有这些方面每时每刻都在我们的身边发生,尤其是网上购物这类在线购物平台,受到了广大消费群体的喜爱。
它彻底改变了人们以往传统的消费模式,只要你打开电脑,轻轻点击鼠标,足不出户就能买到经济又实惠的产品。
网络发展的好处之一就是给人们的生活提供了很大的方便,当今社会网上购物已经非常普遍。
2.系统分析
2.1需求性分析
当当网购物平台,提供高质量,更快捷,更方便的购物方式,不仅可以用于商品的在线购买功能的实现,而且网站式购物对商品的管理更加合理化,信息化,销售商品的同时还具有用户的管理、购物车、订单管理等功能,非常丰富的网站内容。
本系统分为已登录用户和未注册用户即游客,网站会根据不同等级的用户在购买商品时享受不同的优惠政策。
游客只能在系统中查看商品信息,进行商品的订购。
但是不能进行结算,但享有本地购物车保存功能,用户将自己需要的商品放入购物车中,在确认之前,可以对购物车中的商品进行二次选择。
在用户确认购买后(选择购物车中所有商品),系统会为注册用户生成购物订单。
通过购物车可以一次性批量购买多个商品,并且无需记下订单即可在你的电脑上随时保存和查看你想购买的商品,总之购物车为广大用户带来了便利,注册用户在购物过程中或者购物结算结束后,可以注销自己的帐号,以保证帐号的安全。
2.2可行性分析
随着人们生活水平的提高,Internet技术发展的日趋完善,我国的网民数量也在不断增加。
在网络操作和使用得以大众化的同时,人们对新鲜事物的需求也日趋增加,这个时候就需要一种更为便利的购物方式来满足人们日益增长的购物需求,基于此我们设计了当当网系统。
本系统既满足了宅男宅女们的需求,也为忙碌的工作人群节省了购物的时间,网上购物还有一个便利就是购买的东西会比商场里买的更实惠。
如今,网上购物已成为了电子商务发展的一个必要的产物,它既代表着科技的进步,也为人们带来了不可预知的好处,与此同时还间接地让五湖四海的人们有了一个交流商品心得的平台。
设计和实现当当网系统的主要目的在于为各类人群提供一个在网上购书的平台,以满足人们的需求。
3.系统总体设计
3.1项目规划
当当网站是一个在功能上比较完备的在线购物平台。
整个网站将分为用户管理、产品浏览、购物车、订单生成四个比较大的子项。
用户管理子项
用户管理子项将实现以下功能需求:
用户注册、验证码邮件发送、用户登录
等。
产品浏览子项
产品浏览子项将实现以下功能需求:
主界面的显示、用户登录状态的变更、
下级产品分类浏览等。
购物车子项
购物车子项将实现以下功能需求:
产品购买与显示、数量变更及删除、价格
统计、购物产品恢复等。
订单生成子项
订单生成子项将实现以下功能需求:
订单确认、填写送货地址、生成订单等。
3.2功能模块
当当网站是一个在线购物平台。
本文详细论述了当当网站的视图显示、流程控制、业务逻辑模型和数据模型的设计处理等。
该网站可以提供用户注册登录、邮件自动发送、显示各类图书的上架信息、热卖排行、类别清单、购物车管理、订单管理等功能。
以上大部分功能都是在用户登录状态下起作用的,非注册用户只能进行页面产品浏览等基本功能。
其中用户管理模块并非作为本网站的主功能部分出现,后台管理只是网站需要时添加的,在后面的设计流程中会简单提及。
此外,它还提供事务管理功能,采用拦截器组件实现,这在并发控制中保证数据的完整性与安全性方面起到很大的作用。
具体功能的对应实现如下表所示:
表1网站功能表
Entity
实体对象
User
(用户)
Product
(产品)
Category
(类别)
Book
(图书)
Cart
(购物车)
Order
(订单)
Method
功能方法
Regist
(注册)
emailUnique
(唯一性)
verifyCode
(验证码)
verifyLogin
(登录验证)
getProducts
(产品集)
getHots
(热销书)
getCategorys
(类别清单)
cates(pid)
(二级类别)
Booklist
(分页)
getBooks
(图书集)
Buy
(购买)
deletePro
(删除)
modifyPro
(修改)
recoveryPro
(恢复)
saveToOrder
(存入订单)
getOrder
(获取订单)
4.数据库的设计
4.1MySql数据库的简介
MySQL是一个精巧的SQL数据库管理系统,虽然它不是开源代码的产品,但在某些情况下你可以自由使用。
由于它的强大功能、灵活性、丰富的编程应用接口以及精巧的系统结构,受到广大自由软件爱好者甚至是商业软件用户的青睐,特别是与Apache和PHP结合,为建立基于数据库的动态网站提供了强大动力。
4.2MySql的特点和作用
MySQL是一个真正的多用户、多线程SQL数据库。
SQL是世界上最流行的和标准化的数据库语言。
MySQL是以一个客户机/服务器结构的实现,它由一个服务器守护程序mysqld和很多不同的客户程序和库组成。
MySQL主要目标是快速、健壮和易用。
MySQL数据库的主要功能只在组织和管理很庞大或复杂的信息和基于WEB的库存查询请求不仅仅为客户提供信息,而且还可以为您自己使用数据库提供服务。
4.3数据库的整体E_R设计图
图1数据库E_R图
4.3数据库列表
表2数据库列表
序号
关系名称
描述
1
用户信息
注册用户的邮箱、密码、等级、IP等信息
2
送货地址信息
包含送货人、送货地址、用户联系方式等信息
3
类别信息
产品显示顺序、中英文名称、所属父类等信息
4
图书信息
图书作者、出版社、作者简介、目录等信息
5
产品信息
产品名称、描述、价格、产品图片等信息
6
类别和产品
对应关系
产品ID、类别ID等信息
7
订单信息
用户ID、订单时间、总价、送货地址等信息
8
订单明细
产品名称、价格、购买数量、总价等信息
4.4逻辑结构设计
表3逻辑结构设计
序号
关系名称
关系的属性
1
用户信息
ID、邮箱、昵称、密码、等级、验证状态、验证码、最后登录时间、IP
2
送货地址信息
ID、用户ID、送货人、送货地址、邮政编码、手机号、座机号
3
类别信息
ID、显示顺序、英文名、中文名、描述、父类项
4
图书信息
书籍作者、出版社、-出版时间、字数、版次、总页数、印刷时间、印次、书籍编号、作者简介、目录
5
产品信息
ID、产品名字、产品描述、添加时间、固定价格、当当价、关键搜索、是否删除、产品图片
6
类别和产品
对应关系
ID、产品ID、类别ID
7
订单信息
用户ID、用户状态、订单时间、订单描述、总价、送货地址、送货名字、邮编、手机号、座机号
8
订单明细
ID、订单ID、产品名称、当当价、购买数量、总价
4.5物理结构设计
表4用户表
表名
d_user
实体名称
用户表
主键
Id
序号
字段名称
字段说明
类型
位数
属性
备注
1
Id
用户id
Int
12
非空
标识
2
Email
邮箱
varchar
50
非空
3
Nickname
昵称
varchar
50
空
4
Password
密码
varchar
50
非空
5
user_integral
等级
Int
12
非空
6
is_email_verify
email验证
Char
3
空
7
last_login_time
登录时间
bigint
20
空
8
last_login_ip
登录IP
varchar
15
空
表5送货地址表
表名
d_receive_address
实体名称
送货地址表
主键
Id
序号
字段名称
字段说明
类型
位数
属性
备注
1
Id
id
Int
12
非空
标识
2
user_id
用户id
Int
11
非空
3
receive_name
送货人
Varchar
20
非空
4
full_address
送货地址
Varchar
200
非空
5
postal_code
邮政编码
Varchar
8
非空
6
Mobile
手机号
Varchar
15
空
7
Phone
座机号
Varchar
20
空
表6类别表
表名
d_category
实体名称
类别表
主键
Id
序号
字段名称
字段说明
类型
位数
属性
备注
1
Id
id
int
12
非空
标识
2
Turn
显示顺序
int
10
非空
3
en_name
英文名
varchar
200
非空
4
Name
中文名
varchar
200
非空
5
Description
种类描述
varchar
200
空
6
parent_id
父类id
int
10
空
表7图书表
表名
d_book
实体名称
图书表
主键
Id
序号
字段名称
字段说明
类型
位数
属性
备注
1
Id
用户id
int
12
非空
标识
2
Author
作者
varchar
200
非空
3
Publishing
出版社
varchar
200
空
4
publish_time
出版时间
bigint
20
非空
5
word_number
字数
varchar
15
空
6
which_edtion
版次
varchar
15
空
7
total_page
总页数
varchar
15
空
8
print_time
印刷时间
int
20
空
9
print_number
印次
varchar
15
空
10
Isbn
书籍编号
varchar
25
空
11
author_summary
作者简介
text
默认
非空
12
Catalogue
目录
text
默认
非空
表8产品表
表名
d_product
实体名称
产品表
主键
Id
序号
字段名称
字段说明
类型
位数
属性
备注
1
Id
用户id
int
12
非空
标识
2
product_name
产品名字
varchar
100
非空
3
Description
产品描述
varchar
100
空
4
add_time
添加时间
bigint
20
空
5
fixed_price
固定价格
double
默认
非空
6
dang_price
当当价格
double
默认
非空
7
Keywords
关键搜索
varchar
200
空
8
has_deleted
是否删除
int
1
非空
9
product_pic
产品图片
varchar
200
空
表9类别和产品对应关系
表名
d_category_product
实体名称
类别和产品对应关系表
主键
Id
序号
字段名称
字段说明
类型
位数
属性
备注
1
Id
id
int
12
非空
标识
2
product_id
产品id
int
10
非空
3
cat_id
类别id
int
10
非空
表10订单表
表名
d_order
实体名称
订单表
主键
Id
序号
字段名称
字段说明
类型
位数
属性
备注
1
Id
id
Int
10
非空
标识
2
user_id
用户id
Int
10
非空
3
Status
用户状态
Int
10
非空
4
order_time
订单时间
bigint
20
非空
5
order_desc
订单描述
varchar
100
空
6
total_price
总价
double
默认
非空
7
receive_name
送货名字
varchar
100
空
8
full_address
送货地址
varchar
200
空
9
postal_code
邮政编码
varchar
8
空
10
Mobile
手机号
varchar
20
空
11
Phone
座机号
varchar
20
空
表11订单明细表
表名
d_item
实体名称
订单明细表
主键
Id
序号
字段名称
字段说明
类型
位数
属性
备注
1
Id
id
Int
12
非空
标识
2
order_id
订单id
Int
10
非空
3
product_id
产品id
Int
10
非空
4
product_name
产品名字
varchar
100
非空
5
dang_price
当当价
Double
默认
非空
6
product_num
产品数量
Int
10
非空
7
Amount
总价
Double
默认
非空
5.当当网站的设计流程
在本章中,我们会对我们的页面进行一一阐述,为了让思路清晰明确,我们采用以下顺序:
游客—>用户—>管理员,每个用户都拥有游客的权利,并在此基础上增加属于自己的权利,管理员也拥有普通用户的所有权利,并在此基础上增加符合自己角色的权利。
5.1用户注册流程
用户填写注册信息-自动进行合法性验证-用户信息持久化并发送邮箱验证码-邮箱验证-注册成功
注册页面如下:
图2用户注册页面图
核心代码为:
//邮箱格式验证
Varpatt=/\b(^[‘_A-Za-z0-9-]+(\.[‘_A-Za-z0-9-]+)*@([A-Za-z0-9-])+
(\.[A-Za-z0-9-]+)*((\.[A-Za-z0-9]{2,})|(\.[A-Za-z0-9]
{2,}\.[A-Za-z0-9]{2,}))$)\b/;
if(!
patt.test(txtEmail)){
$(“#email\\.info”).html(“邮箱格式错误”);
returnfalse;
}
//唯一性验证
$.post(‘validEmail.action’,
{“email”:
txtEmail},
function(data){
if(data){
$(“#email\\.info”).html(“”);
}else{
$(“#email\\.info”).html(“”);
flag.email=true;
}
});
});
//密码验证
varpwdreg=/^[\@A-Za-z0-9\!
\#\$\%\^\&\*\.\~]{6,22}$/;
if(!
pwdreg.test(txtpwd)){
$(“#password\\.info”).html(“密码格式错误”);
flag.password=false;
}else{
$(“#password\\.info”).html(“”);
flag.password=true;
}
});
//邮箱验证码验证
publicStringexecute()throwsException{
UserDAOuserdao=newHibernateUserDAO();
if(userdao.findByEmail(email)==null){
ok=false;//可用
}else{
ok=true;//不可用
}
returnAction.SUCCESS;
}
5.2用户登录流程
登录信息-合法性验证-邮箱验证状态-登录成功
登录界面如下:
图3用户注册页面图
核心代码为:
//邮箱、密码是否正确
if(Dbuser!
=null&&Dbuser.getPassword().equals(password)&&Dbuser.getIsEmailVerify().equals(Constant.VERIFY_YES)){
session.put(“mUser”,Dbuser);//把用户信息绑定到session上
System.out.println(“正确”);
returnAction.SUCCESS;
}
//邮箱是否验证
elseif(Dbuser!
=null&&Dbuser.getPassword().equals(password)&&Dbuser.getIsEmailVerify()
.equals(Constant.VERIFY_NO)){
session.put(“user”,Dbuser);
System.out.println(“进行验证”);
//返回邮箱验证界面
return“AgainVerify”;
}
//登录成功,进入主界面
else{
System.out.println(“重新登录”);
returnAction.LOGIN;
}
5.3产品浏览流程
main.jsp-编辑推荐;main.jsp-热销图书;
main.jsp-最新上架图书;main.jsp-新书热卖榜
main.jsp-分类浏览-子类别分页显示
产品浏览界面如下:
图4产品浏览界面
核心代码为:
//新书热卖
IMa