基于Java的网上购物系统的设计与实现资料.docx
《基于Java的网上购物系统的设计与实现资料.docx》由会员分享,可在线阅读,更多相关《基于Java的网上购物系统的设计与实现资料.docx(18页珍藏版)》请在冰豆网上搜索。
基于Java的网上购物系统的设计与实现资料
郑州大学(软件学院)实习报告
学生姓名王鑫
院(系)软件学院
专业软件工程
指导教师韩梦薇
2014年12月
目录
1绪论1
1.1课题的研究意义1
1.2本论文的目的、内容及开发环境和工具1
2研究现状及设计目标1
2.1相近研究课题的特点及优缺点分析1
2.2现行研究存在的问题及解决办法1
3要解决的几个关键问题2
3.1研究设计中要解决的问题2
3.2具体实现复杂性分析3
4系统设计及结构4
4.1数据库设计4
4.2系统结构图6
5系统实现技术7
5.1分模块详述系统各部分的实现方法7
5.2程序流程13
6性能测试与分析13
6.1测试实例(测试集)的研究与选择13
6.2测试环境14
6.3性能分析14
7结束语14
参考文献15
1绪论
1.1课题的研究意义
近年来,网络技术迅猛发展,人类已经进入了信息化社会。
随着人们消费观念和生活方式的改变,网上购物凭借其简单、快捷的特点逐渐融入了人们的生活中适应了当今社会快节奏地生活,使人们足不出户便可以方便快捷轻松地选购自己喜欢的商品。
1.2本论文的目的、内容及开发环境和工具
1.论文的目的、内容
网上购物系统,是在网络上建立一个虚拟的购物商场,避免了挑选商品的烦琐过程,使您的购物过程变得轻松、快捷、方便,很适合现代人快节奏的生活;同时又能有效的控制“商场”运营的成本,开辟了一个新的销售渠道。
本系统是一个中小型的电子商务系统,可以为各类用户提供方便的在线购物环境,符合目前国内流行的电子商务模式。
用户可以再系统中实现注册、登录、修改个人信息、分类查询商品信息、购物、管理购物车、结账和查看各种服务条款等功能。
通过后台管理模块可以实现后台管理员对会员、商品、物流、订单和系统管理。
2.开发环境和工具
开发系统:
Windows7旗舰版
开发工具:
MyEclipse2014+Tomcat7.0+IE浏览器+MySQL
开发技术:
Java+数据库+Jsp+Html
2研究现状及设计目标
2.1相近研究课题的特点及优缺点分析
相比于传统购物模式少了言语交流而有了更多的填单与确认过程,让人稍感不便外。
总的来说,不受时间、地域限制、便捷、安全、省时省力等优点还是为买卖双方带来了不少好处。
2.2现行研究存在的问题及解决办法
网上购物系统是比较常见而求被广泛应用的系统,本系统的开发主要是购物车功能、订单功能和支付的实现,传统的购物模式,最令人烦恼的问题就是——商品的进货、出货、交易以及顾客对其所购商品不满而引发的退货问题等等。
现在市场上类似流行的网站或平台有很多。
3要解决的几个关键问题
3.1研究设计中要解决的问题
1.界面设计
界面布局设计是本系统中的一个重要的环节,本系统采用B/S结构,即浏览器/服务器模式。
2.功能需求
网上购物系统的功能模块有很多,大体可被简单地划分为两部分:
前台模块和后台模块。
(1)前台模块:
该模块主要供顾客使用,包括登录模块、注册模块、搜索模块、
购物车模块、支付模块等。
前台模块功能结构图如图3.1所示。
图3.1前台模块结构图
①登录模块
本系统的登录模块提供网站用户的登录功能,包括用户名和密码的输入,此模块连接数据库,点击登录按钮,验证核实之后进入系统主界面。
②注册模块
本系统的注册模块提供网站游客的注册功能,输入个人资料,注册成为网站会员。
包括用户名、密码、确认密码、性别、年龄、电子邮箱、验证码、地址和联系方式。
③搜索模块
本模块提供了两种搜索功能。
包括模糊搜索和条件搜索。
模糊搜索即关键字搜索,用户输入自己想要商品的关键字,点击搜索按钮,进行搜索。
④购物车模块
购物车模块相当于现实中的购物车,用于暂时存放用户挑选的商品。
可以显示所选商品的价格、数量、小计和总计。
模块功能包括单件商品的增减及删除,小计表示同类商品的价格,总计表示所选商品的总计价格。
确认无误后,点击结算,便可生成订单。
⑤支付模块
本模块提供了网上购物系统的支付功能。
用户接收商品,确认试用后,点击支付,给予评价,完成此次交易的最后一步。
(2)后台模块:
该模块主要供管理员使用,包括商品管理模块、会员管理模块、订单管理模块、公告模块等。
后台模块功能结构图如图3.2所示。
图3.2后台模块结构图
①商品管理模块
网上购物系统的商品管理模块主要为管理员提供商品管理功能。
管理员可修改商品信息,包括价格、库存、上架以及下架。
②会员管理模块
会员管理模块为管理员提供了管理网站会员的功能。
可以分配网站会员一定权限,也可删除会员。
③订单管理模块
此模块的功能主要为订单处理功能。
管理员查看订单信息,给用户派送商品,等用户支付之后,修改订单状态,完成此次交易。
④公告模块
公告模块用来显示网站的一些活动、奖励、上架新品、特价商品以及下架通知等信息。
3.数据库的设计
数据库是所有信息类系统的基础核心,它把系统中出现的大量数据按照一定的规则存储起来,提供检索数据的功能。
4系统设计及结构
4.1数据库设计
1.数据库表的设计
(1)用户信息表(User_id,User_name,Password,Real_name,Age,Gender,Address,Email,Is_Admin,Phone),其中User_id为关键字。
该表用来存储用户id、用户名、密码、真实姓名、年龄、性别、地址、电子邮箱、是否为管理员和联系方式。
表的结构如表4-1所示。
表4-1用户信息表
含义
字段
类型
键标识
用户id
User_id
Int
Primarykey
用户名
User_name
Varchar
密码
Password
Varchar
真实姓名
Real_name
Varchar
年龄
Age
Int
性别
Gender
Varchar
地址
Address
Varchar
邮箱
Email
Varchar
是否管理员
Is_Admin
Varchar
Default
联系方式
Phone
Varchar
(2)商品表(Product_id,Name,Kind_id,Price,Uptime,Downtime,Count,Month_sell,Pro_picture,Describe),其中Product_id为主键,Kind_id为外键。
该表用来存储商品id、商品名称、种类id、商品单价、上架时间、下架时间、库存量、月销量、商品图片和商品描述。
表的结构如下表4-2所示。
表4-2商品信息表
含义
字段
类型
键标识
商品id
Product_id
Int
Primarykey
商品名称
Name
Varchar
种类id
Kind_id
Int
Foreignkey
商品单价
Price
Double
上架时间
Uptime
Date
下架时间
Downtime
Date
库存量
Count
Int
月销量
Month_sell
Int
商品图片
Pro_picture
Varchar
商品描述
Describe
Varchar
(3)商品种类表(Kind_id,Father_id,Kind_name,Kind_grade),其中Kind_id为主键。
该表用来存储种类id、父种类id、种类名称和种类等级。
表的结构如表4-3所示。
表4-3商品种类表
含义
字段
类型
键标识
种类id
Kind_id
Int
Primarykey
父种类id
Father_id
Int
种类名称
Kind_name
Varchar
种类等级
Kind_grade
Int
(4)订单项表(Item_id,Order_id,Product_id,Product_count,User_id),其中Item_id为主键。
该表存储订单项id、订单id、商品id、商品数量、用户id。
表的结构如表4-4所示。
表4-4订单项表
含义
字段
类型
键标识
订单项id
Item_id
Int
Primarykey
订单id
Order_id
Int
商品id
Kind_id
Int
商品数量
Product_id
Int
用户id
User_id
Int
(5)订单表(Order_id,Pay_way,Deliver_way,Address,Receive_name,Postcode,Receive_phone,User_id,State,isPaid),其中Order_id是主键,User_id为外键。
该表用来存储订单id、支付方式、送货方式、送货地址、收货人姓名、收货人联系方式、邮政编码、用户id、订单状态、是否付款。
表结构如表4-5所示。
表4-5订单表
含义
字段
类型
键标识
订单id
Order_id
Int
Primarykey
支付方式
Pay_way
Varchar
送货方式
Deliver_way
Varchar
送货地址
Address
Varchar
收货人姓名
Receive_name
Varchar
收货人联系方式
Receive_phone
Varchar
邮政编码
Postcode
Varchar
用户id
User_id
Int
Foreignkey
订单状态
State
Varchar
Default
是否付款
isPaid
Varcahr
Default
2.数据库表的关系图
根据需求分析和上述的数据库设计,我们得出数据库表的E-R图,如下图4.1所示。
图4.1数据库表的关系图
4.2系统结构图
结构图以模块的关系为线索,用自上而下的连线表示调用关系并注明参数传递的方向和内容。
根据第三章节的功能分析,可以得出本系统总体结构图。
如图4.2所示。
图4.2网上购物系统总体模块结构图
5系统实现技术
5.1分模块详述系统各部分的实现方法
1.登录
经过上述的各项步骤之后,基本上完成了一个网上购物系统的开发。
本系统的登录界面如下图所示。
输入用户名和密码,单击登录按钮,与数据库的用户信息表进行验证,核实身份后进入系统主界面。
登录界面如图5.1所示。
图5.1登录界面
对应的部分程序代码为:
@Override
protectedvoidservice(HttpServletRequestrequest,HttpServletResponseresponse)
throwsServletException,IOException{
request.setCharacterEncoding("utf-8");
response.setContentType("text/html;charset=utf-8");
Stringusername=request.getParameter("username");
Stringpassword=request.getParameter("password");
PrintWriterout=response.getWriter();
try{
Useru=Userdao.getUser(username);
if(u!
=null){
if(u.getUser_password().equals(password))
{
request.getSession().setAttribute("user",u);
response.sendRedirect("/dog_heaven/jsp/main.jsp");
}else{
out.println("");
}
}else{
out.println("");
}
}catch(SQLExceptione){
e.printStackTrace();
}
}
2.注册
如果用户还不是本网站会员,就只能浏览商品,没有购物车功能,也不购买商品。
这时就需要注册会员。
本系统注册界面如下图所示。
本界面采用Ajax验证,即时更
新验证输入的信息。
完成个人信息的填写后,单击立即注册按钮,即可成为本网站会员。
注册界面如图5.2所示。
图5.2注册界面
3.搜索
本系统搜索功能如下图所示,大体提供了两种搜索功能。
第一种:
关键字查找(模糊查找),会员输入关键字,单击搜索按钮进行搜索;第二种:
条件查找,具体可
为价格区间查找和商品类别查找。
对应的部分程序代码为:
@Override
privatevoidkeywords(HttpServletRequestrequest,HttpServletResponseresponse)throwsSQLException,IOException{
Stringkey=request.getParameter("keywords");
ArrayListdogs=(ArrayList)Dogdao.findKeyWordsDog(key);
PrintWriterout=response.getWriter();
out.println("");
out.println("
");
out.println("
");
out.println("url('image/main/memu.jpg');height:
600px;\">");
out.println("");
if(dogs.size()==0){
out.println("
没有符合条件的商品