基于Java的网上购物系统的设计与实现.docx
《基于Java的网上购物系统的设计与实现.docx》由会员分享,可在线阅读,更多相关《基于Java的网上购物系统的设计与实现.docx(18页珍藏版)》请在冰豆网上搜索。
基于Java的网上购物系统的设计与实现
郑州大学(软件学院)实习报告
学生姓名王鑫
院(系)软件学院
专业软件工程
指导教师韩梦薇
2014年12月
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(”〈script〉alert(’密码错误');window.history.go(—1)〈/script>");
}
}else{
out。
println(”