自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

转载 Java泛型

对java的泛型特性的了解仅限于表面的浅浅一层,直到在学习设计模式时发现有不了解的用法,才想起详细的记录一下。 本文参考java 泛型详解、Java中的泛型方法、 java泛型详解 概述 泛型在java中有很重要的地位,在面向对象编程及各种设计模式中有非常广泛的应用。 什么是泛型?为什么要使用...

2019-10-11 23:21:45 32 0

转载 redis分布式锁实现秒杀

基于redis分布式锁实现“秒杀” 最近在项目中遇到了类似“秒杀”的业务场景,在本篇博客中,我将用一个非常简单的demo,阐述实现所谓“秒杀”的基本思路。 业务场景 所谓秒杀,从业务角度看,是短时间内多个用户“争抢”资源,这里的资源在大部分秒杀场景里是商品;将业务抽象,技术角度看,秒杀就是多个线程...

2019-10-10 12:16:19 48 0

原创 tomcat热部署、系统部署演示

tomcat热部署 热部署方法一: 我们要登录tomcat管理页面,但需要进行一些配置,那么怎么配置呢?tomcat首页可以给我们一些提示,我们点击tomcat首页的"Manager App"。 这时会弹出一个对话框,让我们输入用户名和密码,我们当然这时不知道,于是我们点击&...

2019-09-04 23:23:04 78 0

原创 定时任务-Quartz、Mycat简单入门、Linux下安装MySQL、Linux下安装MyCAT、Mycat的数据库分片、Mycat读写分离

