栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

JavaWeb 仿小米商城网(1) 项目启动

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

JavaWeb 仿小米商城网(1) 项目启动

JavaWeb+Servlet 仿小米商城网(1) :项目启动 1.案例引述

网上商城类似于现实世界当中的商店,

差别是利用电子商务的各种手段,达成从买到卖的过程的虚拟商店,从而减少中间环节,消除运输成本和代理中间的差价,造就对普通消费和加大市场流通带来巨大的发展空间。

1.2商城类别
英文类别介绍典型代表
B2BBusiness To Business,商家对商家B2B典型代表有阿里巴巴。
B2CBusiness To Customer,商家对顾客销售B2C典型代表有当当网、京东商城;
C2CCustomer to Customer,客户和客户C2C典型代表有转转、咸鱼等。
O2OOnline To offline,线上线下相结合020典型代表有象屿商城。
商城常见模块

后台常见功能模块
。商品管理:包括后台商品库存管理、上货、出货、编辑管理和商品分类管理、商品品牌管理等。
。订单管理:在线订单程序,使消费者能够顺利的通过WEB在线的方式,直接生成购买订单。
。商品促销:一般的购物系统多有商品促销功能,通过商品促销功能,能够迅速的促进商城的消费积极性。
。支付方式:即通过网上钱包、电子支付卡。进行网上资金流转换的业务流程;国内主流支付方式包括:支付宝、财富通、网银在线等。
还有部分网上商城支持货到付款,如京东商城、第九大道、鹏程万里贸易商城。
。配送方式:购物系统集成的物流配送方式,从而方便消费者对物流方式进行在线选择。如:EMS、顺丰等等。
。会员模块:在购物系统中,集成会员注册是吸引会员进行二次购买和提升转换率的方式。
前端界面功能模块
。模板风格自定义:即通过系统内置的模板引擎,可以方便的通过后台可视化编辑,设计出符合自身需求的风格界面。
。商品多图展示:随着电子商务的发展商品图片成为吸引消资首的弟一妥系,多图展小即据从EI/cy,m消费者的购物欲望。
。自定义广告模块:内置在系统中的广告模块,网站管理员能够顺利的通过操作就可以在前端界面中添加各种广告图片。
。商品展示:通过前端界面,以标准的或者其他个性化的方式向用户展示商品各类信息,完成购物系统内信息流的传递。
。购物车:用户可对想要购买的商品进行网上订购,在购物过程中,随时增删商品。

2.小米商城项目介绍
分类名称语种
操作系统开发在Windowows10,上线在Linux centOs7.0简体中文
数据库平台MySQL5.7+
应用服务器Tomcat8+
java开发工具idea2020+
框架JavaEE+
项目名称小米商城 mi_shop

技术栈

技术名称详情备注
javaJavaOOP java集合 java 反射多线程数据库属性配置文件读取,用到Properties类
JDBCdruid 连接池技术,DButils 框架,DButils是JDBC的轻量级封装框架
java Email注册发邮件,发送激活连接必须先配置邮件的SMTP服务
JavaWebB/S架构 HTTP协议 GET,POST请求
ServletServlet Filter Listener
Ajax原生的Ajax,JQuery Ajax ,AXios技术
Web 前端技术HTML,CSS JavaScript;JQuery 框架 bootstrap框架
JSON使用fastjson框架
T-SQLDDM,DDL,DQL,DCL语言的编写在MySQL客户端Native中写SQL脚本

主要功能

序号模块名称主要功能
1商品显示模块分页显示所有商品查看单个商品详细信息搜索商品
2用户模块新用户注册用户登录用户退出
3购物车模块加入商品到购物车修改所购商品数量
4订单模块提交订单并显示订单信息用户确认后生成正式订单用户查看历史订单
5支付模块完成在线支付功能
6收货地址管理收货地址
7后台模块主要实现商品的增删改查
网站流程图

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-uYnqtYQw-1652444797481)(C:UsersAdministratorPictures网站流程图.jpg)]

3.数据表设计说明 用户模块涉及的表

用户模块主要涉及到用户登录和注册功能以及地址选择功能

所以,用户模块设计两张用户表和地址表

用户表

存储用户信息标红会员和管理员

字段类型主键约束备注
idint自增主键
usernamevarcharnot null用户昵称
passwordvarcharnot null密码使用md5加密
emailvarcharnot null邮箱
gendervarchar性别
flagint默认0状态标记 0未激活 1激活 2无效
roleint角色 : 0管理员 1会员
codevarchar激活码

业务分析:

1.注册后的用户必须激活后才能登陆

2.注册后生成一个激活码链接给用户进行激活操作

收货地址 tb_address

存储用户的收货地址

字段类型主键约束备注
idint自增主键
detailvarchar(200)not null详细地址
namevarchar(20)not null收件人姓名
phonevarchar(11)not null手机号
uidint外键用户ID
levelint地址顺序 1是最高

业务分析:

1.一个用户可以有多个收货地址,详细地址不能相同

2.地址排序,通过level的设置排序 .而且用户可以设置这个值

商品模块涉及的表

商品模块可以对商品的类别进行管理

对商品信息进行管理

商品类别表 tb_goods_type

