自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(27)
  • 资源 (5)
  • 收藏
  • 关注

原创 linux下安装以及卸载mysql数据库的那些事er

系统:centos6.8mysql:5.1.73安装方式:yum卸载:在执行安装操作之前,清先确保你的机器里没有mysql服务。①:执行以下命令查看系统中已经安装的mysql:rpm -qa |grep -i mysql②:删除yum remove 系统显示已安装的mysql③:删除系统中的mysql文件夹执行以下命令查询mysql文件夹:f...

2019-07-18 13:32:18 173

原创 java代码与Restful设计风格

使用okhttp3,代码如下

2019-07-15 17:57:23 310

原创 SpringSecurity学习之路12-完成短信验证码的开发

目的:在验证码的重构完成之后,已经实现了发送验证码的功能,接下来要做的就是将短信验证码登录的逻辑添加就如程序里。使用户可以以账号、密码或手机号加验证码的方式登录。下图是短信验证码的实现逻辑:当用户以用户名+密码的形式登录时,经过UsernamepasswordAuthenticationFilter,将用户信息封装为一个token。然后AuthenticationManager是会根据...

2019-06-16 15:02:04 522

原创 SpringSecurity学习之路11-实现记住我的功能

目的:用户勾选记住我之后,一段时间内免登陆。{都是接着之前的代码,一点点加、重构代码的,不会在这里详细叙述之前提到的东西,以后的篇幅也是这样}下图是关于SpringSecurity的原理介绍:当登录成功之后,RememberService会将Token存储进浏览器Cookie,再将它写入进数据库里。当再次进行登录操作时,便会拿着浏览器中的token去数据库中查找,查找成功之后便会调...

2019-06-10 18:07:03 187

原创 SpringSecurity学习之路10-图片验证码与手机验证码的重构

为了达到可重用、可配置的目的,使用到了自定义properties类,可以读取在application.properties中的配置信息。这些配置的优先级是:请求参数配置 > application.properties配置 > 自定义properties类配置。自定义properties的方法如下:省略get/set方法注意:以prefix的imooc.securit...

2019-06-10 11:51:48 240

原创 SpringSecurity学习之路9-实现验证码功能

步骤:定义一个封装验证码信息的类,ImageCode。写一个生成验证码的接口,利用随机数生成验证码,并将生成的验证码信息存储进session。springsecurity是由一系列filter接口来实现的,自定义一个filter继承OncePerRequestFilter,实现校验验证码的逻辑功能。将这个自定义的filter添加进入springsecurity链中。Ima...

2019-06-10 10:17:54 177

原创 SpringSecurity学习之路8-重构用户登录

目的:在没有提供自定义登录页面的情况下,系统提供默认的登录页面。①:application.properties 里写明 默认的登录页面在以下路径中新建三个类:先看SecurityProperties类,代码如下:它是一个properties的配置类,后面主要是通过它来调用值。prefix的值是根据application.properties里定义的名字来的,是一个前...

2019-05-30 18:02:43 368 2

原创 SpringSecurity学习之路6-基本原理{基于表单的验证}

在之前的所有程序中,只要知道了访问地址就可以对其进行访问。接下来使用SpringSecurity来为程序添加保护。主要学习到的有:身份认证(你是谁)、授权(你能做什么)和攻击保护(防止伪造身份)。先看看SpringSecurity的基本原理:通过Filter过滤器链来实现安全验证,执行逻辑如下图:首先会判断请求体中是否包含用户名、密码信息,如果有那就会被第一个绿色Filter处理。否则...

2019-05-20 10:36:50 117

原创 BCryptPasswordEncoder加密、验证策略