表现层:页面 后台管理系统、商城门户、搜索系统、订单系统、商品详情系统、购物车系统 中间件:dubbo 系统之间的通信,服务的统计,rpc协议远程过程调用 同步通信 服务层:实现具体的业务逻辑 商品服务、内容服务、单点登录服务、订单服务、搜索服务(solr服务solrj httpclient 从索...

2019-09-04 22:49:45 190 0

原创 订单系统服务端和客户端工程搭建、利用拦截器实现登录功能及订单确认页面展示、生成订单

订单系统服务端和客户端工程搭建 首先我们还是先看一眼淘淘商城的系统架构,如下图所示,可以看到订单模块是单独的模块,有服务端还有客户端,服务端负责存储订单,客户端负责展示订单。 下面我们便来搭建订单服务,点击File---->New----->Other…如下图所示。 选择"M...

2019-09-04 16:40:32 393 0

原创 使用拦截器实现用户登录

当用户下订单时需要用户登录,使用拦截器实现用户登录。登录成功后跳转到用户要访问的页面。 门户系统整合sso 在门户系统点击登录连接跳转到登录页面。登录成功后,跳转到门户系统的首页,在门户系统中需要从cookie中 把token取出来。所以必须在登录成功后把token写入cookie。并且cooki...

2019-09-04 11:35:46 255 0

原创 购物车实现分析及工程搭建、商品详情页面对加入购物车进行改造、添加购物车、展示购物车列表、修改购物车商品数量、删除购物车商品及购物车总结

购物车实现分析及工程搭建 关于购物车模块,京东和淘宝并不一样,京东允许用户在没有登录的情况下就使用购物车,而且加到购物车里面的商品可以一直保存着(其实是放到了Cookie当中,如果清空了Cookie也就清空购物车了)。而淘宝则是必须先登录才能将商品添加到购物车当中,就用户体验来说,京东的购物车模块...

2019-09-04 10:34:24 439 0

原创 js跨域分析、jsonp的原理及两种实现方式

js跨域分析 上节课我们一起学习了登录,登录的时候我们把token写到了cookie当中,登录成功后,我们查看Cookie信息,如下图所示,发现是有token信息的。 我们回到登录页面,可以看到token信息。如下图所示。可以看到与淘淘商城首页的token信息是完全一致的。 不同的端口就已经属于跨...

2019-09-03 23:51:35 49 0

原创 单点登录之通过token获取用户信息、单点登录之安全退出、单点登录注册页面展示、用户注册页面实现、用户登录的实现

单点登录之通过token获取用户信息 首先还是看接口文档关于通过token获取用户信息的说明 看了说明文档我们便知道该怎么做了,在taotao-sso-interface工程的UserService接口类中添加一个接口 下面我们到UserServiceImpl类中实现getUserByToken...

2019-09-03 22:26:39 684 0

原创 单点登录用户注册Service层、单点登录用户注册Controller层实现及测试、单点登录用户登录流程分析及用户登录Service层、单点登录用户登录Controller层及测试

单点登录用户注册–Service层 首先我们还是看关于单点登录手册中关于注册的说明,如下图所示。请求方式是POST类型,URL为我们明确指定好了,参数有四个,需要校验完合法性之后再提交。 下面我们先在taotao-sso-interface工程添加注册接口, 下面实现接口, UserServic...

2019-09-03 21:28:30 147 0

原创 SSO 系统分析、SSO工程搭建、单点登录接口文档分析及Service层接口开发并发布、单点登录检查数据是否可用-Controller层及测试

SSO 系统分析 一、什么是SSO系统? SSO英文全称Single Sign On,单点登录。SSO是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。它包括可以将这次主要的登录映射到其他应用中用于同一个用户的登录的机制。它是目前比较流行的企业业务整合的解决方案之一。 二、为...

2019-09-03 20:29:46 58 0

原创 LVS+Nginx负载均衡、LVS高可用环境搭建、安装Keepalived

上节课我们一起学习了LVS+Nginx负载均衡DR模式的环境搭建,这节我们一起学习下LVS四层+Nginx七层负载均衡环境的搭建和LVS高可用环境搭建。 LVS四层+Nginx七层负载均衡环境的搭建 需求:lvs采用DR模式基本上没有性能瓶颈,用户请求输入至lvs经过负载转发到后台服务上,通...

2019-09-03 17:26:32 102 0

原创 Nginx基础、学习nginx配置及举例使用端口或域名来区分不同的虚拟主机、nginx配置反向代理、nginx负载均衡、LVS+Nginx负载均衡

Nginx基础 域名访问系统 目前访问系统存在的问题 目前访问后台系统: http://localhost:8081/ 目前访问首页系统: http://localhost:8082/ 目前访问搜索结果页面: http://localhost:8085 在搜索结果页面search...

2019-09-03 13:00:36 85 0

原创 网页静态化-freemarker模板改造、网页静态化-业务逻辑及测试

网页静态化-freemarker模板改造 上节课我们一起学习了网页静态化的方案,这节课我们一起学习下freemarker模板改造。 我们需要把原来属于jsp下面的文件都改造成静态网页,把taotao-item-web工程下的jsp目录下的所有文件都放到ftl目录下,如下图所示。 先修改common...

2019-09-03 12:37:10 403 0

原创 freemarker入门、freemarker语法、spring与freemarker的整合、网页静态化方案分析

freemarker入门 上节课我们一起学习了如何在查询商品详情时添加缓存,这节课我们一起来学习下freemarker。 我们都知道,缓存可以提高查询性能,但是当用户访问量很大时,单纯依靠缓存已经不行了,为什么这么说呢?这是因为我们在访问商品详情的时候由于每款商品都不一样,因此每款商品的详情页都是...

2019-09-03 11:51:09 76 0

原创 查询商品详情添加缓存分析、商品详情缓存的实现、Mac下安装Redis及Redis Desktop Manager

查询商品详情添加缓存分析 上节课我们一起学习了商品详情展示,这节课我们一起学习下如何添加缓存。 因为查询商品详情涉及到查询数据库,当网站访问量很大时,查询商品详情都去查询数据库的话,数据库的压力是难以承受的,为了解决这个问题就要引入缓存。但是引入缓存又有个问题需要考虑,那就是缓存资源是非常有限的,...

2019-09-03 10:22:04 162 0

原创 搭建商品详情页面工程、实现商品详情页面展示

搭建商品详情页面工程 其实商品详情与搜索都是独立的工程,我们以京东为例,当我们搜索到某商品后,点击那个商品链接,进入商品详情页面时,可以在地址栏看到"item.jd.com",很明显不是search工程了,这是专门用来展示商品详情的工程。 我们也需要这么一个展示商品详情的工程,...

2019-09-02 22:11:33 255 0

原创 添加商品同步到索引库以及消息机制测试

我们在添加商品时需要与索引库进行同步,这样每添加一个商品索引库就多一个文档,这样做的好处是不用把数据库中的所有数据进行同步,大大提高了性能节约了时间。 我们要做的是当添加商品的时候发送activemq消息,至于发送什么类型的activemq消息则要根据实际应用场景来定,由于添加商品涉及到同步缓存...

2019-09-02 18:18:28 138 0

原创 为何引入ActiveMQ、ActiveMQ的安装、ActiveMQ发送queue消息和接收Queue消息、ActiveMQ发送topic消息和接收topic消息、ActiveMQ持久化Topic消息

为何引入ActiveMQ 我们在学习Solr索引的时候,每当添加一个商品后,都要把数据库中的数据全部重新导入到索引库,特别消耗性能和时间,这显然是我们所不能忍受的,这就需要优化我们的方案。最好是在商品添加的时候就单独将该商品同步到索引库,这样便简单快捷地实现了数据库与索引库的同步。 摆在我们面...

2019-09-02 18:05:01 115 0

原创 全局异常处理、使用JMail来发送邮件、Httpclient

全局异常处理 我们知道项目运行过程中肯定会出现一些问题,当出现异常的时候,我们往往在Controller层捕获并处理了,但这样做不利于我们统一管理。 我们这节课便来学习下全局异常处理器,让它来管理项目所有的异常。当请求过来时先经过前端控制器,前端控制器将请求交给Controller,Control...

2019-09-02 11:38:04 464 0

原创 首页跳转到搜索页面及搜索实现分析、使用SolrJ查询索引库、搜索服务Dao实现、搜索功能Service实现、商品搜索功能Controller实现、搜索功能测试、使用SolrJ管理Solr集群、切换到集

首页跳转到搜索页面及搜索实现分析 上节课我们一起学习了将数据从数据库导入到索引库,这节课我们一起学习下首页跳转到搜索页面。 我们要访问taotao-portal-web工程就要先启动redis服务(大家根据自己使用的情况启动,使用的是单机版就启动单机版服务器,使用的是集群就启动集群版服务器)。 启...

2019-09-01 12:18:04 165 0

原创 导入商品数据到索引库-dao层、使用solrj来测试索引库、导入商品数据-service层、实现从数据库导入数据到索引库

导入商品数据到索引库-dao层 我们先来看看我们要导入数据的sql语句并且查看查询结果。 select a.id,a.title,a.sell_point,a.price,a.image,b.name item_category_name,c.item_desc from tb_item...

2019-08-31 18:44:55 118 0

原创 搜索服务搭建、搜索系统搭建

首先,我们还是要先看下淘淘商城的整体架构图,如下图所示,我们已经写完了后台管理系统、商品服务、商城门户、内容服务,现在需要搭建的是搜索系统和搜索服务。 搜索服务搭建 可以参考taotao-manager创建。 Taotao-search(聚合工程pom) |–taotao-search-inte...

2019-08-31 13:11:06 103 0

原创 中文分析器IK-Analyzer的使用

中文分析器IK-Analyzer的使用 在Solr中默认是没有中文分析器的,需要手工配置,配置一个FieldType,在FieldType中指定中文分析器。另外,Solr中的字段必须先定义,后使用。 下面分步骤进行操作 第一步:将IK-Analyzer的压缩包上传到solr服务器上。如下所示。 [...

2019-08-30 14:16:31 318 0

原创 Solr的安装、SolrCloud初识、Solr集群搭建

Solr的安装 Solr是一个独立的企业级搜索应用服务器,它对外提供类似于Web-service的API接口。用户可以通过http请求,向搜索引擎服务器提交一定格式的XML文件,生成索引;也可以通过Http Get操作提出查找请求,并得到XML格式的返回结果。 Solr是一个高性能,采用Java5...

2019-08-30 13:35:35 92 0

原创 Redis的安装、Jedis的使用、Redis集群搭建、Redis集群测试、使用Spring来管理Redis单机版和集群版、在业务逻辑中添加缓存

Redis的安装 第一步:下载Redis安装版本 这里需要说明一点的是,新版的redis不够稳定,建议大家还是使用旧版本的redis,比如3.0.0版本。大家可以到http://download.csdn.net/detail/u012453843/9820041这个地址下载。 ...

2019-08-29 23:09:13 36 0

原创 门户系统的搭建、显示商城首页、内容管理系统的实现、首页轮播图展示实现

8.28~8.29 1、门户系统的搭建 2、显示商城首页 3、内容管理系统的实现 a) 内容分类管理 b) 内容管理 4、首页的轮播图展示实现 1、门户系统的搭建 门户属于前台系统 :面向广大的互联网网民。 后台系统:面向维护人员,入住的商家,使用。 我们目前只是完成了后台管理系统和商品服务,还有...

