java
文章平均质量分 72
anaitudou
这个作者很懒,什么都没留下…
展开
-
史上最全阿里技术面试题目
阿里面试题目目录 技术一面(基础面试题目) 技术二面(技术深度、技术原理) 项目实战(项目模拟面试) JAVA开发技术常问的问题 阿里必会知识 阿里面试范畴 阿里面试总结一:阿里技术一面(基础掌握牢固) 常用的异常类型? session java锁 gc原理 hashmap listlink arraylist 区别 aop 原理 多线...原创 2018-11-20 18:01:48 · 1378 阅读 · 1 评论 -
学习淘淘商城第三十课(Jedis的使用)
上节课我们一起学习了Redis的安装,这节课我们一起学习下Redis的客户端Jedis的使用。 首先,在taotao-content-service工程添加对jedis的引用,如下所示。 <!-- Redis客户端 --> <dependency> <groupId>redis.clients</gro...原创 2018-08-01 09:55:33 · 204 阅读 · 0 评论 -
学习淘淘商城第二十九课(Redis的安装)
上节课我们一起学习了淘淘商城大广告位的展示,这节课我们一起学习下Redis的安装。 之所以要在工程中添加缓存,是因为在互联网项目中查询功能是非常频繁的,如果每次查询都调用数据库的话,会给数据库造成很大的压力,因此需要在用户和数据库之间加一层缓存,对于同样的查询,只查询一遍数据库,然后把数据保存到缓存当中,当其他用户再访问同样的页面时便可以直接从缓存中去读取数据,这样查询效率将会提...原创 2018-07-31 18:47:13 · 301 阅读 · 0 评论 -
学习淘淘商城第二十八课(首页大广告位的展示)
上节课我们一起学习了内容的添加、修改、删除,这节我们一起学习下如何展示首页大广告位。 首先,看一下页面代码,如下图所示,首页大广告是采用轮播图的方式显示的。数据需要从后台动态获取,它是从"ad1"这么一个变量中去取值的,因此我们在Controller层返回的结果中动态数据所对应的变量名一定要是"ad1"。 下面在taotao-content-interface工...原创 2018-07-31 16:54:46 · 519 阅读 · 0 评论 -
学习淘淘商城第二十七课(内容管理)
上节课我们一起学习了内容分类管理,包括增加、修改、删除等操作。这节课我们一起学习下内容管理。第一部分:查询内容列表 首先,我们先来看看内容管理后台页面,如下图所示,可以看到页面分两部分,分为左侧内容分类和右侧内容列表两个部分。 为什么内容管理页面左侧的内容分类树形列表直接就是好的呢?我们看看代码就知道了,我们访问的入口是index.jsp页面,这个页面有"内容...原创 2018-07-31 14:23:11 · 347 阅读 · 0 评论 -
学习淘淘商城第二十六课(内容分类管理)
上节课我们一起搭建了内容服务工程,这节课我们一起学习如何添加内容分类。 我们到后台管理页面看看关于内容管理的内容,如下图所示。 我们再来看下content-category.jsp页面,这个页面就是内容分类页面,页面中<ul id="contentCategory" class="easyui-tree">用来展示内容分类树,$(function()是在...原创 2018-07-30 15:45:24 · 352 阅读 · 0 评论 -
学习淘淘商城第二十四课(前台系统工程搭建)
上节课我们一起学习了添加商品的实现,这节课我们学习搭建前台系统工程。 我们先来看一下淘淘商城的首页,如下图所示。 我们再来看看淘淘商城的系统架构图,我们目前只是完成了后台管理系统和商品服务,还有很多没有实现,淘淘商城首页的展示需要用到商城门户工程和内容服务工程。这节我们便学习一下商城门户的搭建。 我们新建一个taotao-portal-web工程,打包方式是war,依...原创 2018-07-13 10:17:48 · 383 阅读 · 0 评论 -
淘淘商城第二十三课(添加商品的实现)
上节课我们一起学习了富文本编辑器的使用,这节课我们一起学习下商品添加的实现。 在item-add.jsp当中,当点击提交按钮后,会触发submitForm方法,如下图所示。 在提交表单前需要校验输入的内容是否合法,如下图所示。 下面我们看下数据库中商品表的建表信息,可以看到价格定义的字段类型是long型,单位为分,之所以这样做是为了避免使用小数点,因为小数点使用起...原创 2018-07-04 15:23:10 · 331 阅读 · 0 评论 -
学习淘淘商城第二十五课(CMS内容管理系统表设计及内容工程搭建)
上节课我们一起学习了搭建前台显示系统taotao-portal-web,这节课我们一起学习下前台显示内容的表设计。 我们以京东的首页为例,如下图所示,可以看到内容显示是分组显示的,广告位轮播图是一组,轮播图下面那两张图片是一组,右边的"促销"、"公告"是一组,但是它与轮播图又有所不同,不同之处在于它下面分了两个小组,每个小组下面有标题列表,每个标题都是一个链接,点击"促销"这组的任...原创 2018-07-17 11:44:47 · 481 阅读 · 0 评论 -
淘淘商城第二十二课(KindEditor富文本编辑器的使用)
上节课我们一起学习了怎样解决KindEditor富文本编辑器上传图片的浏览器兼容性问题,这节课我们一起学习下富文本编辑器与淘淘商城相结合的使用方法。 我们在发表一篇博客或者微博的时候,都会用到富文本编辑器,因为它提供的功能非常丰富,不仅能写文字,还能设置字体大小、颜色,还能插入图片、音频、视频等等。现在流行的编辑器有三个,第一个是KindEditor,这是国内人写的;第二个是百度编辑器,...原创 2018-07-04 10:55:43 · 342 阅读 · 0 评论 -
学习淘淘商城第三十一课(Redis集群搭建)
首先说一下,为何要搭建Redis集群。Redis是在内存中保存数据,而我们的电脑一般内存都不大,这也就意味着Redis不适合存储大数据。适合存储大数据的是Hadoop生态系统的HBase或者是MogoDB。Redis更适合处理高并发,一台设备的存储能力是很有限的,但是多台设备协同合作,就可以让内存增大很多倍,这就需要用到集群。 我们来看一下集群图,如下图所示。可以看到Redis集...原创 2018-08-01 23:57:37 · 277 阅读 · 0 评论 -
学习淘淘商城第三十二课(Redis集群测试)
上节课我们一起学习了怎样搭建一个六台设备的Redis集群,这节我们一起学习下如何测试集群。 首先启动Redis集群使用命令/usr/local/redis/bin/redis-trib.rb create --replicas 1 192.168.117.101:6379 192.168.117.102:6379 192.168.117.103:6379 192.168.117...原创 2018-08-02 00:24:52 · 296 阅读 · 0 评论 -
学习淘淘商城第三十五课(Solr的安装)
Solr是一个独立的企业级搜索应用服务器,它对外提供类似于Web-service的API接口。用户可以通过http请求,向搜索引擎服务器提交一定格式的XML文件,生成索引;也可以通过Http Get操作提出查找请求,并得到XML格式的返回结果。 Solr是一个高性能,采用Java5开发,基于Lucene的全文搜索服务器。同时对其进行了扩展,提供了比Lucene更为丰富的查询语言,同...原创 2018-08-07 10:09:53 · 220 阅读 · 0 评论 -
学习淘淘商城第三十六课(Solr集群搭建)
关于SolrCloud的基本知识,大家可以参考http://www.cnblogs.com/saratearing/p/5690476.html这篇博客进行学习。 下面我们来搭建SolrCloud集群,先来看下我们要搭建的集群图,如下图所示,可以看到Solr集群由三台注册中心(Zookeeper集群)和四台部署有Solr的设备组成。我们采用七台虚拟机来搭建Solr集群。 ...原创 2018-08-08 16:34:00 · 264 阅读 · 0 评论 -
学习淘淘商城第四十二课(导入商品数据-service层)
上节课我们一起学习了使用Solrj来操作索引库。这节我们一起来学习下Service层代码编写。 首先,在taotao-search-interface工程新建一个接口,如下图所示。 接着在taotao-search-service工程新建实现类SearchItemServiceImpl,实现SearchItemService接口。如下图所示。 ...原创 2018-08-08 11:00:22 · 285 阅读 · 0 评论 -
学习淘淘商城第四十一课(使用solrj来测试索引库)
我们使用solrj来操作solr服务,一般习惯先建一个测试类测试下增删改查方法是否好使,这样可以大大减少出错概率,提升开发效率。 我们的taotao-search-service工程还没有添加对solrj的依赖,因此需要先添加对solrj的依赖,在taotao-search-service工程的pom.xml文件当中添加如下依赖(之所以不用写版本号是因为在taotao-parent...原创 2018-08-08 10:11:06 · 210 阅读 · 0 评论 -
学习淘淘商城第三十四课(在业务逻辑中添加缓存)
上节课我们一起学习了如何用Spring容器来管理Redis单机版和集群版实现。这节我们来学习下在业务中添加缓存。 Redis添加缓存有两种方式,一种是set,另一种是hset,这两种方式的不同之处是hset可以对key进行分类,查询的时候先查询类,然后再在该类下查询某个key的值,这样的效率肯定要比set方式存储的数据查询效率高。因此我们选择hset的方式来存储缓存信息。 ...原创 2018-08-03 13:25:53 · 181 阅读 · 0 评论 -
学习淘淘商城第四十课(导入商品数据到索引库-dao层)
我们先来看看我们要导入数据的sql语句并且查看查询结果。 针对来自三张表的数据,我们最好使用一个pojo来接收这些数据,而且这个pojo还会作为查询结果的载体,因此服务层和表现层都会用到这个pojo,我们最好把它放到taotao-common工程的pojo目录下。我们新建SearchItem类(记得要实现序列化,因为要进行网络传输)。如下图所示。 privat...原创 2018-08-07 18:07:46 · 203 阅读 · 0 评论 -
学习淘淘商城第三十九课(搜索系统搭建)
上节课我们一起搭建了搜索服务工程,这节我们一起搭建搜索系统。第一步:File---->New----->Maven Project,可以看到如下图所示的弹出框,勾选上最上面的复选框,然后点击Next。第二步:在下图中输入相应的信息,打包方式选择"war",然后点击"Finish"。第三步:配置taotao-search-web工程的pom.xml文件,我们参考tao...原创 2018-08-07 17:37:00 · 155 阅读 · 0 评论 -
学习淘淘商城第三十八课(搜索服务搭建)
首先,我们还是要先看下淘淘商城的整体架构图,如下图所示,我们已经写完了后台管理系统、商品服务、商城门户、内容服务,现在需要搭建的是搜索系统和搜索服务。 下面我们便来搭建搜索服务工程第一步:点击File------->New------->Maven Project,会看到如下图所示对话框,勾选最上面那个复选框,然后点击"Next",如下图所示。第二步:在...原创 2018-08-07 16:57:27 · 212 阅读 · 0 评论 -
学习淘淘商城第三十七课(中文分析器IK-Analyzer的使用)
在Solr中默认是没有中文分析器的,需要手工配置,配置一个FieldType,在FieldType中指定中文分析器。另外,Solr中的字段必须先定义,后使用。 下面分步骤进行操作第一步:将IK-Analyzer的压缩包上传到solr服务器上。如下所示。[root@itcast07 ~]# cd /usr/local/software/[root@itcast07 sof...原创 2018-08-07 11:14:17 · 293 阅读 · 0 评论 -
学习淘淘商城第三十三课(使用Spring来管理Redis单机版和集群版)
我们知道Jedis在处理Redis的单机版和集群版时是完全不同的,有可能在开发的时候使用的是单机版,但是当项目上线后使用的则是集群版。这就需要能够方便的在单机版和集群版之间进行切换。我们的做法便是定义一个Jedis接口类,然后新建两个实现类来分别处理单机版和集群版,最后在Spring容器中进行配置管理即可。 首先在taotao-content-interface工程下新建一个包co...原创 2018-08-02 18:04:49 · 191 阅读 · 0 评论 -
淘淘商城第二十一课(解决KindEditor上传图片不兼容的问题)
在上节课我们实现了图片上传功能,但是有个问题,那就是对浏览器兼容性不够,因为Map类型的返回值在火狐浏览器无法识别,Controller代码如下图所示。 为了解决这个兼容问题,我们需要修改下返回值类型,将Map类型变为String类型(也就是json串)。我们至少可以使用以下两种方案来解决第一种:使用fastjson来实现转换 在taoao-common工程的mave...原创 2018-07-04 09:38:15 · 376 阅读 · 0 评论 -
淘淘商城第十三课(引用dubbo服务)
上节课我们一起学习了如何发布一个dubbo服务,这节我们一起学习下web工程如何引用dubbo发布的服务。 首先我们在web工程也需要添加dubbo的依赖,由于我们在taotao-manager-service工程已经添加了dubbo的依赖并且解决了包冲突的问题,那么我们便可以直接把taotao-manager-service工程下的关于dubbo的依赖部分拷贝过来,拷贝的内容如下...原创 2018-06-28 14:57:36 · 267 阅读 · 0 评论 -
淘淘商城第六课(向SVN服务器上传和下载代码)
上节课我们一起学习了怎样安装SVN服务器并且新建了一个空的仓库"taotao-javaee",如下图所示。 下面我们一起学习下这三个文件夹分别代表什么意思。 "branches"文件夹的意思是分支,举个例子,我们在开发项目时往往会分版本,比如1.0、2.0之类的,当我们开发完1.0版本之后,我们往往就要拉一个分支出来,这时主线开发2.0版本,但这时1.0版本在上线之后肯定会...转载 2018-07-04 08:32:17 · 332 阅读 · 0 评论 -
淘淘商城第五课(安装SVN服务器)
上节课我们一起学习了怎样用tomcat插件启动聚合工程,这节课我们一起学习安装SVN服务器。 相信大家对SVN都是非常熟悉,大家在工作中经常用用到SVN来管理我们的代码,但是我相信有很多人是没有搭建过SVN服务器的,平时只是使用罢了,既然我们的淘淘商城是综合性的项目,那么肯定有必要学一下怎样安装SVN服务器以及怎样上传和下载代码。 下面说一下怎样安装SVN服务器。第一步:我...原创 2018-06-27 14:58:12 · 376 阅读 · 0 评论 -
淘淘商城第四课(使用tomcat插件启动聚合工程)
上节课我们一起学习了如何使用tomcat插件来启动web工程,这节课我们一起学习如何用tomcat插件启动聚合工程。 我们淘淘商城的taotao-manager工程是个聚合工程,它下面有taotao-manager-dao、taotao-manager-pojo、taotao-manager-interface、taotao-manager-service四个子工程。其中taotao...原创 2018-06-27 14:57:43 · 379 阅读 · 0 评论 -
淘淘商城第三课(使用tomcat插件启动web工程)
上节课我们一起学习了怎样搭建maven工程,这节课我们一起学习怎样用tomcat插件来启动web工程(需要先学习第二课的内容,地址:https://blog.csdn.net/anaitudou/article/details/80813137。 我们在taotao-parent工程下的pom.xml文件下定义了tomcat的插件配置,如下所示。而我们的web工程依赖了taotao-...原创 2018-07-04 08:31:52 · 446 阅读 · 0 评论 -
淘淘商城第十课(SSM框架整合之springmvc整合及父子容器的关系)
上节课我们一起学习了整合service层,这节我们一起学习下怎样整合web层即springmvc。 我们在taotao-manager-web工程的src/main/resource目录下新建一个spring文件夹,在该目录下新建一个springmvc.xml文件,如下图所示。 springmvc.xml文件的内容如下:[html] view plain copy<...原创 2018-06-27 14:59:02 · 383 阅读 · 2 评论 -
淘淘商城第九课(SSM框架整合之Service层整合)
上节课我们一起学习了Dao层的整合,这节课我们一起来学习下Service层整合。 我们需要在src/main/resources/spring目录下新建一个applicationContext-service.xml文件,如下图所示。 applicationContext-service.xml文件的内容如下所示,可以看到我们配置包扫描器,扫描所有带@Service注...原创 2018-06-27 14:58:52 · 388 阅读 · 0 评论 -
学习淘淘商城第二课(搭建Maven工程)
上节课我们一起学习了淘淘商城的架构,这节课我们一起学习如何搭建Maven工程,关于Maven的好处,网上有很多,这里就不啰嗦了。 Maven常见的打包方式有:jar、war、pom pom工程一般都是父工程,管理jar包的版本、maven插件的版本、统一的依赖管理,是一个聚合工程。 jar工程,很显然就是pom工程的子工程,由pom工程来管理。...原创 2018-06-27 14:57:20 · 819 阅读 · 1 评论 -
java 读写文件
该程序实现按行读取某文件然后抽取符合要求的数据写入另外一个文件中package org.springboot.sample;import java.io.BufferedWriter;import java.io.File;import java.io.FileOutputStream;import java.io.FileReader;import java.io.IOExcepti...原创 2018-06-06 11:06:40 · 95 阅读 · 0 评论 -
淘淘商城第七课(SSM框架整合之逆向工程)
上节课我们一起学习了使用SVN来上传和下载代码,这节课我们一起学习SSM框架整合。 SSM代表Spring+SpringMVC+Mybatis,我们先来使用Mybatis生成逆向工程。 首先我们需要安装mysql5.5以上版本,我本地的mysql版本是5.7,如下图所示。 安装了mysql,我们再安装一个mysql管理工具,我安装的是"Navicat...原创 2018-06-27 14:58:27 · 377 阅读 · 0 评论 -
淘淘商城第八课(SSM框架整合之Dao层整合)
上节课我们一起学习了如何使用逆向工程,以及如何将逆向工程生成的代码合并到我们的工程当中,这节课我们学习一下怎样整合我们的Dao层。 我们在一个Spring项目中往往有三层即Dao层、Service层和Web层。我们的taotao-manager工程包含了Dao层和Service层,Web层是一个独立的war工程,因此我们需要将他们整合到一起。Dao层的整合也是框架的整合,我们使用的是S...原创 2018-06-27 14:58:41 · 399 阅读 · 0 评论 -
淘淘商城第十一课(dubbo入门及单机版zookeeper安装)
由于淘淘商城是基于soa的架构,表现层和服务层是不同的工程。所以要实现商品列表查询需要两个系统之间进行通信。 如何实现远程通信? 1.WebService:效率不高,基于soap协议。在项目中不推荐使用。 2.使用restful形式的服务:http+json。很多项目中应用。但是有个缺点是,如果服务太多,服务之间的调用关系就非常混乱,需要治疗服务。 ...原创 2018-06-27 11:13:09 · 474 阅读 · 0 评论 -
淘淘商城第十六课(展示后台管理页面)
前面做了那么多铺垫,现在我们开始着手处理后台管理系统。 首先,大家需要下载淘淘商城的静态资源文件,大家可以到:https://download.csdn.net/download/anaitudou/10505519这个地址进行下载,下载后解压,解压后可以看到有css、js、jsp三个文件夹。我们把这三个文件夹分别放到taotao-manager-web工程的src/main/web...原创 2018-06-28 14:48:59 · 1040 阅读 · 0 评论 -
淘淘商城第二十课(实现图片上传功能)
上节课我们一起学习了搭建一个单机版的FastDFS图片服务器以及使用FastDFS-Client进行简单的文件上传操作测试,这节我们一起学习项目中添加商品时上传图片的问题,目前上传图片还没有实现,如下图所示。 我们看下list-add.jsp页面,可以看到上传图片触发方法picFileUpload是通过class来处理的,在<a>标签的下方是一个隐藏域,是用来接收上传到图片服...原创 2018-07-03 18:09:19 · 600 阅读 · 0 评论 -
学习淘淘商城学习目录导航
导航学习淘淘商城第一课学习淘淘商城第二课(搭建Maven工程)淘淘商城第三课(使用tomcat插件启动web工程)淘淘商城第四课(使用tomcat插件启动聚合工程)淘淘商城第五课(安装SVN服务器)淘淘商城第六课(向SVN服务器上传和下载代码)淘淘商城第七课(SSM框架整合之逆向工程)淘淘商城第八课(SSM框架整合之Dao层整合)淘淘商城第九课(SSM框架整合之...原创 2018-07-03 16:37:50 · 1878 阅读 · 0 评论 -
淘淘商城第十九课(搭建单机版FastDFS图片服务器以及使用FastDFS-Client客户端进行简单测试)
上节课我们一起学习了商品分类的实现,这节课我们一起学习下图片上传。 我们知道,对于传统项目来说,所有的模块都在一个项目中开发,包括所有静态资源文件比如图片等,都存储在这一个tomcat服务器上。如果访问量小的话,这样做问题倒不大,但是对于互联网项目来说,用户访问量很大,这样一个tomcat服务是远远不能满足业务需求的。这就需要部署tomcat集群,有集群就需要用到负载均衡,我们一般都...原创 2018-07-03 16:35:49 · 839 阅读 · 0 评论 -
淘淘商城第十八课(商品分类选择的实现)
上节课我们一起学习了怎样实现展示商品列表的功能,这节课我们一起学习下怎样实现商品分类的选择。 首先,当然还是启动我们的zookeeper注册中心,然后启动taotao-manager工程和taotao-manager-web工程,启动后我们点击"新增商品",然后点击"选择类目",打开的对话框是空白的,没有任何信息。这是因为我们还没有实现该界面的展示。 我们还是从index...原创 2018-07-02 18:31:22 · 903 阅读 · 0 评论