用于管理商品类别

字段类型主键约束备注
idint自增主键
namevarchar(50)not null类型名称
levelintnot null类型级别123
Parentintnot null上一级的序号 默认0

商品表 tb _goods

对商城商品管理的数据表

字段类型主键约束备注
idint自增主键
namevarchar(50)商品名
pubdatedatenot null上架时间
picturevarchar(11)商品图片
pricedecimal(8,2)价格
starint评分
intro商品详情
typeidint外键商品类型ID
gnumintdefault 100商品数量,[库存]
gstateintdefault 00是上架 1是下架

业务分析:

1.商品的 上架 没有下架 库存等

2.评分 可以通过评分进行排序

3.通过商品名称或类型进行搜索

购物车模块涉及的表

购物车模块有购物车表,订单表和订单详情表

购物车表 tb_car

字段类型主键约束备注
idint自增主键
pidint商品ID
numint购买数量[要减少商品库存数]
moneyint订单金额

订单模块涉及的表

订单模块涉及的表有`订单表 (tb_order)和订单详情表(tb_orderdetail)

字段类型主键约束备注
idint自增主键
uidint外键用户ID
moenydecimal(8,2)订单总金额
statueint订单状态:0未支付 `1支付失败,3发货 4到货 5评价
timedatetime
aidint外键收货地址id

订单详情表 (tb_orderdetail)

字段类型主键约束备注
idint自增主键
Oidint外键订单ID
pidint外键商品id
numint购买数量
Moneydecimal(8,2)金额
4.web项目搭建

项目在开发过程中采用经典的三层架构(Web - Service - Dao),且前后端分离。因此,一些实时的前端渲染不再使用 JSP 实现,而通过 AJAX 实现。各层技术选型归纳如下:

4.1 Web 层

Servlet:前端控制程序
HTML:前端页面(前后端分离架构,不适用JSP)
Filter:过滤器
BeanUtils:数据封装
fastjson:json 序列化工具,前后端数据通用传输格式

4.2 Service 层

JavaMail:Java 邮件工具

4.3 Dao 层

mysql:关系数据库
druid:数据库连接池
dbutils:数据库简易工具框架

5 代码文件结构

代码文件结构如下图,以下对 java 文件夹下的不同目录中的代码功能做简要介绍

5.1domain

com.mi.shoping.domain中定义具体的 Bean 封装类,这些类中的私有 fields 与数据库中对应表的字段一一对应。

用户表

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-w39xYgk5-1652444797483)(C:UsersAdministratorAppDataRoamingTyporatypora-user-imagesimage-20220513201028012.png)]

商品类型

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fEG6X6zk-1652444797484)(C:UsersAdministratorAppDataRoamingTyporatypora-user-imagesimage-20220513201219955.png)]

订单表

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9uOS3YKA-1652444797485)(C:UsersAdministratorAppDataRoamingTyporatypora-user-imagesimage-20220513201141680.png)]

购物车类

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tHYLjqc1-1652444797487)(C:UsersAdministratorAppDataRoamingTyporatypora-user-imagesimage-20220510142442126.png)]

收货地址表

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xW3pCWva-1652444797487)(C:UsersAdministratorAppDataRoamingTyporatypora-user-imagesimage-20220513201301892.png)]

5.2 dao

com.mi.shoping.dao 和 com.abe.dao.impl 对应项目架构中的 Dao 层,dao 中定义的数据库操作接口,dao.impl 中定义具体的实现类。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HFvRhn4J-1652444797488)(C:UsersAdministratorAppDataRoamingTyporatypora-user-imagesimage-20220513201641531.png)]

5.3 service

com.mi.shoping.service 和 com.mi.shoping.service.impl对应项目架构中的 Service 层。service 中定义业务逻辑接口,service.impl 中定义具体的业务逻辑实现类,根据不同的业务需求调用不同的 dao 实现类对象对数据库做 CRUD。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BMVlwZn3-1652444797489)(C:UsersAdministratorAppDataRoamingTyporatypora-user-imagesimage-20220513201801401.png)]

5.4web

com.mi.shoping.web.servlet和 com.mi.shoping.web.filter 对应项目架构中的 Web 层。根据不同的 Web 应用定义相应的 Servlet 代码。项目中依据不同的执行实体分别定义了对应的 Servlet 类。后续开发还将抽取 Servlet 中的通用功能,并单独封装为一个抽象类 BaseServlet,并作为其它 Servlet 的父类。使得代码结构更加整洁,便于维护和扩展。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gRZztNuP-1652444797489)(C:UsersAdministratorAppDataRoamingTyporatypora-user-imagesimage-20220513201912963.png)]

5.4web

com.mi.shoping.web.servlet和 com.mi.shoping.web.filter 对应项目架构中的 Web 层。根据不同的 Web 应用定义相应的 Servlet 代码。项目中依据不同的执行实体分别定义了对应的 Servlet 类。后续开发还将抽取 Servlet 中的通用功能,并单独封装为一个抽象类 BaseServlet,并作为其它 Servlet 的父类。使得代码结构更加整洁,便于维护和扩展。

[外链图片转存中…(img-gRZztNuP-1652444797489)]

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/885187.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号