【笔记0-导学】从0开始 独立完成企业级Java电商网站开发(服务端)

介绍

本笔记针对的是课程【从0开始 独立完成企业级Java电商网站开发(服务端)】学习后的记录。

课程特点
1、学习成本低:前后端彻底分离,按需学习前端和后端,让你更专注自己需要的技术
2、上手速度快:手把手,由浅入深,步步为营,新手上手速度快
3、经验技巧多:各种踩坑分享,各种贴心插件,各种开发技巧,倍增开发效率与准确性
4、双平台搭建:Linux,windows环境搭建与配置,免去环境搭建烦恼
5、支付更自由:个人轻松接入支付宝,无需企业资质
6、发布自动化:自动化脚本发布,nginx运维,适合新手的高质量上线作品

项目功能与技术要点

大型电商网站的开发流程


file

项目模块:
1、用户模块
横向越权、纵向越权、MD5明文加密、guava缓存
高复用服务响应对象的设计思想和封装

2、分类模块
递归算法
复杂对象排重
无限层级树结构设计

3、商品模块
POJO、BO、VO抽象模型
高效分页及动态排序
FTP服务对接、富文本上传

4、购物车模块
商品总价计算复用封装
高复用的逻辑方法封装思想
解决商业运算丢失精度的坑

5、订单模块
安全漏洞解决方案
订单号生成规则
强大的常量、枚举设计

6、收货地址
同步获取自增主键
数据绑定的对象绑定
越权问题升级巩固

7、支付模块
支付宝SDK源码解析
支付宝支付流程与集成
二维码生成,扫码支付

8、线上部署
云服务器vsftpd、nginx等配置
云服务器的配置与域名解析
发布上线注意事项

项目效果演示及资料下载

前台:
http://www.happymmall.com/index.html
http://test.happymmall.com/

file

后台:
http://admin.happymmall.com 账号密码 admin/admin
http://admintest.happymmall.com/ 账号密码 admin/admin

file

学习资料与软件下载:http://learning.happymmall.com/

file

目录

第1章 学习指南

file

1-1 课程导学
1-2 课程学习与解决问题指南(最重要的一节课)
1-3 大型Java项目架构演进解析
1-4 项目功能与业务逻辑介绍
1-5 课程安排与学习收获

第2章 linux系统下开发环境安装与配置指导

考虑到学习这门课程的同学的电脑系统可能是linux的,为了降低大家在搭建环境的难度和需要避免的坑,本章将手把手领大家在linux环境下安装开发环境,如:jdk、tomcat、maven、vsftpd、nginx、文件服务器、mysql、git安装、配置验证。在这章中可以学到linux权限、linux服务、ftp服务器的搭建,nginx反向代理域名解析的配置...

2-1 linux软件源配置与学习建议
2-2 linux软件源配置实操
2-3 jdk安装讲解(选看)
2-4 jdk安装实操(linux系统同学看这节)
2-5 tomcat安装讲解(选看)
2-6 tomcat安装实操(linux系统同学看这节)
2-7 maven项目构建与管理工具安装讲解(选看)
2-8 maven项目构建与管理工具安装实操(linux系统同学看这节)
2-9 vsftpd文件服务器安装与配置讲解(选看)
2-10 vsftpd文件服务器安装与配置实操(linux系统同学看这节)
2-11 nginx反向代理服务器安装与配置讲解(选看)
2-12 nginx反向代理服务器安装与配置实操(linux系统同学看这节)
2-13 nginx反向代理服务器域名解析配置实操(linux系统同学看这节)
2-14 nginx反向代理服务器域名解析配置细节补充-autoindex(解决2-19小节403问题)
2-15 文件服务器搭建及原理讲解
2-16 mysql数据库安装与配置讲解(选看)
2-17 mysql数据库安装与配置实操(linux系统同学看这节)
2-18 git版本控制工具安装与配置讲解(选看)
2-19 git版本控制工具安装与配置实操(linux系统同学看这节)

第3章 windows系统下开发环境安装与配置指导

考虑到学习这门课程的同学的电脑系统可能是Windows的,为了降低大家在搭建环境的难度和需要避免的坑,本章将手把手领大家在windows环境下安装开发环境,如:jdk、tomcat、maven、vsftpd、nginx、文件服务器、mysql、git安装、配置验证。在这章中可以学到linux权限、linux服务、ftp服务器的搭建,nginx反向代理域名解析的配置...

