基于web的网上购物系统的设计与实现

博主介绍:专注于Java .net  php phython  小程序 等诸多技术领域和毕业项目实战、企业信息化系统建设,从业十五余年开发设计教学工作

☆☆☆ 精彩专栏推荐订阅☆☆☆☆☆不然下次找不到哟
我的博客空间发布了1000+毕设题目 方便大家学习使用
感兴趣的可以先收藏起来,还有大家在毕设选题,项目以及论文编写等相关问题都可以给我留言咨询,希望帮助更多的人

系统需求分析

2.1 可行性分析

系统对硬件和软件的要求不高,一般市场的计算机软件硬件都可运行。ASP.NET(Microsoft Visual Studio 2010)和数据库SQL2008可以购买或者些许网站上下载。

(1) 当前JSP是一种应用广泛的技术,实现了Html和Java的集成。

(2)用于cjspc等语言进行开发的平台webux服务器和其他应用程序都应该是一个可以跨作业平台的,既然它们也都可以在welinux下正常启动运行,也然所有功能可以在其他的平台操作系统上正常启动运行。

(3)维修和工作方便,一般说来具有相当丰富的软件开发实践经验的技术人员,都是能够在短期内轻松地掌握和做好维修工作。商家负责对网上商城中的订单和用户信息进行管理。

2.2 需求分析

本系统用于商家在网上进行商品销售,实现了商家的上架下架物品,修改商品信息,添加删除商品,用户管理功能等。对客户而言,可以实现对商品的浏览,商品价格的了解、下单、购买等功能,方便了商家与客户之间的交流。

通过上述分析,确定系统主要功能为以下内容:

(1)登陆验证功能:允许用户在系统中输入自己的用户名和密码,进行登陆验证。

(2) 注册功能:查询用户名是否已有在数据库中,并进行注册信息的验证。

(3)商品浏览:查询商品,显示您的商品信息,提供您的购买链接。

(4) 购物车管理:可以在购物车页面增添预购买商品或删除不想要商品。

(5)订单查询:用户注册后就可以在线下订单,用户也登录后还可以在线查看自己的商品。

 (6)对商品的种类管理:作为一个管理员用户,它就能够对自己的商品品种进行不同的各类操作,例如添加、删除。

(7)商品管理:作为一个管理员用户可以随时添加自己的商品、删除其他商品,查看所有商品。

(8) 订单管理:管理员登录后可以对订单进行管理。

(9) 用户管理:管理员可以管理注册用户信息。

2.2.1功能结构图

图2-1  系统功能结构图

2.3 示例模型

2.3.1网上商城系统前台的工作流程图

图2-2  前台工作流程图

2.3.2网上商城系统后台的工作流程图

图2-2 后台工作流程图

3  数据库设计

3.1 数据库概念设计

图3-1 用户实体属性图

图3-2 商品实体属性图

图3-3 商品种类实体属性图

图3-4 订单实体属性图

图3-5 管理员实体属性图

3.2逻辑设计

(1) 用户信息表(users)

用户信息表:主要是用于进行登录以及对注册成为用户所有相关资料的收集。

字段名

数据类型

约束条件

是否可空

默认值

注释

userId

int(20)

主键

1

用户ID(自增)

username

varchar(50)

用户名

password

varchar(50)

用户密码

name

varchar(50)

用户姓名

sex

varchar(50)

用户性别

表3-1 用户信息表

(2) 商品信息表(commoditys)

商品信息表:用于显示和记录商品的相关信息。

字段名

数据类型

约束条件

是否可空

默认值

注释

commodityId

int(20)

主键

1