2019-08-29 21:00:14 300 0

原创 CentOS7设置静态IP、搭建单机版FastDFS图片服务器、使用FastDFS-Client客户端进行简单测试、实现图片上传、实现商品添加修改删除

CentOS7设置静态IP而且还可以上网 192.168.173.148 但是用mac的终端远程连接到CentOS的时候,由于家里和学校IP不同,虚拟机的IP也会变化,每次还要重新查看,并且之后配置集群什么的也会出现问题,所以需要CentOS设置为固定IP。如果虚拟机使用桥接的方式,那么很多与...

2019-08-27 12:30:31 395 0

转载 牛客网Java面试题

Java开发校招面试考点汇总(附面试题和答案) 牛妹 牛客网 7月17日 Java后台开发面试考点汇总 以下不作为Java学习路径,只是汇总的校招Java后台开发面试考点(因为还有笔试考点,后面结合在一起给大家学习路径),后续会为大家更新10w+字数的Java校招面试题库,还有其他岗位的相关题...

2019-08-24 08:50:15 269 0

原创 商品后台页面整合显示、商品列表展示功能EasyUIDataGridjson分页功能PageHelper

第二天的内容主要是四个部分: 1)创建数据库;2)使用mybatis逆向工程生成代码;3)ssm框架整合;4)商品列表功能的实现。 1、创建数据库。 打开mysql之后,创建一个新的数据库,名称叫taotao。然后选中该数据库,执行教程给的sql文件,创建对应的表和数据。 2、使用mybatis逆...

