博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
淘淘商城的第一天
阅读量:6096 次
发布时间:2019-06-20

本文共 17577 字,大约阅读时间需要 58 分钟。

学习视频下载路劲: 链接: https://pan.baidu.com/s/1GnkfbJyHMZ1-unk-xkiVAw 提取码: brn4 

1 课程计划

一共14天课程

1、第一天:电商行业的背景。淘淘商城的介绍。搭建项目工程。Svn的使用。

2、第二天:框架的整合。后台管理商品列表的实现。分页插件。

3、第三天:后台管理。商品添加。商品类目的选择、图片上传、富文本编辑器的使用。

4、第四天:商品规格的实现。

5、第五天:商城前台系统的搭建。首页商品分类的展示。Jsonp。

6、第六天:cms系统的实现。前台大广告位的展示。

7、第七天:cms系统添加缓存。Redis。缓存同步。

8、第八天:搜索功能的实现。使用solr实现搜索。

9、第九天:商品详情页面的展示。

10、第十天:单点登录系统。Session共享。

11、第十一天:购物车订单系统的实现。

12、第十二天:nginx。反向代理工具。

13、第十三天:redis集群的搭建、solr集群的搭建。系统的部署。

14、项目总结。

今天的内容:

1、电商行业的背景。

2、淘淘商城的介绍。

3、工程项目的搭建。

4、Svn的使用。

 

1 电商行业介绍

1.1 电商行业发展

近年来,中国的电子商务快速发展,交易额连创新高,电子商务在各领域的应用不断拓展和深化、相关服务业蓬勃发展、支撑体系不断健全完善、创新的动力和能力 不断增强。电子商务正在与实体经济深度融合,进入规模性发展阶段,对经济社会生活的影响不断增大,正成为我国经济发展的新引擎。

中国电子商务研究中心数据显示,截止到2012年底,中国电子商务市场交易规模达7.85万亿人民币,同比增长30.83%。其中,B2B电子商务交易额 达6.25万亿,同比增长27%。而2011年全年,中国电子商务市场交易额达6万亿人民币,同比增长33%,占GDP比重上升到13%;2012年,电 子商务占GDP的比重已经高达15%。预计2013年我国电子商务规模将突破十万亿大关。

图1.2009-2014年中国电子商务市场交易规模(万亿元)

1.2 11.11

1.3 电商行业技术特点

Ø 技术新

Ø 技术范围广

Ø 分布式

Ø 高并发、集群、负载均衡、高可用

Ø 海量数据

Ø 业务复杂

Ø 系统安全

 

1 淘淘商城

1.1 淘淘商城简介

1.1.1 电商行业的模式:

B2B:企业到企业,商家到商家。代表:阿里巴巴、慧聪网。

B2C:商家到客户。代表:京东、淘宝商城(B2B2C)。

C2C:客户到客户。淘宝集市。

O2O:线上到线下。

1.1.2 淘淘商城的模式

淘淘网上商城是一个综合性的B2C平台,类似京东商城、天猫商城。会员可以在商城浏览商品、下订单,以及参加各种活动。

管理员、运营可以在平台后台管理系统中管理商品、订单、会员等。

客服可以在后台管理系统中处理用户的询问以及投诉。

1.2 功能模块

1.2.1 功能描述

后台管理系统:管理商品、订单、类目、商品规格属性、用户管理以及内容发布等功能。

前台系统:用户可以在前台系统中进行注册、登录、浏览商品、首页、下单等操作。

会员系统:用户可以在该系统中查询已下的订单、收藏的商品、我的优惠券、团购等信息。

订单系统:提供下单、查询订单、修改订单状态、定时处理订单。

搜索系统:提供商品的搜索功能。

单点登录系统:为多个系统之间提供用户登录凭证以及查询登录用户的信息。

 

1.1 技术架构

1.1.1 传统架构

思考:有什么问题?

1、 模块之间耦合度太高,其中一个升级其他都得升级

2、 开发困难,各个团队开发最后都要整合一起

