当当网javaweb开发论文.docx
- 文档编号:10539659
- 上传时间:2023-02-21
- 格式:DOCX
- 页数:34
- 大小:698.22KB
当当网javaweb开发论文.docx
《当当网javaweb开发论文.docx》由会员分享,可在线阅读,更多相关《当当网javaweb开发论文.docx(34页珍藏版)》请在冰豆网上搜索。
当当网javaweb开发论文
学院
毕
业
论
文
论文题目
基于JAVAEE的当当网站的开发
院(系)名称
计算机与信息工程学院
专业名称
软件技术
班级
10级软件技术一班
学生姓名
学号
指导教师姓名
摘要:
电子商务系统(在线购物平台)在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
目录
一、引言4
二、系统分析4
(一)需求性分析4
(二)可行性分析4
三、系统总体设计4
(一)项目规划5
(二)功能模块5
(三)系统功能结构图6
(四)数据库设计7
四、当当网站的设计流程13
(一)用户注册流程13
(二)用户登录流程16
(三)产品浏览流程19
(四)购物车20
(五)订单流程22
五、开发小结24
六、参考文献24
七、致谢25
一、引言
网络技术的发展越来越成熟,也越来越贴近人们的日常生活。
人们通过网络来获取信息、传递信息、发布信息,通过网络来寻人、交友、相亲,通过网络来进行交易、销售、转账等等。
所有这些方面每时每刻都在我们的身边发生,尤其是网上购物这类在线购物平台,受到了广大消费群体的喜爱。
它彻底改变了人们以往传统的消费模式,只要你打开电脑,轻轻点击鼠标,足不出户就能买到经济又实惠的产品。
网络发展的好处之一就是给人们的生活提供了很大的方便,当今社会网上购物已经非常普遍
二、系统分析
(1)需求性分析
当当网购物平台,提供高质量,更快捷,更方便的购物方式,不仅可以用于商品的在线购买功能的实现,而且网站式购物对商品的管理更加合理化,信息化,销售商品的同时还具有用户的管理、购物车、订单管理等功能,非常丰富的网站内容。
本系统分为已登录用户和未注册用户即游客,网站会根据不同等级的用户在购买商品时享受不同的优惠政策。
游客只能在系统中查看商品信息,进行商品的订购。
但是不能进行结算,但享有本地购物车保存功能,用户将自己需要的商品放入购物车中,在确认之前,可以对购物车中的商品进行二次选择。
在用户确认购买后(选择购物车中所有商品),系统会为注册用户生成购物订单。
通过购物车可以一次性批量购买多个商品,并且无需记下订单即可在你的电脑上随时保存和查看你想购买的商品,总之购物车为广大用户带来了便利,注册用户在购物过程中或者购物结算结束后,可以注销自己的帐号,以保证帐号的安全。
(2)可行性分析
随着人们生活水平的提高,Internet技术发展的日趋完善,我国的网民数量也在不断增加。
在网络操作和使用得以大众化的同时,人们对新鲜事物的需求也日趋增加,这个时候就需要一种更为便利的购物方式来满足人们日益增长的购物需求,基于此我们设计了当当网系统。
本系统既满足了宅男宅女们的需求,也为忙碌的工作人群节省了购物的时间,网上购物还有一个便利就是购买的东西会比商场里买的更实惠。
如今,网上购物已成为了电子商务发展的一个必要的产物,它既代表着科技的进步,也为人们带来了不可预知的好处,与此同时还间接地让五湖四海的人们有了一个交流商品心得的平台。
设计和实现当当网系统的主要目的在于为各类人群提供一个在网上购书的平台,以满足人们的需求。
三、系统总体设计
(一)项目规划
当当网站是一个在功能上比较完备的在线购物平台。
整个网站将分为用户管理、产品浏览、购物车、订单生成四个比较大的子项。
1、用户管理子项
用户管理子项将实现以下功能需求:
用户注册、验证码邮件发送、用户登录
等。
2、产品浏览子项
产品浏览子项将实现以下功能需求:
主界面的显示、用户登录状态的变更、
下级产品分类浏览等。
3、购物车子项
购物车子项将实现以下功能需求:
产品购买与显示、数量变更及删除、价格
统计、购物产品恢复等。
4、订单生成子项
订单生成子项将实现以下功能需求:
订单确认、填写送货地址、生成订单等。
(二)功能模块
当当网站是一个在线购物平台。
本文详细论述了当当网站的视图显示、流程控制、业务逻辑模型和数据模型的设计处理等。
该网站可以提供用户注册登录、邮件自动发送、显示各类图书的上架信息、热卖排行、类别清单、购物车管理、订单管理等功能。
以上大部分功能都是在用户登录状态下起作用的,非注册用户只能进行页面产品浏览等基本功能。
其中用户管理模块并非作为本网站的主功能部分出现,后台管理只是网站需要时添加的,在后面的设计流程中会简单提及。
此外,它还提供事务管理功能,采用拦截器组件实现,这在并发控制中保证数据的完整性与安全性方面起到很大的作用。
具体功能的对应实现如下表所示:
表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
(获取订单)
(三)系统功能结构图
图1当当网功能结构图
(四)数据库设计
本系统数据库采用mysql数据库,系统数据库名称为dang。
下面主要介绍数据库整体设计、数据库列表、逻辑结构设计、物理结构设计。
物理结构设计是对8张主要表结构的介绍。
这8张表分别是.d_user(用户信息表)、d_receive_address(送货地址信息表)、d_category(类别信息表)、d_book(图书信息表)、d_product(产品信息表)、d_category_product(类别和产品对应关系表)、d_order(订单信息表)、d_item(订单明细表)。
用户信息表存储了用户信息;送货地址信息表存储了送货地址信息;类别信息表存储了图书的类别信息;图书信息表存储了图书的特有信息;产品信息表存储了各类产品的共通信息字段;类别和产品对应关系表存储了类别和产品之间的包含关系;订单信息表存储了订单信息;订单明细表存储了订单中所购买的商品信息。
1、数据库整体设计
数据库的整体E_R设计图如下所示:
图2数据库E_R图
2、数据库列表
表2数据库列表
序号
关系名称
描述
1
用户信息
注册用户的邮箱、密码、等级、IP等信息
2
送货地址信息
包含送货人、送货地址、用户联系方式等信息
3
类别信息
产品显示顺序、中英文名称、所属父类等信息
4
图书信息
图书作者、出版社、作者简介、目录等信息
5
产品信息
产品名称、描述、价格、产品图片等信息
6
类别和产品
对应关系
产品ID、类别ID等信息
7
订单信息
用户ID、订单时间、总价、送货地址等信息
8
订单明细
产品名称、价格、购买数量、总价等信息
3、逻辑结构设计
表3逻辑结构设计
序号
关系名称
关系的属性
1
用户信息
ID、邮箱、昵称、密码、等级、验证状态、验证码、最后登录时间、IP
2
送货地址信息
ID、用户ID、送货人、送货地址、邮政编码、手机号、座机号
3
类别信息
ID、显示顺序、英文名、中文名、描述、父类项
4
图书信息
书籍作者、出版社、-出版时间、字数、版次、总页数、印刷时间、印次、书籍编号、作者简介、目录
5
产品信息
ID、产品名字、产品描述、添加时间、固定价格、当当价、关键搜索、是否删除、产品图片
6
类别和产品
对应关系
ID、产品ID、类别ID
7
订单信息
用户ID、用户状态、订单时间、订单描述、总价、送货地址、送货名字、邮编、手机号、座机号
8
订单明细
ID、订单ID、产品名称、当当价、购买数量、总价
4、物理结构设计
表4用户表
表名
d_user
实体名称
用户表
主键
id
序号
字段名称
字段说明
类型
位数
属性
备注
1
id
用户id
int
12
非空
标识
2
邮箱
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
默认
非空
四、当当网站的设计流程
(一)用户注册流程
用户填写注册信息--->自动进行合法性验证--->用户信息持久化并发送邮箱验证码--->邮箱验证--->注册成功
具体流程图:
图3用户注册流程图
注册页面如下:
图4用户注册页面图
核心代码为:
//邮箱格式验证
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用户登录流程图
登录界面如下:
图6用户登录界面图
核心代码为:
//邮箱、密码是否正确
publicStringverifyLogin(Stringname,Stringpassword){
IUserDAOdao=(IUserDAO)Factory.newInstance("IUserDAO");
Useruser=dao.findByEmail(name);
if(user==null||!
user.getPassword().equals(
EncryptUtil.md5Encrypt(password))){
request.put("login_msg","邮箱或密码错误");
return"login_jsp";
}
//邮箱是否验证
if(user.getIsEmailVerify().equals("N")){
session.put("user",user);
request.put("error","您还没有进行邮箱验证,请输入您的验证码");
//返回邮箱验证界面
return"verify_jsp";
}else{
//登录成功,进入主界面
return"main_jsp";
}
}
(三)产品浏览流程
main.jsp--->编辑推荐;main.jsp--->热销图书;
main.jsp--->最新上架图书;main.jsp--->新书热卖榜
main.jsp--->分类浏览--->子类别分页显示
具体流程图:
图7产品浏览流程图
产品浏览界面如下:
图8产品浏览界面
核心代码为:
//新书热卖
IMainDAOdao=newMainImplDAO();
List
l
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 当当 javaweb 开发 论文