3-1 jdk安装与配置实操(windows)
3-2 tomcat安装与配置实操(windows)
3-3 maven项目构建与管理工具安装与配置实操(windows)
3-4 ftpserver文件服务器安装与配置实操(windows)
3-5 nginx反向代理服务器安装与配置讲解
3-6 nginx反向代理服务器安装与配置实操(windows)
3-7 nginx反向代理服务器域名解析配置实操(windows)
3-8 nginx反向代理服务器域名解析配置细节补充-autoindex(linux_windows)
3-9 文件服务器搭建及原理讲解
3-10 mysql数据库安装与配置讲解
3-11 mysql数据库安装与配置实操(windows)
3-12 git版本控制工具安装与配置讲解
3-13 git版本控制工具安装与配置实操(windows)

第4章 数据表结构设计(表结构,表关系,索引,时间戳)

本章将详细讲解我们课程中所使用的数据表结构,表关系,索引,时间戳,带着大家认识高精度字段类型,富文本字段类型,会重点讲我们本次课程在设计数据表的思路和思想,同时会和大家分享在数据表设计中有哪一些经验、技巧和注意的点。...

4-1 数据表结构设计
4-2 数据表关系设计
4-3 数据表索引与时间戳讲解

第5章 项目初始化

本章将手把手领大家初始化数据库,安装idea、配置jdk、tomcat、maven并通过archetype创建web项目,讲解maven的pom文件配置,使用git对初始化代码提交。使用mybatis-generator、mybatis-plugin、mybatis-pagehelper,并生成我们项目所需的dao层代码文件。对spring官方demo进行指引。并详细讲解spring、springmvc、logback...

5-1 项目初始化概要
5-2 数据库初始化
5-3 idea项目开发工具安装实操(mac)
5-4 idea项目开发工具安装实操(windows)
5-5 jdk、tomcat、maven配置及初始化web空白项目
5-6 git初始化
5-7 maven的pom文件配置
5-8 项目包结构初始化
5-9 mybatis三剑客之mybatis-generator配置
5-10 mybatis三剑客之mybatis-generator生成数据对象和时间戳优化
5-11 mybatis三剑客之mybatis-plugin讲解
5-12 mybatis三剑客之mybatis-pagehelper分页插件讲解
5-13 spring官方demo指引及配置
5-14 spring、springmvc配置实操
5-15 logback配置讲解
5-16 ftp服务器配置讲解
5-17 idea的注入和自动编译配置
5-18 项目初始化代码提交
5-19 两个提高工作效率的神器-Restlet Client和fe助手

第6章 用户模块开发

本章将带大家完成用户模块功能的开发并结合实际案例讲解如何避免横向越权、纵向越权安全漏洞。MD5明文加密和增加salt值。guava缓存的使用,高复用服务响应对象的设计思想及抽象封装。mybatis-plugin的使用技巧。

6-1 用户模块开发概要与接口设计讲解
6-2 登录功能开发
6-3 登出,注册,校验功能开发
6-4 获取用户登录信息,忘记密码,提示问题与答案,重置密码功能开发
6-5 忘记密码中的重置密码功能开发
6-6 登录状态下重置密码功能开发
6-7 更新用户个人信息功能开发
6-8 获取用户详细信息功能开发及MD5加密补充
6-9 用户模块所有功能自测试

第7章 分类管理模块开发

本章将带大家完成分类管理模块功能的开发,并讲解递归分类,并且支持分类无限层级树状结构,通过分类对象的排重讲解重写hashcode方法和equal方法的重要性。

7-1 分类管理模块开发概要与接口设计讲解
7-2 添加分类和更新分类名字功能开发
7-3 查询节点和递归查找功能开发
7-4 分类管理模块所有功能自测

第8章 商品管理模块开发

本章我们一起完成商品模块的开发,完成后台商品的创建、富文本的处理,前台产品的搜索、列表、详情。手把手领着大家对接FTP服务器,编写springmvc文件上传,使用文件流读取properties文件,详细讲解抽象POJO、BO、VO对象之间的转换关系及解决思路,joda-time快速入门,Mybatis对where语句动态拼装的几个版本演变 ,Mybatis...