3、 系统的扩展性差

4、 不能灵活的进行分布式部署。

解决方法:

优点:

把模块拆分成独立的工程,单点运行。如果某一个点压力大可以对这一个点单独增加配置。其他的点不受影响。

缺点:

系统之间交互需要额外的工作量来进行接口的开发。

把系统拆分成多个工程,要完成系统的工程需要多个工程协作完成。这种形式叫做分布式。

1.1.2 分布式的架构

分布式架构:

把系统按照模块拆分成多个子系统。

优点:

1、把模块拆分,使用接口通信,降低模块之间的耦合度。

2、把项目拆分成若干个子项目,不同的团队负责不同的子项目。

3、增加功能时只需要再增加一个子项目,调用其他系统的接口就可以。

4、可以灵活的进行分布式部署。

缺点:

系统之间交互需要使用远程通信,接口开发增加工作量。

 

 

1.1.1 技术选型(主要技术)

1 l Spring、SpringMVC、Mybatis  2   3 l JSP、JSTL、jQuery、jQuery plugin、EasyUI、KindEditor(富文本编辑器)、CSS+DIV  4   5 l Redis(缓存服务器)  6   7 l Solr(搜索)  8   9 l httpclient(调用系统服务) 10  11 l Mysql 12  13 l Nginx(web服务器) 14
View Code

1.1.2 开发工具和环境

Eclipse 4.5.0(Mars),自带maven插件,需要手工安装svn插件。

Maven 3.3.3(开发工具自带)

Tomcat 7.0.53(Maven Tomcat Plugin)

JDK 1.7

Mysql 5.6

Nginx 1.8.0

Redis 3.0.0

Win7 操作系统

SVN(版本管理)

1.2 人员配置

产品经理:3人,确定需求以及给出产品原型图。

项目经理:1人,项目管理。

前端团队:5人,根据产品经理给出的原型制作静态页面。

后端团队:20人,实现产品功能。

测试团队:5人,测试所有的功能。

运维团队:3人,项目的发布以及维护。

后台管理系统工程搭建

Maven

1、依赖管理、jar包、工程之间的依赖。

2、项目构建。实现项目的一步构建。

3、工程聚合、继承、依赖。

Maven的工程类型:

1、war包工程

2、Jar包工程

3、Pom工程。

父工程的搭建

父工程应该是一个pom工程。在父工程中定义依赖的jar包的版本信息。Maven插件的版本。

 

使用.m2覆盖本地仓库的内容。

     链接: 密码:z73d

 

创建maven工程

修改pom文件

