- 博客(50)
- 资源 (105)
- 问答 (1)
- 收藏
- 关注
原创 学习淘淘商城第四十二课(导入商品数据-service层)
上节课我们一起学习了使用Solrj来操作索引库。这节我们一起来学习下Service层代码编写。 首先,在taotao-search-interface工程新建一个接口,如下图所示。 接着在taotao-search-service工程新建实现类SearchItemServiceImpl,实现SearchItemService接口。如下图所示。
2017-04-30 23:27:52 1839
原创 学习淘淘商城第四十一课(使用solrj来测试索引库)
我们使用solrj来操作solr服务,一般习惯先建一个测试类测试下增删改查方法是否好使,这样可以大大减少出错概率,提升开发效率。 我们的taotao-search-service工程还没有添加对solrj的依赖,因此需要先添加对solrj的依赖,在taotao-search-service工程的pom.xml文件当中添加如下依赖(之所以不用写版本号是因为在taotao-parent
2017-04-30 20:13:45 1893 1
原创 学习淘淘商城第四十课(导入商品数据到索引库-dao层)
我们先来看看我们要导入数据的sql语句并且查看查询结果。 针对来自三张表的数据,我们最好使用一个pojo来接收这些数据,而且这个pojo还会作为查询结果的载体,因此服务层和表现层都会用到这个pojo,我们最好把它放到taotao-common工程的pojo目录下。我们新建SearchItem类(记得要实现序列化,因为要进行网络传输)。如下图所示。 pr
2017-04-30 15:44:44 2345
原创 学习淘淘商城第三十九课(搜索系统搭建)
上节课我们一起搭建了搜索服务工程,这节我们一起搭建搜索系统。第一步:File---->New----->Maven Project,可以看到如下图所示的弹出框,勾选上最上面的复选框,然后点击Next。第二步:在下图中输入相应的信息,打包方式选择"war",然后点击"Finish"。第三步:配置taotao-search-web工程的pom.xml文件,我们参考taota
2017-04-30 11:36:46 1674
原创 学习淘淘商城第三十八课(搜索服务搭建)
首先,我们还是要先看下淘淘商城的整体架构图,如下图所示,我们已经写完了后台管理系统、商品服务、商城门户、内容服务,现在需要搭建的是搜索系统和搜索服务。 下面我们便来搭建搜索服务工程第一步:点击File------->New------->Maven Project,会看到如下图所示对话框,勾选最上面那个复选框,然后点击"Next",如下图所示。第二步:在弹出
2017-04-30 09:59:22 2216
原创 学习淘淘商城第三十七课(中文分析器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 2405 2
原创 解决Zookeeper无法启动的问题
今天在启动zookeeper集群的单个zookeeper节点时总是报如下错误[root@zookeeper1 zookeeper-3.4.5]# bin/zkServer.sh statusJMX enabled by defaultUsing config: /usr/local/zookeeper-3.4.5/bin/../conf/zoo.cfgError contacting s
2017-04-27 21:21:30 66671 19
原创 SpringMVC框架中添加事务
事务主要是保证一系列相关联的操作要么一次都成功,要么一次都失败,不能出现成功一部分,失败一部分的情况。 在SpringMVC框架中使用事务,需要在配置文件中做下配置,这里以开发的一个工程为例,在applicationContext-mybatis.xml文件的头部添加关于事务的声明,关于"tx"的配置就是关于事务的声明。在数据库连接配置dataSource之后添加事务相关配置,如
2017-04-26 16:25:58 4024
原创 学习淘淘商城第三十六课(Solr集群搭建)
关于SolrCloud的基本知识,大家可以参考http://www.cnblogs.com/saratearing/p/5690476.html这篇博客进行学习。 下面我们来搭建SolrCloud集群,先来看下我们要搭建的集群图,如下图所示,可以看到Solr集群由三台注册中心(Zookeeper集群)和四台部署有Solr的设备组成。我们采用七台虚拟机来搭建Solr集群。
2017-04-26 00:40:24 2949
转载 SolrCloud初识
文章摘自:http://www.bubuko.com/infodetail-923588.html一、概述 Lucene是一个Java语言编写的利用倒排原理实现的文本检索类库;Solr是以Lucene为基础实现的文本检索应用服务。Solr部署方式有单机方式、多机Master-Slaver方式、Cloud方式。SolrCloud是基于Solr和Zookeeper的分布
2017-04-24 22:28:40 811
原创 最小化安装的CentOS6配置SSH免密码登录
最小化安装的CentOS6的root目录下是没有.ssh目录的,如下所示。[root@zookeeper1 ~]# ls -la总用量 56dr-xr-x---. 3 root root 4096 4月 24 02:27 .dr-xr-xr-x. 22 root root 4096 4月 24 02:28 ..-rw-------. 1 root root 1111 4月 2
2017-04-23 19:01:13 1995
原创 学习淘淘商城第三十五课(Solr的安装)
Solr是一个独立的企业级搜索应用服务器,它对外提供类似于Web-service的API接口。用户可以通过http请求,向搜索引擎服务器提交一定格式的XML文件,生成索引;也可以通过Http Get操作提出查找请求,并得到XML格式的返回结果。 Solr是一个高性能,采用Java5开发,基于Lucene的全文搜索服务器。同时对其进行了扩展,提供了比Lucene更为丰富的查询语言,同
2017-04-23 12:36:21 3356 3
原创 学习淘淘商城第三十四课(在业务逻辑中添加缓存)
上节课我们一起学习了如何用Spring容器来管理Redis单机版和集群版实现。这节我们来学习下在业务中添加缓存。 Redis添加缓存有两种方式,一种是set,另一种是hset,这两种方式的不同之处是hset可以对key进行分类,查询的时候先查询类,然后再在该类下查询某个key的值,这样的效率肯定要比set方式存储的数据查询效率高。因此我们选择hset的方式来存储缓存信息。
2017-04-22 22:14:56 2842 7
原创 学习淘淘商城第三十三课(使用Spring来管理Redis单机版和集群版)
我们知道Jedis在处理Redis的单机版和集群版时是完全不同的,有可能在开发的时候使用的是单机版,但是当项目上线后使用的则是集群版。这就需要能够方便的在单机版和集群版之间进行切换。我们的做法便是定义一个Jedis接口类,然后新建两个实现类来分别处理单机版和集群版,最后在Spring容器中进行配置管理即可。 首先在taotao-content-interface工程下新建一个包co
2017-04-22 20:02:53 2839 2
原创 学习淘淘商城第三十二课(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 2206 1
原创 克隆虚拟机
安装一个虚拟机所耗费的时间比较长,为了快速弄出多台虚拟机,则需要用到克隆。第一步:在要克隆的虚拟机上右键-------->管理--------->克隆(C)...如下图所示。第二步:直接点击"下一步"第三步:使用默认选择,点击"下一步"第四步:选择"创建完整克隆(F)"然后点击"下一步"第五步:输入虚拟机名称并选择好虚拟机存放的位置第
2017-04-20 23:31:04 876
原创 学习淘淘商城第三十一课(Redis集群搭建)
首先说一下,为何要搭建Redis集群。Redis是在内存中保存数据,而我们的电脑一般内存都不大,这也就意味着Redis不适合存储大数据。适合存储大数据的是Hadoop生态系统的HBase或者是MogoDB。Redis更适合处理高并发,一台设备的存储能力是很有限的,但是多台设备协同合作,就可以让内存增大很多倍,这就需要用到集群。 我们来看一下集群图,如下图所示。可以看到Redis集
2017-04-20 18:23:45 4725 6
原创 学习淘淘商城第三十课(Jedis的使用)
上节课我们一起学习了Redis的安装,这节课我们一起学习下Redis的客户端Jedis的使用。 首先,在taotao-content-service工程添加对jedis的引用,如下所示。 redis.clients jedis 下面我们新建一个测试类来测试一下Jedis,如下所示。package com.taotao.jedis;imp
2017-04-20 15:32:00 2479 1
原创 redis-desktop-manager的使用
实际工作环境中,Redis会安装在服务器上,我们想使用Redis服务就要使用Redis终端。 redis-desktop-manager便是来连接Redis服务并可供我们学习使用的。 首先,安装 redis-desktop-manager,大家可以到http://download.csdn.net/detail/u012453843/9820194这个地址下载安装包并进行安装。
2017-04-20 14:45:41 14654 11
原创 学习淘淘商城第二十九课(Redis的安装)
上节课我们一起学习了淘淘商城大广告位的展示,这节课我们一起学习下Redis的安装。 之所以要在工程中添加缓存,是因为在互联网项目中查询功能是非常频繁的,如果每次查询都调用数据库的话,会给数据库造成很大的压力,因此需要在用户和数据库之间加一层缓存,对于同样的查询,只查询一遍数据库,然后把数据保存到缓存当中,当其他用户再访问同样的页面时便可以直接从缓存中去读取数据,这样查询效率将会提
2017-04-20 12:01:30 3811 2
原创 学习淘淘商城第二十八课(首页大广告位的展示)
上节课我们一起学习了内容的添加、修改、删除,这节我们一起学习下如何展示首页大广告位。 首先,看一下页面代码,如下图所示,首页大广告是采用轮播图的方式显示的。数据需要从后台动态获取,它是从"ad1"这么一个变量中去取值的,因此我们在Controller层返回的结果中动态数据所对应的变量名一定要是"ad1"。 下面在taotao-content-interfac
2017-04-19 20:54:27 3122 1
原创 使用JsonView来格式化json字符串
对于从服务端返回的json字符串往往晦涩难懂,这就需要格式化一下,关于格式化json字符串有两种方法。第一种:在线转换,这种方法大家用的最多,这里不啰嗦了。第二种:本地转换 在公司,有可能是不让上网的,这种情况下,有个本地转换工具是必须的,大家可以到http://download.csdn.net/detail/u012453843/9819351这个地址进行下载。下载完
2017-04-19 18:08:45 6689
原创 测试神器Swagger的应用
在开发中我们经常会碰到这种情况:后台开发人员在开发完接口之后给前台人员调用,前台人员对接口的作用以及接口中的参数往往不懂,这样前台不得不多次跟后台人员沟通交流,很浪费时间。但使用Swagger后,这种情况就几乎不存在了,因为后台开发人员在写接口的同时便把接口及参数的注释写好了,在Swagger页面可以非常清楚明了的看到各个接口以及各个参数的意思。 我们先看看效果图,下图中明确显示
2017-04-18 17:21:22 21709 2
原创 学习淘淘商城第二十七课(内容管理)
上节课我们一起学习了内容分类管理,包括增加、修改、删除等操作。这节课我们一起学习下内容管理。 首先,我们先来看看内容管理后台页面,如下图所示,可以看到页面分两部分,分为左侧内容分类和右侧内容列表两个部分。 为什么内容管理页面左侧的内容分类树形列表直接就是好的呢?我们看看代码就知道了,我们访问的入口是index.jsp页面,这个页面有"内容管理"模块,当我们点击
2017-04-17 20:33:55 5317 7
原创 获取ApplicationContext的方法及手动控制事务提交
首先新建一个类SpringContextHolder.java,类的内容如下,其中setApplicationContext(ApplicationContext applicationContext)会在spring初始化的时候自动调用,这样的好处就是我们不用每次使用ApplicationContext的时候都去重新初始化一次spring,只需要一次便可以了。package com.taot
2017-04-17 17:21:57 3588
原创 学习淘淘商城第二十六课(内容分类管理)
上节课我们一起搭建了内容服务工程,这节课我们一起学习如何添加内容分类。 我们到后台管理页面看看关于内容管理的内容,如下图所示。 我们再来看下content-category.jsp页面,这个页面就是内容分类页面,页面中用来展示内容分类树,$(function()是在页面加载完后要调用的js,下面这段代码是用来获取分类列表数据的,发起的url请求是/content
2017-04-17 00:07:37 6282 10
原创 学习淘淘商城第二十五课(CMS内容管理系统表设计及内容工程搭建)
上节课我们一起学习了搭建前台显示系统taotao-portal-web,这节课我们一起学习下前台显示内容的表设计。 我们以京东的首页为例,如下图所示,可以看到内容显示是分组显示的,广告位轮播图是一组,轮播图下面那两张图片是一组,右边的"促销"、"公告"是一组,但是它与轮播图又有所不同,不同之处在于它下面分了两个小组,每个小组下面有标题列表,每个标题都是一个链接,点击"促销"这组的任
2017-04-16 18:47:36 3835
原创 学习淘淘商城第二十四课(前台系统工程搭建)
上节课我们一起学习了添加商品的实现,这节课我们学习搭建前台系统工程。 我们先来看一下淘淘商城的首页,如下图所示。 我们再来看看淘淘商城的系统架构图,我们目前只是完成了后台管理系统和商品服务,还有很多没有实现,淘淘商城首页的展示需要用到商城门户工程和内容服务工程。这节我们便学习一下商城门户的搭建。 我们新建一个taotao-portal-web
2017-04-15 23:51:53 3231 1
原创 学习淘淘商城第二十三课(添加商品的实现)
上节课我们一起学习了富文本编辑器的使用,这节课我们一起学习下商品添加的实现。 在item-add.jsp当中,当点击提交按钮后,会触发submitForm方法,如下图所示。 在提交表单前需要校验输入的内容是否合法,如下图所示。 下面我们看下数据库中商品表的建表信息,可以看到价格定义的字段类型是long型,单位为分,之所以这样做是为了避免
2017-04-15 19:01:20 4978 4
原创 学习淘淘商城第二十二课(KindEditor富文本编辑器的使用)
上节课我们一起学习了怎样解决KindEditor富文本编辑器上传图片的浏览器兼容性问题,这节课我们一起学习下富文本编辑器与淘淘商城相结合的使用方法。 我们在发表一篇博客或者微博的时候,都会用到富文本编辑器,因为它提供的功能非常丰富,不仅能写文字,还能设置字体大小、颜色,还能插入图片、音频、视频等等。现在流行的编辑器有三个,第一个是KindEditor,这是国内人写的;第二个是百度编辑
2017-04-15 15:52:31 3010 2
原创 学习淘淘商城第二十一课(解决KindEditor上传图片不兼容的问题)
在上节课我们实现了图片上传功能,但是有个问题,那就是对浏览器兼容性不够,因为Map类型的返回值在火狐浏览器无法识别,Controller代码如下图所示。 为了解决这个兼容问题,我们需要修改下返回值类型,将Map类型变为String类型(也就是json串)。我们至少可以使用以下两种方案来解决第一种:使用fastjson来实现转换 在taoao-com
2017-04-15 11:25:44 3440 3
原创 学习淘淘商城第二十课(实现图片上传功能)
上节课我们一起学习了搭建一个单机版的FastDFS图片服务器以及使用FastDFS-Client进行简单的文件上传操作测试,这节我们一起学习项目中添加商品时上传图片的问题,目前上传图片还没有实现,如下图所示。 我们看下list-add.jsp页面,可以看到上传图片触发方法picFileUpload是通过class来处理的,在标签的下方是一个隐藏域,是用来接收上传到图片服务器的
2017-04-14 19:10:14 4146 11
原创 设置zookeeper开机自启动
两种方式可以实现开机自启动第一种:直接修改/etc/rc.d/rc.local文件在/etc/rc.d/rc.local文件中需要输入两行,其中export JAVA_HOME=/usr/java/jdk1.8.0_112是必须要有的,否则开机启动不成功,大家根据自己JDK安装的位置自行更改。另一行/usr/local/zookeeper-3.4.5/bin/zkServer.sh sta
2017-04-13 22:59:45 24093 6
原创 tomcat插件启动工程如何关联源码
关于如何用tomcat插件启动web工程大家可以参考http://blog.csdn.net/u012453843/article/details/63706827这篇博客进行学习,这里我想说的是如何关联源码第一步:在工程上右键-------->Run As----------->Run Configurations...,如下图所示。第二步:我这里为taotao-manager-
2017-04-12 11:12:26 1377
原创 Eclipse下载Github上FastDFS-Client源码并转化成Maven工程以及打包到本地Maven仓库
FastDFS Client目前在中央仓库是没有坐标的,为了解决这个问题,我们需要另辟蹊径。第一种尝试:我尝试了从github上下载fastdfs-client源码并导入eclipse当中,但无法导入到eclipse当中。第二种尝试:直接使用eclipse来下载github上的源码,这种方法证明是可行的,下面详细介绍如何操作。1、在左侧空白处右键------>Import-------
2017-04-12 00:10:02 6447 6
原创 Vmware添加已配置好的虚拟机
我们有时候会碰到虚拟机环境搭建特别麻烦,很容易出错的问题,而这时我们又刚好有别人或者自己以前搭建好的虚拟机,我们便可以把搭建好的整个虚拟机copy过来供自己使用。这里说一下怎样在Vmware上打开已有的虚拟机。 这里以我搭建好的FastDFS单机版虚拟机为例,大家可以到http://download.csdn.net/detail/u012453843/9810146这个地址下载
2017-04-11 09:27:05 55388 7
原创 搭建单机版的FastDFS服务器
由于FastDFS集群搭建非常复杂,对于初期学习FastDFS来说,搭建个单机版的作为入门更为实际一些。第一步:搭建虚拟环境 FastDFS需要在Linux系统上安装,我们一般使用的都是Windows系统,这样就需要有虚拟环境,我这里使用Vmware12创建虚拟机,关于虚拟机最小化的安装大家可以参考:http://blog.csdn.net/u012453843/articl
2017-04-10 18:13:06 24487 20
原创 学习淘淘商城第十九课(搭建单机版FastDFS图片服务器以及使用FastDFS-Client客户端进行简单测试)
上节课我们一起学习了商品分类的实现,这节课我们一起学习下图片上传。 我们知道,对于传统项目来说,所有的模块都在一个项目中开发,包括所有静态资源文件比如图片等,都存储在这一个tomcat服务器上。如果访问量小的话,这样做问题倒不大,但是对于互联网项目来说,用户访问量很大,这样一个tomcat服务是远远不能满足业务需求的。这就需要部署tomcat集群,有集群就需要用到负载均衡,我们一
2017-04-10 17:09:42 9424 20
原创 解决执行脚本报syntax error: unexpected end of file或syntax error near unexpected token `fi'错误的问题
我们在编辑Linux服务器上的文件时,如果直接在Linux环境下编辑的话,比较麻烦,大段粘贴格式比较乱,还得自己一行一行去调整,因此会选择用编辑器来编辑我们Linux环境下的文件,我用的是NodePad++,大家可以参考http://blog.csdn.net/u012453843/article/details/52987666这篇博客来学习如何使用NodePad++来编辑Linux系统的文件。
2017-04-09 12:25:22 215096 37
原创 nginx和keepalived实现nginx高可用
首先介绍一下Keepalived,它是一个高性能的服务器高可用或热备解决方案,Keepalived主要来防止服务器单点故障的发生问题,可以通过其与Nginx的配合实现web服务端的高可用。 Keepalived以VRRP协议为实现基础,用VRRP协议来实现高可用性(HA).VRRP (Virtual Router Redundancy Protocol)协议是用于实现路由器冗余的
2017-04-09 00:19:43 13970 9
restclient-ui-3.5-jar-with-dependencies.jar
2017-06-08
QRCode.zip
2017-05-10
RabbitMQ实战:高效部署分布式消息队列
2019-01-29
SpringBoot+Security 发送短信验证码的实现
2018-08-14
Modbus协议中文版
2018-06-01
算法(第四版)
2018-05-18
微服务那些事儿
2017-09-13
微服务设计(中文完整版)
2017-09-13
MongoDB权威指南第2版.pdf
2017-09-07
Mycat-server-1.4-release-20151019230038-linux.tar.gz
2017-06-21
mongodb执行计划和实际查询执行结果不一致
2018-03-01
TA创建的收藏夹 TA关注的收藏夹
TA关注的人