淘淘商城
淘淘商城采用当前比较流行的网络技术,对于想要学习互联网技术的同学,该项目无疑你是学习的最好窗口。
如果需要沟通交流,可以加入916276021这个群
在京奋斗者
这个作者很懒,什么都没留下…
展开
-
学习淘淘商城第一课
当今中国,互联网技术迅速崛起,国家也在一直倡导互联网+的概念,所以在可以预见的未来,互联网工程师肯定会越来越吃香,工资水平也越来越高。想在互联网行业能有一席之地,就要掌握相关技术。 首先,我们一起来了解一下电商行业技术特点:1.技术新2.技术范围广3.分布式4.高并发、集群、负载均衡、高并发5.海量数据6.业务复杂7.系统安全 正是由原创 2017-03-15 23:48:21 · 19360 阅读 · 66 评论 -
学习淘淘商城第二课(搭建Maven工程)
上节课我们一起学习了淘淘商城的架构,这节课我们一起学习如何搭建Maven工程,关于Maven的好处,网上有很多,这里就不啰嗦了。 Maven常见的打包方式有:jar、war、pom pom工程一般都是父工程,管理jar包的版本、maven插件的版本、统一的依赖管理,是一个聚合工程。 jar工程,很显然就是pom工程的子工程,由pom原创 2017-03-19 00:03:18 · 11671 阅读 · 21 评论 -
学习淘淘商城第三课(使用tomcat插件启动web工程)
上节课我们一起学习了怎样搭建maven工程,这节课我们一起学习怎样用tomcat插件来启动web工程(需要先学习第二课的内容,地址:http://blog.csdn.net/u012453843/article/details/63251640)。 我们在taotao-parent工程下的pom.xml文件下定义了tomcat的插件配置,如下所示。而我们的web工程依赖了taot原创 2017-03-19 23:12:27 · 6208 阅读 · 10 评论 -
学习淘淘商城第四课(使用tomcat插件启动聚合工程)
上节课我们一起学习了如何使用tomcat插件来启动web工程,这节课我们一起学习如何用tomcat插件启动聚合工程。 我们淘淘商城的taotao-manager工程是个聚合工程,它下面有taotao-manager-dao、taotao-manager-pojo、taotao-manager-interface、taotao-manager-service四个子工程。其中taot原创 2017-03-20 21:03:20 · 5221 阅读 · 11 评论 -
学习淘淘商城第五课(安装SVN服务器)
上节课我们一起学习了怎样用tomcat插件启动聚合工程,这节课我们一起学习安装SVN服务器。 相信大家对SVN都是非常熟悉,大家在工作中经常用用到SVN来管理我们的代码,但是我相信有很多人是没有搭建过SVN服务器的,平时只是使用罢了,既然我们的淘淘商城是综合性的项目,那么肯定有必要学一下怎样安装SVN服务器以及怎样上传和下载代码。 下面说一下怎样安装SVN服务器。原创 2017-03-20 23:50:23 · 3110 阅读 · 1 评论 -
学习淘淘商城第六课(向SVN服务器上传和下载代码)
上节课我们一起学习了怎样安装SVN服务器并且新建了一个空的仓库"taotao-javaee",如下图所示。 下面我们一起学习下这三个文件夹分别代表什么意思。 "branches"文件夹的意思是分支,举个例子,我们在开发项目时往往会分版本,比如1.0、2.0之类的,当我们开发完1.0版本之后,我们往往就要拉一个分支出来,这时主线开发2.0版本,但这时1.0版本原创 2017-03-22 00:45:47 · 3467 阅读 · 4 评论 -
学习淘淘商城第七课(SSM框架整合之逆向工程)
上节课我们一起学习了使用SVN来上传和下载代码,这节课我们一起学习SSM框架整合。 SSM代表Spring+SpringMVC+Mybatis,我们先来使用Mybatis生成逆向工程。 首先我们需要安装mysql5.5以上版本,我本地的mysql版本是5.7,如下图所示。 安装了mysql,我们再安装一个mysql管理工具,我安装的是原创 2017-03-23 23:22:43 · 5374 阅读 · 11 评论 -
学习淘淘商城第八课(SSM框架整合之Dao层整合)
上节课我们一起学习了如何使用逆向工程,以及如何将逆向工程生成的代码合并到我们的工程当中,这节课我们学习一下怎样整合我们的Dao层。 我们在一个Spring项目中往往有三层即Dao层、Service层和Web层。我们的taotao-manager工程包含了Dao层和Service层,Web层是一个独立的war工程,因此我们需要将他们整合到一起。Dao层的整合也是框架的整合,我们使用的原创 2017-03-25 13:18:52 · 4751 阅读 · 1 评论 -
学习淘淘商城第九课(SSM框架整合之Service层整合)
上节课我们一起学习了Dao层的整合,这节课我们一起来学习下Service层整合。 我们需要在src/main/resources/spring目录下新建一个applicationContext-service.xml文件,如下图所示。 applicationContext-service.xml文件的内容如下所示,可以看到我们配置包扫描器,扫描所有带@原创 2017-03-25 13:54:11 · 3968 阅读 · 0 评论 -
学习淘淘商城第十课(SSM框架整合之springmvc整合及父子容器的关系)
上节课我们一起学习了整合service层,这节我们一起学习下怎样整合web层即springmvc。 我们在taotao-manager-web工程的src/main/resource目录下新建一个spring文件夹,在该目录下新建一个springmvc.xml文件,如下图所示。 springmvc.xml文件的内容如下:<beans xmlns="h原创 2017-03-25 15:30:14 · 4881 阅读 · 6 评论 -
学习淘淘商城第十一课(dubbo入门及单机版zookeeper安装)
由于淘淘商城是基于soa的架构,表现层和服务层是不同的工程。所以要实现商品列表查询需要两个系统之间进行通信。 如何实现远程通信? 1.WebService:效率不高,基于soap协议。在项目中不推荐使用。 2.使用restful形式的服务:http+json。很多项目中应用。但是有个缺点是,如果服务太多,服务之间的调用关系就非常混乱,需要治疗服务。原创 2017-03-25 21:26:35 · 11200 阅读 · 2 评论 -
学习淘淘商城第十二课(发布dubbo服务)
Dubbo采用全Spring配置方式,透明化接入应用,对应用没有任何API侵入,只需用Spring加载Dubbo的配置即可,Dubbo基于Spring的Schema扩展进行加载。 单一工程中spring的配置如下(不用Dubbo的情况) 用Dubbo的话,分为发布服务和调用服务,发布服务原创 2017-03-26 01:03:54 · 6784 阅读 · 4 评论 -
学习淘淘商城第十三课(引用dubbo服务)
上节课我们一起学习了如何发布一个dubbo服务,这节我们一起学习下web工程如何引用dubbo发布的服务。 首先我们在web工程也需要添加dubbo的依赖,由于我们在taotao-manager-service工程已经添加了dubbo的依赖并且解决了包冲突的问题,那么我们便可以直接把taotao-manager-service工程下的关于dubbo的依赖部分拷贝过来,拷贝的内容原创 2017-03-26 11:48:04 · 5722 阅读 · 1 评论 -
学习淘淘商城第十四课(服务调用测试)
整合完了框架之后,我们来测试一下看是否好使,如果想在启动的时候查看更多的启动信息,大家可以把log4j.properties文件放到src/main/resources目录下,这样当工程启动的时候如果有问题的话,我们便可以清楚的知道是什么错误了。log4j.properties文件大家可以到:http://download.csdn.net/detail/u012453843/9794134这个地原创 2017-03-26 14:59:24 · 5252 阅读 · 36 评论 -
学习淘淘商城第十五课(dubbo监控中心)
前面我们学过了dubbo的架构图,如下图所示。我们目前已经完成了除monitor之外的其它模块,那么我们现在便一起学习下怎样使用monitor。 大家需要到:http://download.csdn.net/detail/u012453843/9794429这个地址下载dubbo-admin-2.5.4.war,这是监控中心的war包,可以直接放到tomcat下运行的。我们需要原创 2017-03-26 19:45:03 · 4156 阅读 · 2 评论 -
学习淘淘商城第十六课(展示后台管理页面)
前面做了那么多铺垫,现在我们开始着手处理后台管理系统。 首先,大家需要下载淘淘商城的静态资源文件,大家可以到:http://download.csdn.net/detail/u012453843/9794517这个地址进行下载,下载后解压,解压后可以看到有css、js、jsp三个文件夹。我们把这三个文件夹分别放到taotao-manager-web工程的src/main/weba原创 2017-03-26 21:16:17 · 6037 阅读 · 8 评论 -
学习淘淘商城第十七课(商品列表展示、PageHelper的使用)
上节课我们实现了展示后台页面的功能,如下图所示。可以看到,目前页面是没有数据的,我们本节课便一起学习下如何展示商品列表。 我们知道,EasyUI的最大特点便是局部刷新,所有展示都是分模块展示的,不像我们一般页面采用全部刷新。查询商品是index.jsp中的一个模块展示而已,我们下面来看下index.jsp页面代码,如下图所示。可以看到,当我们点击查询商品的时候实际上是原创 2017-03-29 00:28:55 · 7201 阅读 · 7 评论 -
学习淘淘商城第十八课(商品分类选择的实现)
上节课我们一起学习了怎样实现展示商品列表的功能,这节课我们一起学习下怎样实现商品分类的选择。 首先,当然还是启动我们的zookeeper注册中心,然后启动taotao-manager工程和taotao-manager-web工程,启动后我们点击"新增商品",然后点击"选择类目",打开的对话框是空白的,没有任何信息。这是因为我们还没有实现该界面的展示。 我们原创 2017-03-30 00:52:51 · 7946 阅读 · 5 评论 -
学习淘淘商城第十九课(搭建单机版FastDFS图片服务器以及使用FastDFS-Client客户端进行简单测试)
上节课我们一起学习了商品分类的实现,这节课我们一起学习下图片上传。 我们知道,对于传统项目来说,所有的模块都在一个项目中开发,包括所有静态资源文件比如图片等,都存储在这一个tomcat服务器上。如果访问量小的话,这样做问题倒不大,但是对于互联网项目来说,用户访问量很大,这样一个tomcat服务是远远不能满足业务需求的。这就需要部署tomcat集群,有集群就需要用到负载均衡,我们一原创 2017-04-10 17:09:42 · 9414 阅读 · 20 评论 -
学习淘淘商城第二十课(实现图片上传功能)
上节课我们一起学习了搭建一个单机版的FastDFS图片服务器以及使用FastDFS-Client进行简单的文件上传操作测试,这节我们一起学习项目中添加商品时上传图片的问题,目前上传图片还没有实现,如下图所示。 我们看下list-add.jsp页面,可以看到上传图片触发方法picFileUpload是通过class来处理的,在标签的下方是一个隐藏域,是用来接收上传到图片服务器的原创 2017-04-14 19:10:14 · 4141 阅读 · 11 评论 -
学习淘淘商城第二十一课(解决KindEditor上传图片不兼容的问题)
在上节课我们实现了图片上传功能,但是有个问题,那就是对浏览器兼容性不够,因为Map类型的返回值在火狐浏览器无法识别,Controller代码如下图所示。 为了解决这个兼容问题,我们需要修改下返回值类型,将Map类型变为String类型(也就是json串)。我们至少可以使用以下两种方案来解决第一种:使用fastjson来实现转换 在taoao-com原创 2017-04-15 11:25:44 · 3433 阅读 · 3 评论 -
学习淘淘商城第二十二课(KindEditor富文本编辑器的使用)
上节课我们一起学习了怎样解决KindEditor富文本编辑器上传图片的浏览器兼容性问题,这节课我们一起学习下富文本编辑器与淘淘商城相结合的使用方法。 我们在发表一篇博客或者微博的时候,都会用到富文本编辑器,因为它提供的功能非常丰富,不仅能写文字,还能设置字体大小、颜色,还能插入图片、音频、视频等等。现在流行的编辑器有三个,第一个是KindEditor,这是国内人写的;第二个是百度编辑原创 2017-04-15 15:52:31 · 3006 阅读 · 2 评论 -
学习淘淘商城第二十三课(添加商品的实现)
上节课我们一起学习了富文本编辑器的使用,这节课我们一起学习下商品添加的实现。 在item-add.jsp当中,当点击提交按钮后,会触发submitForm方法,如下图所示。 在提交表单前需要校验输入的内容是否合法,如下图所示。 下面我们看下数据库中商品表的建表信息,可以看到价格定义的字段类型是long型,单位为分,之所以这样做是为了避免原创 2017-04-15 19:01:20 · 4972 阅读 · 4 评论 -
学习淘淘商城第二十四课(前台系统工程搭建)
上节课我们一起学习了添加商品的实现,这节课我们学习搭建前台系统工程。 我们先来看一下淘淘商城的首页,如下图所示。 我们再来看看淘淘商城的系统架构图,我们目前只是完成了后台管理系统和商品服务,还有很多没有实现,淘淘商城首页的展示需要用到商城门户工程和内容服务工程。这节我们便学习一下商城门户的搭建。 我们新建一个taotao-portal-web原创 2017-04-15 23:51:53 · 3228 阅读 · 1 评论 -
学习淘淘商城第二十五课(CMS内容管理系统表设计及内容工程搭建)
上节课我们一起学习了搭建前台显示系统taotao-portal-web,这节课我们一起学习下前台显示内容的表设计。 我们以京东的首页为例,如下图所示,可以看到内容显示是分组显示的,广告位轮播图是一组,轮播图下面那两张图片是一组,右边的"促销"、"公告"是一组,但是它与轮播图又有所不同,不同之处在于它下面分了两个小组,每个小组下面有标题列表,每个标题都是一个链接,点击"促销"这组的任原创 2017-04-16 18:47:36 · 3826 阅读 · 0 评论 -
学习淘淘商城第二十六课(内容分类管理)
上节课我们一起搭建了内容服务工程,这节课我们一起学习如何添加内容分类。 我们到后台管理页面看看关于内容管理的内容,如下图所示。 我们再来看下content-category.jsp页面,这个页面就是内容分类页面,页面中用来展示内容分类树,$(function()是在页面加载完后要调用的js,下面这段代码是用来获取分类列表数据的,发起的url请求是/content原创 2017-04-17 00:07:37 · 6279 阅读 · 10 评论 -
学习淘淘商城第二十七课(内容管理)
上节课我们一起学习了内容分类管理,包括增加、修改、删除等操作。这节课我们一起学习下内容管理。 首先,我们先来看看内容管理后台页面,如下图所示,可以看到页面分两部分,分为左侧内容分类和右侧内容列表两个部分。 为什么内容管理页面左侧的内容分类树形列表直接就是好的呢?我们看看代码就知道了,我们访问的入口是index.jsp页面,这个页面有"内容管理"模块,当我们点击原创 2017-04-17 20:33:55 · 5309 阅读 · 7 评论 -
学习淘淘商城第二十八课(首页大广告位的展示)
上节课我们一起学习了内容的添加、修改、删除,这节我们一起学习下如何展示首页大广告位。 首先,看一下页面代码,如下图所示,首页大广告是采用轮播图的方式显示的。数据需要从后台动态获取,它是从"ad1"这么一个变量中去取值的,因此我们在Controller层返回的结果中动态数据所对应的变量名一定要是"ad1"。 下面在taotao-content-interfac原创 2017-04-19 20:54:27 · 3121 阅读 · 1 评论 -
学习淘淘商城第二十九课(Redis的安装)
上节课我们一起学习了淘淘商城大广告位的展示,这节课我们一起学习下Redis的安装。 之所以要在工程中添加缓存,是因为在互联网项目中查询功能是非常频繁的,如果每次查询都调用数据库的话,会给数据库造成很大的压力,因此需要在用户和数据库之间加一层缓存,对于同样的查询,只查询一遍数据库,然后把数据保存到缓存当中,当其他用户再访问同样的页面时便可以直接从缓存中去读取数据,这样查询效率将会提原创 2017-04-20 12:01:30 · 3808 阅读 · 2 评论 -
学习淘淘商城第三十课(Jedis的使用)
上节课我们一起学习了Redis的安装,这节课我们一起学习下Redis的客户端Jedis的使用。 首先,在taotao-content-service工程添加对jedis的引用,如下所示。 redis.clients jedis 下面我们新建一个测试类来测试一下Jedis,如下所示。package com.taotao.jedis;imp原创 2017-04-20 15:32:00 · 2475 阅读 · 1 评论 -
学习淘淘商城第三十一课(Redis集群搭建)
首先说一下,为何要搭建Redis集群。Redis是在内存中保存数据,而我们的电脑一般内存都不大,这也就意味着Redis不适合存储大数据。适合存储大数据的是Hadoop生态系统的HBase或者是MogoDB。Redis更适合处理高并发,一台设备的存储能力是很有限的,但是多台设备协同合作,就可以让内存增大很多倍,这就需要用到集群。 我们来看一下集群图,如下图所示。可以看到Redis集原创 2017-04-20 18:23:45 · 4722 阅读 · 6 评论 -
学习淘淘商城第三十二课(Redis集群测试)
上节课我们一起学习了怎样搭建一个六台设备的Redis集群,这节我们一起学习下如何测试集群。 首先启动Redis集群使用命令/usr/local/redis/bin/redis-trib.rb create --replicas 1 192.168.156.15:6379 192.168.156.16:6379 192.168.156.17:6379 192.168.156.18:63原创 2017-04-22 16:36:48 · 2199 阅读 · 1 评论 -
学习淘淘商城第三十三课(使用Spring来管理Redis单机版和集群版)
我们知道Jedis在处理Redis的单机版和集群版时是完全不同的,有可能在开发的时候使用的是单机版,但是当项目上线后使用的则是集群版。这就需要能够方便的在单机版和集群版之间进行切换。我们的做法便是定义一个Jedis接口类,然后新建两个实现类来分别处理单机版和集群版,最后在Spring容器中进行配置管理即可。 首先在taotao-content-interface工程下新建一个包co原创 2017-04-22 20:02:53 · 2837 阅读 · 2 评论 -
学习淘淘商城第三十四课(在业务逻辑中添加缓存)
上节课我们一起学习了如何用Spring容器来管理Redis单机版和集群版实现。这节我们来学习下在业务中添加缓存。 Redis添加缓存有两种方式,一种是set,另一种是hset,这两种方式的不同之处是hset可以对key进行分类,查询的时候先查询类,然后再在该类下查询某个key的值,这样的效率肯定要比set方式存储的数据查询效率高。因此我们选择hset的方式来存储缓存信息。原创 2017-04-22 22:14:56 · 2841 阅读 · 7 评论 -
学习淘淘商城第三十五课(Solr的安装)
Solr是一个独立的企业级搜索应用服务器,它对外提供类似于Web-service的API接口。用户可以通过http请求,向搜索引擎服务器提交一定格式的XML文件,生成索引;也可以通过Http Get操作提出查找请求,并得到XML格式的返回结果。 Solr是一个高性能,采用Java5开发,基于Lucene的全文搜索服务器。同时对其进行了扩展,提供了比Lucene更为丰富的查询语言,同原创 2017-04-23 12:36:21 · 3354 阅读 · 3 评论 -
学习淘淘商城第三十六课(Solr集群搭建)
关于SolrCloud的基本知识,大家可以参考http://www.cnblogs.com/saratearing/p/5690476.html这篇博客进行学习。 下面我们来搭建SolrCloud集群,先来看下我们要搭建的集群图,如下图所示,可以看到Solr集群由三台注册中心(Zookeeper集群)和四台部署有Solr的设备组成。我们采用七台虚拟机来搭建Solr集群。原创 2017-04-26 00:40:24 · 2947 阅读 · 0 评论 -
学习淘淘商城第三十七课(中文分析器IK-Analyzer的使用)
在Solr中默认是没有中文分析器的,需要手工配置,配置一个FieldType,在FieldType中指定中文分析器。另外,Solr中的字段必须先定义,后使用。 下面分步骤进行操作第一步:将IK-Analyzer的压缩包上传到solr服务器上。如下所示。[root@solr-server software]# ll总用量 335576drwxr-xr-x. 9 root r原创 2017-04-30 00:55:17 · 2403 阅读 · 2 评论 -
学习淘淘商城第三十八课(搜索服务搭建)
首先,我们还是要先看下淘淘商城的整体架构图,如下图所示,我们已经写完了后台管理系统、商品服务、商城门户、内容服务,现在需要搭建的是搜索系统和搜索服务。 下面我们便来搭建搜索服务工程第一步:点击File------->New------->Maven Project,会看到如下图所示对话框,勾选最上面那个复选框,然后点击"Next",如下图所示。第二步:在弹出原创 2017-04-30 09:59:22 · 2214 阅读 · 0 评论 -
学习淘淘商城第三十九课(搜索系统搭建)
上节课我们一起搭建了搜索服务工程,这节我们一起搭建搜索系统。第一步:File---->New----->Maven Project,可以看到如下图所示的弹出框,勾选上最上面的复选框,然后点击Next。第二步:在下图中输入相应的信息,打包方式选择"war",然后点击"Finish"。第三步:配置taotao-search-web工程的pom.xml文件,我们参考taota原创 2017-04-30 11:36:46 · 1672 阅读 · 0 评论 -
学习淘淘商城第四十课(导入商品数据到索引库-dao层)
我们先来看看我们要导入数据的sql语句并且查看查询结果。 针对来自三张表的数据,我们最好使用一个pojo来接收这些数据,而且这个pojo还会作为查询结果的载体,因此服务层和表现层都会用到这个pojo,我们最好把它放到taotao-common工程的pojo目录下。我们新建SearchItem类(记得要实现序列化,因为要进行网络传输)。如下图所示。 pr原创 2017-04-30 15:44:44 · 2344 阅读 · 0 评论