1 
3
4.0.0
4
com.taotao
5
taotao-parent
6
0.0.1-SNAPSHOT
7
pom
8
9
10
4.12
11
4.1.3.RELEASE
12
3.2.8
13
1.2.2
14
1.2.15
15
5.1.32
16
1.6.4
17
2.4.2
18
1.0.9
19
4.3.5
20
1.2
21
2.5
22
2.0
23
2.5
24
3.3.2
25
1.3.2
26
3.3
27
3.4.2-fix
28
0.9.1
29
1.3.1
30
2.7.2
31
4.10.3
32
33
34
35
36
37
38
joda-time
39
joda-time
40
${joda-time.version}
41
42
43
44
org.apache.commons
45
commons-lang3
46
${commons-lang3.version}
47
48
49
org.apache.commons
50
commons-io
51
${commons-io.version}
52
53
54
commons-net
55
commons-net
56
${commons-net.version}
57
58
59
60
com.fasterxml.jackson.core
61
jackson-databind
62
${jackson.version}
63
64
65
66
org.apache.httpcomponents
67
httpclient
68
${httpclient.version}
69
70
71
72
junit
73
junit
74
${junit.version}
75
test
76
77
78
79
org.slf4j
80
slf4j-log4j12
81
${slf4j.version}
82
83
84
85
org.mybatis
86
mybatis
87
${mybatis.version}
88
89
90
org.mybatis
91
mybatis-spring
92
${mybatis.spring.version}
93
94
95
com.github.miemiedev
96
mybatis-paginator
97
${mybatis.paginator.version}
98
99
100
com.github.pagehelper
101
pagehelper
102
${pagehelper.version}
103
104
105
106
mysql
107
mysql-connector-java
108
${mysql.version}
109
110
111
112
com.alibaba
113
druid
114
${druid.version}
115
116
117
118
org.springframework
119
spring-context
120
${spring.version}
121
122
123
org.springframework
124
spring-beans
125
${spring.version}
126
127
128
org.springframework
129
spring-webmvc
130
${spring.version}
131
132
133
org.springframework
134
spring-jdbc
135
${spring.version}
136
137
138
org.springframework
139
spring-aspects
140
${spring.version}
141
142
143
144
jstl
145
jstl
146
${jstl.version}
147
148
149
javax.servlet
150
servlet-api
151
${servlet-api.version}
152
provided
153
154
155
javax.servlet
156
jsp-api
157
${jsp-api.version}
158
provided
159
160
161
162
commons-fileupload
163
commons-fileupload
164
${commons-fileupload.version}
165
166
167
168
redis.clients
169
jedis
170
${jedis.version}
171
172
173
174
org.apache.solr
175
solr-solrj
176
${solrj.version}
177
178
179
180
181
${project.artifactId}
182
183
184
185
org.apache.maven.plugins
186
maven-resources-plugin
187
2.7
188
189
UTF-8
190
191
192
193
194
org.apache.maven.plugins
195
maven-compiler-plugin
196
3.2
197
198
1.7199
1.7
200
UTF-8
201
202
203
204
205
206
207
208
org.apache.tomcat.maven
209
tomcat7-maven-plugin
210
2.2
211
212
213
214
215
216

创建一个common工程

也需要继承taotao-parent工程。

创建工程

Pom文件

 

1 
3
4.0.0
4
5
com.taotao
6
taotao-parent
7
0.0.1-SNAPSHOT
8
9
com.taotao
10
taotao-common
11
0.0.1-SNAPSHOT
12
13
14
15
16
joda-time
17
joda-time
18
19
20
21
org.apache.commons
22
commons-lang3
23
24
25
org.apache.commons
26
commons-io
27
28
29
commons-net
30
commons-net
31
32
33
34
com.fasterxml.jackson.core
35
jackson-databind
36
37
38
39
org.apache.httpcomponents
40
httpclient
41
42
43
44
junit
45
junit
46
test
47
48
49
50
org.slf4j
51
slf4j-log4j12
52
53
54
55

后台管理工程创建

搭建一个聚合工程:

1.1.1 工程结构

传统工程结构:

 
 

Maven管理的工程结构:

不使用maven:工程部署时需要手动复制jar包。完成工程构建。非常繁琐。

使用maven进行工程构建:

使用maven可以实现一步构建。

 
   

继承:

依赖:

后台管理系统工程结构:

taotao-parent -- 管理依赖jar包的版本,全局,公司级别

|--taotao-common --- 通用组件、工具类

|--taotao-manage -- 后台系统

|--com.taotao.manage.web

|--com.taotao.manage.service

|--com.taotao.manage.mapper

|--com.taotao.manage.pojo

 

Taotao-manager工程

1.1.1.1 工程搭建

1.1.1.2 修改pom文件
1 
3
4.0.0
4
5
com.taotao
6
taotao-parent
7
0.0.1-SNAPSHOT
8
9
com.taotao
10
taotao-manager
11
0.0.1-SNAPSHOT
12
pom
13
14
15
16
com.taotao
17
taotao-common
18
0.0.1-SNAPSHOT
19
20
21
22

Taotao-manager-pojo模块

1.1.1.1 创建工程

1.1.1.2 Pom文件

不需要修改,taotao-manager-pojo模块不依赖任何jar包。

 

 

Taotao-manager-mapper模块

1.1.1.1 创建工程