2019-08-20 22:26:05 365 0

原创 IDEAmaven工程中使用MyBatis逆向工程生成实体类、接口、xml文件

在IDEAmaven工程中使用MyBatis逆向工程生成实体类、接口、xml文件。 步骤一:在工程中找到maven的配置文件pom.xml,在pulgins节点中增加如下内容,即增加maven中对mybatis-generator的插件支持。新增内容如下: <!--MyBatis自动生成...

2019-08-20 22:19:01 348 0

原创 Linux系统上安装tomcat、在Linux部署Dubbo监控中心monitor

Linux系统上安装tomcat 本文将详细讲解在Linux系统上如何安装tomcat,tomcat是没有32位和64位之分的。 下载tomcat官网地址:http://tomcat.apache.org/whichversion.html 首先我们肯定要先下载tomcat安装程序,我下载的是: ...

2019-08-20 22:17:38 295 0

原创 SSM总结

SSM Spring SpringMVC MyBatis Spring 核心思想:IOC控制反转;AOP面向切面 Spring默认是以单例形式管理Bean 介绍:Spring是一个开放源代码的设计层面框架,他解决的是业务逻辑层和其他各层的松耦合问题,因此它将面向接口的编程思想贯穿整个系统应用。Sp...

2019-08-19 22:49:40 69 0

原创 使用dubbo+zookeeper启动ssm项目

后台系统所用的技术 框架:Spring + SpringMVC + Mybatis+dubbo 前端:EasyUI 数据库:mysql 系统间通信 由于淘淘商城是基于SOA的架构,表现层和服务层是不同的工程。所以要实现商品列表查询需要两个系统之间进行通信。 如何实现远程通信? 1、使...

2019-08-18 23:39:10 495 0

原创 MySQL Workbench怎么把sql文件导入mysql

目录 1、打开MySQL Workbench并连接MySQL 2、新建数据库 3、导入SQL文件 4、执行SQL 5、刷新数据库,查看是否导入成功 其他: 步骤: 1、打开MySQL Workbench并连接MySQL 依次点击:电脑的左下角的开始,MySQL,MySQL Workbench 8....

2019-08-18 14:13:10 724 0

原创 Linux上安装jdk、zookeeper

Linux上安装jdk

2019-08-18 14:11:58 51 0

原创 Mac安装VMware fusion 11安装Linux CentOS 7

操作系统 操作系统是安装在PC上的第一个软件, 其他应用软件必须等待OS安装之后才能安装. Win(Windows): win95/97/xp/7/vista/10——付费 Mac(Macintosh): 免费升级 Linux: 内核+(系统软件+应用软件)——免费 开源 Linux操...

2019-08-18 13:48:34 1450 0

原创 在mac 下查看端口占用情况并杀死该进程

tomcat启动失败Port required by Tomcat v8.0 Server at localhost is already in use. The server may already be running in another process, or a system proc...

2019-08-14 18:22:14 39 0

原创 IntelliJ IDEA 构建maven多模块工程项目(实践淘淘商城第一课)

一 项目工程目录 二 创建父工程 三 创建公共工具类 三 创建开发项目 四 创建开发项目子模块 五 运行项目 鉴于最近学习一个分布式项目的开发,讲一下关于使用IntelliJ IDEA基于Maven创建多模块项目的实际开发,可能有不合适的地方,但是项目是可以跑通的,也请有不足之处,都提出来,一起讨...

2019-08-14 18:20:44 115 0

原创 Mac安装、配置并使用MySQL数据库

1、MySQL安装包下载 MySQL Community Server下载地址:http://dev.mysql.com/downloads/mysql/,下载完毕之后安装文件如下所示: 2、MySQL安装 双击安装文件进行安装,出现如下界面: 双击窗体中的“mysql-5.7.10-osx1...

2019-08-13 19:19:29 447 0

提示
确定要删除当前文章?
取消 删除