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

616 阅读14分钟

介绍

本笔记针对的是课程【从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.htmlhttp://test.happymmall.com/

file

后台:http://admin.happymmall.com   账号密码 admin/adminhttp://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服务器功能开发18-7 后台商品图片的springmvc上传与富文本上传ftp服务器功能开发28-8 前台商品详情,列表,搜索,动态排序功能开发8-9 商品管理模块所有功能自测

第9章 购物车模块开发

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

9-1 购物车模块开发概要与接口设计讲解9-2 加入购物车功能开发19-3 加入购物车功能开发29-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 支付宝支付功能开发111-7 支付宝支付功能开发211-8 支付宝支付回调函数实现与支付宝SDK源码解析11-9 查询订单支付状态功能开发11-10 支付模块所有功能自测

第12章 订单管理模块开发

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

12-1 订单模块开发概要及接口设计讲解12-2 创建订单,清空购物车等功能开发112-3 创建订单,清空购物车等功能开发212-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&Fiddler16-11 本章知识点总结

第17章 设计模式课程

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

环境参数

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

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