8-1 商品管理模块开发概要与接口设计讲解
8-2 后台商品新增,保存,更新,上下架功能开发
8-3 后台获取商品详情功能开发及PropertiesUtil配置工具,DateTimeUtil时间处理工具开发
8-4 后台商品列表动态分页功能开发
8-5 后台商品搜索功能开发
8-6 后台商品图片的springmvc上传与富文本上传ftp服务器功能开发1
8-7 后台商品图片的springmvc上传与富文本上传ftp服务器功能开发2
8-8 前台商品详情,列表,搜索,动态排序功能开发
8-9 商品管理模块所有功能自测

第9章 购物车模块开发

本章我们一起完成购物车模块的开发,一起封装购物车高复用的核心方法并解决浮点型在商业运算中丢失精度的问题,并针对几个不同的case详细讲解,同时就Bigdecimal源码进行讲解。

9-1 购物车模块开发概要与接口设计讲解
9-2 加入购物车功能开发1
9-3 加入购物车功能开发2
9-4 更新,删除购物车商品功能开发
9-5 全选,全反选,单选,单反选,查询购物车商品数量功能开发
9-6 购物车模块所有功能自测

第10章 收货地址管理模块开发

本章将带大家一起完成收货地址是增删改查的功能,同时会讲解到SpringMVC数据绑定中的对象绑定,对mybatis自动生成主键的处理,进行配置和使用的讲解。并进一步巩固横向越权漏洞

10-1 收货地址管理模块开发概要与接口设计讲解
10-2 收货地址增,删,改,查,分页列表,地址详情功能开发
10-3 收获地址管理模块所有功能自测

第11章 支付模块开发

本章将带大家完成支付模块的开发,同时会讲解支付宝对接的核心文档,支付宝的配置,并调通支付宝官方demo,解析支付宝SDK源码,生成二维码并持久化到图片服务器,手把手把支付宝集成到我们的项目当中。并分享外网穿透和远程调试对接的技巧。...

11-1 支付模块开发概要与接口设计讲解
11-2 支付宝支付功能对接要点讲解(知识点补充)
11-3 支付宝支付功能重要文档简介(知识点补充)
11-4 支付宝支付功能官方Demo调试实操1(知识点补充)
11-5 支付宝支付功能官方Demo调试实操2(知识点补充)
11-6 支付宝支付功能开发1
11-7 支付宝支付功能开发2
11-8 支付宝支付回调函数实现与支付宝SDK源码解析
11-9 查询订单支付状态功能开发
11-10 支付模块所有功能自测

第12章 订单管理模块开发

本章将带大家一起完成订单的信息填写,订单生成,和商品模块、购物车模块、用户模块的关联关系。让大家学习到如何为接下来要做的支付预留扩展性的思路。如何避免业务逻辑中容易发生的横向越权和纵向越权等安全漏洞。​同时引出如何可以避免未来在SOA架构中容易引起故障的枚举引起的坑。并带着大家设计出实用、安全、扩展性...

12-1 订单模块开发概要及接口设计讲解
12-2 创建订单,清空购物车等功能开发1
12-3 创建订单,清空购物车等功能开发2
12-4 取消订单,获取购物车中商品信息功能开发
12-5 前后台订单列表,订单详情,发货功能开发
12-6 订单管理模块所有功能自测

第13章 云服务器线上部署与自动化发布,验证,故障排查与解决

本章我会教大家把我们之前开发完成的代码发布到线上,包含阿里云的玩法,线上服务器的配置、线上域名的解析、线上vsftpd、nginx等等配置、线上基于shell的发布脚本的开发,线上环境的验证,故障排查与解决等内容,让我们的开发结果跑在真实的生产环境。让你轻松+愉快地把自己的项目发布到线上可供随时访问。...

13-1 云服务器部署概要讲解
13-2 云服务器购买、管理、配置实操
13-3 线上域名购买、解析讲解
13-4 线上云服务器用户创建实操
13-5 线上环境安装配置实操(jdk-tomcat-maven-vsftpd-nginx)
13-6 线上环境安装配置实操(mysql)
13-7 线上环境安装配置实操(git)
13-8 线上防火墙配置实操
13-9 服务端项目自动化发布、验证、故障排查与解决

第14章 回顾