商品编号(自增

commodityClass

varchar(50)

外键

商品种类

commodityName

varchar(50)

商品名称

manufacturer

varchar(50)

商品厂商

commodityDepict

varchar(255)

商品描述

commodityPrice

double(20)

商品原价

webShopPrice

double(20)

商城价格

commodityAmount

int(50)

商品总量

commodityLeaveNum

int(50)

剩余数量

image

varchar(255)

商品图片

表3-2 商品信息表

(3) 商品种类信息表(commodityclasses)

商品种类信息表:用于显示和记录商品种类的相关信息。

字段名

数据类型

约束条件

是否可空

默认值

注释

commodityId

int(20)

主键

1

商品种类编号(自增

commodityClass

varchar(50)

商品种类名称

表3-3 商品种类信息表

(4) 订单信息表(orderform)

订单信息表:用于显示和记录订单的的相关信息。

字段名

数据类型

约束条件

是否可空

默认值

注释

orderFormId

int(20)

主键

1

订单编号(自增

username

varchar(20)

外键

用户名

commodity

varchar(50)

外键

商品信息

submitTime

varchar(50)

提交时间

consignmentTime

varchar(50)

发货时间

totalPrice

varchar(50)

总金额

remark

varchar(50)

用户备注

isPayoff

varchar(10)

是否付款

isConsignment

varchar(10)

是否发货

orderFormNum

bigint(20)

订单流水号

表3-4 订单信息表

(5) 管理员信息表(admins)

管理员信息表:用于显示和记录管理员个人的相关资料。

字段名

数据类型

约束条件

是否可空

默认值

注释

adminId

int(20)

主键

1

管理员编号(自增

adminName

varchar(255)

管理员用户名

adminPassword

varchar(255)

管理员密码

表3-5 管理员信息表

4  系统实现

4.1 系统主页面

系统主要使用淡色调,颜色不会很刺眼,系统网站主页中的商品分类是根据用户需求获得的商品类别列表。

图4-1 系统主页面

系统主页的商品分类需要通过请求来获取商品种类列表。

获取商品种类列表的关键代码如下:

public String execute() throws Exception {

Map request = (Map) ActionContext.getContext().get("request");

commodityClasses = commodityClassService.findAllCommodityClasses();

request.put("listCommodityClasses", commodityClasses); return "success"; }

4.2 非登录用户操作

4.2.1 用户注册

非用户可通过注册成为会员,需要点击用户注册超链接来打开用户注册页面,用户注册需要填写多项信息,而正在注册的用户点击每个输入框时后方会提示需填入的内容或注意事项。

图4-2 用户注册页面

用户将填写的注册信息提交后,如果填写的信息没有出现错误,那么网页会提示注册用户成功,跳转到登录页面。否则会提示注册失败,返回到注册页面,让用户进行重新注册。

用户注册关键代码如下:

public String execute() throws Exception {

String username= user.getUsername();

User user = service.findUserByName(username); if(user==null){

this.service.save(this.user);

return "success"; }

else{

return "error"; }

}

4.2.2 用户登录

用户可以通过右侧的登录框登录,也可通过导航栏打开用户登录页面登录。

图4-3 用户登录页面

如果您的所在注册网站用户名和注册密码正确,则系统可能会自动跳转提示您的网站登录成功,跳转后回到您在本站的注册网页。如果您的注册用户名和注册账号密码输入错误或者系统可能会自动提示您的账号登录验证成功失败,返回至需要再次进行登录的网站。

图4-4用户登录成功后页面

用户登录关键代码如下:

public String login(){

String username= user.getUsername();

String password=user.getPassword();

User user = service.getUserByLoginNameAndPassword(username,password);

if(user == null){

ActionContext.getContext().put("message", "用户名或密码错误");

return "login";

}else{

ActionContext.getContext().getSession().put("user", user);

return "index";

}

}

4.2.3 找回密码

如果一个注册用户已经在我的网站上登录注册过,但是发现忘记了登录密码,可以直接再次点击"忘记密码",再次点击输入正确的用户登录名和密码错误信息后再可以进行手动重新配置登录密码。

图4-5 输入找回密码信息页面

4.2.4 查看商品信息

点击商品下的详细按钮,可以查看商品的详细信息。

图4-6 商品详细信息页面

4.2.5 搜索商品

用户通过输入商品的部分关键字进行商品搜索。

图4-7 搜索商品结果页面

搜索商品关键代码如下:

public String findCommodityByName(){

String commodityName= commodity.getCommodityName();

Map request = (Map) ActionContext.getContext().get("request");

   request.put("commoditybyName",this.service.findCommodityByName(

commodityName));

ActionContext.getContext().getSession().put("searchnameMessage",

commodityName);

return "findCommodityByName";

}

4.3 登录用户操作

4.3.1 购物车

用户只有登录后才能把商品添加到购物车。

图4-8 购物车页面

4.3.2 付款

用户点击提交订单按钮后,用户的订单就提交到了数据库,然后可以进行付款操作。如果用户金额不足,会提示余额不足无法付款;用户余额足够才能付款成功。

图4-9 用户付款页面

4.3.3 更新个人信息

用户登录以后可以修改个人信息,也可以修改密码。

图4-10 更新个人信息页面

大家点赞、收藏、关注、评论啦  其他的定制服务  下方联系卡片↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ 或者私信作者

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

qq_251836457

你的鼓励 是我最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值