Pom文件修改
1 
3
4.0.0
4
5
com.taotao
6
taotao-manager
7
0.0.1-SNAPSHOT
8
9
taotao-manager-mapper
10
11
12
13
com.taotao
14
taotao-manager-pojo
15
0.0.1-SNAPSHOT
16
17
18
19
org.mybatis
20
mybatis
21
22
23
org.mybatis
24
mybatis-spring
25
26
27
com.github.miemiedev
28
mybatis-paginator
29
30
31
com.github.pagehelper
32
pagehelper
33
34
35
36
mysql
37
mysql-connector-java
38
39
40
41
com.alibaba
42
druid
43
44
45
46

 

Taotao-manager-service模块

1.1.1.1 创建工程

1.1.1.2 Pom文件
1 
3
4.0.0
4
5
com.taotao
6
taotao-manager
7
0.0.1-SNAPSHOT
8
9
taotao-manager-service
10
11
12
13
com.taotao
14
taotao-manager-mapper
15
0.0.1-SNAPSHOT
16
17
18
19
org.springframework
20
spring-context
21
22
23
org.springframework
24
spring-beans
25
26
27
org.springframework
28
spring-webmvc
29
30
31
org.springframework
32
spring-jdbc
33
34
35
org.springframework
36
spring-aspects
37
38
39
40

Taotao-manager-web模块

1.1.1.1 创建工程

 

Pom文件
1 
3
4.0.0
4
5
com.taotao
6
taotao-manager
7
0.0.1-SNAPSHOT
8
9
taotao-manager-web
10
war
11
12
13
14
com.taotao
15
taotao-manager-service
16
0.0.1-SNAPSHOT
17
18
19
20
jstl
21
jstl
22
23
24
javax.servlet
25
servlet-api
26
provided
27
28
29
javax.servlet
30
jsp-api
31
provided
32
33
34
35
commons-fileupload
36
commons-fileupload
37
38
39
40

 

创建web.xml
1 
2
6
taotao-manager
7
8
index.html
9
index.htm
10
index.jsp
11
default.html
12
default.htm
13
default.jsp
14
15 16
17

 

 

测试maven工程

1.1 运行的工程

要运行工程,需要运行聚合工程也就是taotao-manager。

 

 

 

 

 

 

1.1 Tomcat插件

在taotao-manager工程的pom文件中添加如下内容:

1 
2
3
4
5
org.apache.tomcat.maven
6
tomcat7-maven-plugin
7
8
8080
9
/
10
11
12
13
14

1.2 启动工程

使用maven命令:

clean tomcat7:run

tomcat7指定使用tomcat7的插件。

注意:

1、需要把taotao-parent工程安装到本地仓库。Install

2、需要把taotao-common安装到本地仓库。

2 Svn

SVN服务器的搭建请查看该文:《》

地址:

用户名:user

密码:user

转载于:https://www.cnblogs.com/ios9/p/Java_TaoTao_FristDay.html

你可能感兴趣的文章
抽象工厂方法
查看>>
ubuntu apt-get 安装 lnmp
查看>>
焊盘 往同一个方向增加 固定的长度方法 总结
查看>>
eclipse的maven、Scala环境搭建
查看>>
架构师之路(一)- 什么是软件架构
查看>>
jquery的冒泡和默认行为
查看>>
Check failed: error == cudaSuccess (7 vs. 0) too many resources requested for launch
查看>>
USACO 土地购买
查看>>
【原创】远景能源面试--一面
查看>>
B1010.一元多项式求导(25)
查看>>
10、程序员和编译器之间的关系
查看>>
前端学习之正则表达式
查看>>
配置 RAILS FOR JRUBY1.7.4
查看>>
AndroidStudio中导入SlidingMenu报错解决方案
查看>>
http://www.blogjava.net/pdw2009/archive/2007/10/08/151180.html
查看>>
hadoop(6)---mapred-site.xml 详解以及常用配置。
查看>>
修改GRUB2背景图片
查看>>
Ajax异步
查看>>
好记性不如烂笔杆-android学习笔记<十六> switcher和gallery
查看>>
JAVA GC
查看>>