介绍
本笔记针对的是课程【从0开始 独立完成企业级Java电商网站开发(服务端)】学习后的记录。
课程特点
1、学习成本低:前后端彻底分离,按需学习前端和后端,让你更专注自己需要的技术
2、上手速度快:手把手,由浅入深,步步为营,新手上手速度快
3、经验技巧多:各种踩坑分享,各种贴心插件,各种开发技巧,倍增开发效率与准确性
4、双平台搭建:Linux,windows环境搭建与配置,免去环境搭建烦恼
5、支付更自由:个人轻松接入支付宝,无需企业资质
6、发布自动化:自动化脚本发布,nginx运维,适合新手的高质量上线作品
项目功能与技术要点
大型电商网站的开发流程
项目模块:
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/
后台:
http://admin.happymmall.com 账号密码 admin/admin
http://admintest.happymmall.com/ 账号密码 admin/admin
学习资料与软件下载:http://learning.happymmall.com/
目录
第1章 学习指南
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