14-1 课程回顾与下期展望

第15章 二期课程

15-1 二期课程导学
15-2 一期二期课程使用的系统及技术版本介绍
15-3 二期项目初始化
15-4 Redis分布式锁原理解析
15-5 Spring Schedule+Redis分布式锁构建分布式任务调度概述
15-6 分布式锁编写及调试分析
15-7 Tomcat集群快速入门:Nginx负载均衡配置,常用策略,场景及特点
15-8 Tomcat集群快速入门: Nginx+Tomcat搭建集群(linux,mac,windows)
15-9 Tomcat和Ng配置回顾(linux,mac,windows)
15-10 Tomcat集群实战-1(linux,mac)
15-11 Tomcat集群实战-2(linux,mac)
15-12 Tomcat集群实战-3(windows)
15-13 Tomcat集群总结

第16章 前端课程

16-1 课程导学
16-2 电商平台需求分析
16-3 架构设计及技术选型
16-4 前后端配合方式及数据接口定义
16-5 开发环境的搭建
16-6 nodejs和npm的介绍与安装(mac,windows)
16-7 git的安装和配置
16-8 sublime使用技巧
16-9 chrome调试工具
16-10 代理神器Charles&Fiddler
16-11 本章知识点总结

第17章 设计模式课程

17-1 课程导学
17-2 UML类图讲解-自上而下
17-3 UML类图讲解-对比讲解联想记忆
17-4 依赖倒置原则讲解+coding
17-5 单例设计模式-DoubleCheck双重检查实战及原理解析
17-6 单例设计模式-反射攻击解决方案及原理分析
17-7 装饰者模式讲解
17-8 装饰者模式coding
17-9 装饰者模式源码解析(spring-session mybatis jdk servlet)

环境参数

操作系统 CentOS 6.8 64位、Windows7 64位
jdk版本 7u80 64位
git版本 2.8.0
Maven版本 3.0.5
MySQL版本 mysql-server-5.1.73
Nginx版本 nginx-1.10.2.tar.gz
vsftpd版本 vsftpd-2.2.2-21.el6.x86_64
开发工具及版本 dea 15.0.6
技术栈 SSM/Guava/Jackson/Joda/注解
开发语言 Java
电脑配置要求 电脑配置没有特殊要求,保证Centos虚拟机流畅运行即可

参考:
https://coding.imooc.com/class/421.html
https://www.imooc.com/t/2705746
https://blog.csdn.net/hzzhengyx/article/details/84203474
https://my.oschina.net/u/3646576/blog/1512539
https://blog.csdn.net/zc_2016/article/details/88747010
https://blog.csdn.net/w8253497062015/article/details/88382183

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 220,809评论 6 513
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 94,189评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 167,290评论 0 359
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 59,399评论 1 294
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 68,425评论 6 397
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 52,116评论 1 308
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,710评论 3 420
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,629评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 46,155评论 1 319
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,261评论 3 339
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,399评论 1 352
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 36,068评论 5 347
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,758评论 3 332
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,252评论 0 23
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,381评论 1 271
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,747评论 3 375
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,402评论 2 358

推荐阅读更多精彩内容

  • 1.原型链 (问题:原型属性会被所有实例共享) 2.借用构造函数 (解决原型属性会被所有实例共享 问题:函数无法复...
    米诺zuo阅读 110评论 0 0
  • 玫瑰的花语是:爱情、爱与美、容光焕发。而玫瑰花茶的好处则是缓和情绪,平衡内分泌,补血,美颜护肤等等。在阳光下喝上一...
    蝠牌六安瓜片阅读 240评论 0 0
  • 这几天啊,整个人都处于毕业的感觉之中。 今天下午,有实验室的师兄回来了,其他的人好像是一起去拍照片了,但这次依照以...
    LeBronZames阅读 90评论 0 0
  • 小H在班上是一个特别可爱的孩子,长得唇红齿白,乖乖巧巧的,上课也很认真,我一直觉得这个孩子简直太乖了,后面我才...
    婷婷小语阅读 236评论 0 1
  • 4月14日的生日之花,玻璃苣。 玻璃苣,少有的一年生长的绿植,具有其他草本植物都不曾有的黄瓜清香味道,风吹拂而来,...
    冬林探花阅读 1,520评论 0 2