通过查看源码,了解PasswordEncoder加密以及验证密码(数据库存储的加密密码与用户输入的密码比较)的流程、方式。加密:BCryptPasswordEncoder类有三个构造方法,影响了盐的生成,如果在生成BCryptPasswordEncoder对象的时候没有指定任何参数(或只指定了一个参数),BCrypt会提供默认值,最终都会调用BCrypt.gensalt(streng...

2019-05-15 14:50:01 35183 2

原创 SpringSecurity学习之路7-自定义用户认证逻辑

在上文中,每次登陆的密码都是由系统随机生成的,这不符合实际应用,用户输入账号密码后应从数据库或其他存储中查找是否匹配。在SpringSecurity中,通过实现UserDetailsService接口的loadUserByUsername()方法来完成用户登录的自定义验证。下面首先是自定义用户身份校验逻辑:loadUserByUsername()方法的返回值类型是UserDetai...

2019-05-14 16:27:34 515

原创 SpringMVC下文件的上传与下载

首先要在pom.xml中加入以下依赖:利用commons组件来实现文件的上传与下载工作。下面是关于文件上传的代码:下面是关于文件下载的代码:至此关于文件的上传与下载介绍完毕。...

2019-05-14 09:48:16 86

原创 SpringSecurity学习之路5-使用WireMock伪造服务接口

在前后端分离下,在上一节中我们使用了Swagger来生成html文档。这些文档中包含了关于控制器、属性的介绍,以及对应的URL路径,前端只需要根据URL路径来进行访问。如果后端的开发还未完成,而前端需要调用接口,就可以使用WireMock来伪造服务。使用方法:首先下载jar包,步骤如下:执行第三步之后,运行第四步命令执行jar包。在命令末尾添加 --port 9999可以自定义Wi...

2019-05-13 10:38:27 207

原创 SpringSecurity学习之路4-利用多线程提高Restful服务性能

知识点一:使用Runnerable异步处理Restful服务知识点二:使用DeferredRestful异步处理Restful服务同步处理逻辑如下:假如要处理创建订单的请求,如上图所示,采用同步方式时,吞吐率无疑很低。异步处理逻辑如下:通过主线程调用副(子)线程的方式,能够提高系统的吞吐率。这种方式很直观,也很简单。实现代码如下:执行后控制台输出结果通过控...

2019-05-11 17:34:31 540

原创 Filter、Interceptor和Aspect

Filter:遵从J2EE规范,通过Request和Response获取请求体和返回体信息。主要方法有init()、destroy()和doFilter()。主要代码逻辑都写在doFilter()里。不能获取到处理URL请求的方法的信息。Interceptor:是Spring框架提供支持的。相比于Filter,它能获取处理URL请求的方法信息。如果被Interceptor...

2019-05-11 10:45:29 97

原创 SpringSecurity学习之路3-异常处理,APP与浏览器端的不同

SpringSecurity学习之路1SpringSecurity学习之路2-处理创建请求,数据校验本篇将会介绍到的有:SpringBoot关于异常处理的介绍,其中包括SpringBoot异常处理原理(浏览器与APP的不同)、自定义异常处理方式。看以下代码,我直接抛出了一个运行时异常:启动之后,通过浏览器访问时会显示以下错误信息:通过APP访问该地址时(Restlet...

2019-05-02 17:28:13 674

原创 SpringSecurity学习之路2-处理创建请求,数据校验

SpringSecurity学习之路1在本篇中将会介绍到的内容有:@RequestBody注解、日期类型参数的处理、@Valid注解和BindingResult。先看@RequestBody注解的使用。场景:前后端分离,后端使用Restful风格进行开发。例子,创建用户请求,并期望返回用户ID信息。下面是Controller代码:测试代码如下:PS:如果这段测试代码你看不...

2019-05-01 20:41:07 213

原创 SpringSecurity学习之路1

项目结构:自上而下分别为:①父模块,主要负责项目管理、版本控制;②后期为springSecurity加入手机验证登录等功能时使用;③面向浏览器所做的配置,如集群中session的处理;④security核心文件都在这里存放;⑤具体业务。引入了③的配置,刚开始学,先从面向浏览器③开始。在引入了相关依赖和插件之后,在⑤中写一个hello spring security...

2019-04-30 17:29:37 678

原创 EqualsBuilder与HashCodeBuilder

两个类都是在import org.apache.commons.lang3.builder包下,可以帮助我们很好的重写equals与hashCode方法。先写个简单的实体类:package kevin.bean;import org.apache.commons.lang3.builder.EqualsBuilder;import org.apache.commons.l...

2019-04-04 15:36:54 253 2

转载 dubbo service、reference配置文件

dubbo 和spring一块使用,service是把已有的service服务发布成dubbo服务,即通过ref引用已存在的service服务(即已存在的spring bean对象)reference是通过引用外部提供的dubbo服务,生成可供使用的service服务的,id属性自定义spring bean标识 供消费客户端服务使用的dubbo服务端和客户端的这两个属性定义没有相关性,通过接口...

2019-03-14 13:33:24 3103

原创 Jquery中json的使用

方式一①:在pom.xml中加入依赖: <!-- 映射JSON --> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifac...

2019-03-12 10:54:00 1568

原创 tomcat虚拟路径

昨天在为毕设加一个头像小功能,因为涉及到图片的上传、保存与读取问题,而用户上传的图片又不可能保存在工程文件夹里,所以就由此牵出了使用不同开发工具配置tomcat虚拟路径的问题。为什么要配置虚拟路径 这是我工程目录:D:\IJWorkspace\MavenStudy 这是我存放头像文件的目录:F:\touxiang在代码里写<img src="F:\touxiang\*.jpg"&g...

2019-03-06 10:10:52 361

原创 zookeeper与dubbo的关系

dubbo建议使用zookeeper作为服务的注册中心。zookeeper的作用zookeeper用来注册服务和进行负载均衡,哪一个服务由哪一个机器来提供必需让调用者知道,简单来说就是ip地址和服务名称的对应关系。当然也可以 通过硬编码的方式把这种对应关系在调用方业务代码中实现,但是如果提供服务的机器挂掉,调用者无法知晓,如果不更改代码,会继续请求挂掉的机器提供服务。zookeeper通过心...

2019-03-04 16:43:50 332

转载 什么时候使用CountDownLatch

正如每个Java文档所描述的那样,CountDownLatch是一个同步工具类,它允许一个或多个线程一直等待,直到其他线程的操作执行完后再执行。在Java并发中,countdownlatch的概念是一个常见的面试题,所以一定要确保你很好的理解了它。在这篇文章中,我将会涉及到在Java并发编 程中跟CountDownLatch相关的以下几点:CountDownLatch是什么?Count...

2019-03-04 15:44:58 279

原创 zookeeper原生API操作

/** * Zookeeper 学习 * watcher(事件监听器) * @author Kevin */public class ZookeeperBase { /** * zookeeper地址 */ static final String CONNECT_ADDR = "192.168.73.128:2181,192.168.73.131:...

2019-03-04 14:48:27 308

原创 zookeeper_ZKClient

操作zookeeper原生API过于繁琐。原生API: 不能递归创建:如若不存在“/local”,那么在直接创建"/local/tmp"则会报错。 不能递归删除:如若存在“/local/tmp”,那么在做删除"/local"时就会报错。 watch的监听是一次性的,只能手动将其设置为true才可以。在使用ZKClient在创建节点的时候,如若是递归创建,则不能为节点赋值。非递归创建:...

2019-03-04 14:43:14 258

原创 zookeeper初识

ZooKeeper 的设计目标是将那些复杂且容易出错的分布式一致性服务封装起来,构成一个高效可靠的原语集,并以一系列简单易用的接口提供给用户使用。ZooKeeper 是一个典型的分布式数据一致性解决方案,分布式应用程序可以基于 ZooKeeper 实现诸如数据发布/订阅、负载均衡、命名服务、分布式协调/通知、集群管理、Master 选举、分布式锁和分布式队列等功能。ZooKeeper 一个最常...

2019-03-04 14:15:49 296

原创 dubbo初识

为什么用dubbo 是一款高性能、轻量级的开源Java RPC框架,它提供了三大核心能力:面向接口的远程方法调用,智能容错和负载均衡,以及服务自动注册和发现。 **1,远程通讯:** 提供对多种基于长连接的NIO(java non-blocking IO,java非阻塞式IO)框架抽象封装,包括多种线程模型,序列化,以及“请求-响应”模式的信息交换方式。 **2,集群容错** 提供基于接...

2019-03-04 13:09:04 378

Java笔试题总结(附答案,适合初中级)

内含SQL题、编程题、简答题、判断题等多种笔试题型,附带答案!!!适合Java初中级使用。希望可以对你有所帮助。

2020-04-24

IT简历模板(应届、社招、2、3、5)

包含大量的IT简历模板,包括有应届生简历、社招简历模板,还有2、3、5年等简历模板。希望对你有所帮助。

2020-04-24

jd-gui-windows-1.4.0.zip

这是一款轻量级的java反编译工具。菜单栏清晰,方便。适用于windows系统。

2019-07-10

网上商城----超全面的后台管理页面模板

包含日历组件,显示农历、公历与节气信息,可直接正常使用。页面丰富、全面,作为网上商城的管理模板来说,已经是很不错了!

2019-03-04

java-前端页面模板

本模板未使用任何前端框架,简单易上手。简单修改后即可满足基本需求。登录、查询展示等功能页面都有。

2019-03-04

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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