自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 收藏
  • 关注

原创 Java WebSocket 中获取httpSession详解

一:本文适用范围本文使用J2EE规范原生的WebSocket开发,适用于项目中WebSocket的使用比较少的情况,而Spring WebSocket封装的比较繁重,反而不适用于实际项目中的情况。自己在开发时就是由于项目的原因,不想用Spring-WebSocket,所有用了原生的,但是找了好多帖子试了好多方法都不行,甚至将原生的和Spring-WebSocket混用了也是不行,看源...

2019-05-14 17:44:17 4140 1

原创 Redis缓存穿透、缓存血崩、缓存击穿的原因和解决方案

缓存穿透指查询一条根本不存在的数据,缓存和持久层都不会命中。 通常出于容错考虑,数据库不存在的数据不会写入缓存,缓存穿透将导致每次查询不存在的数据,都会穿过缓存,去查询持久层,从而失去了缓存保护持久层的作用。下图为缓存穿透示意图:缓存穿透问题可能会使后端存储负载加大,由于很多后端持久层不具备高并发性,甚至可能造成后端存储宕机。通常可以在程序中统计总调用数、缓存层命中数、如果同一个Key的缓存命中率很低,可能就是出现了缓存穿透问题。一般造成缓存穿透的基本原因有两个。第一,自身业务代码或者数据出现问题

2021-06-11 11:34:34 734

原创 OAuth2.0的四种授权方式

简介OAuth2.0是一种授权机制,主要核心是向第三方应用颁发令牌(token)。有四种授权方式:授权码,隐藏式,密码式,凭证式。一. 授权码指先向第三方应用申请一个授权码,然后再用该码获取令牌。该方式最常用也最安全,适用于有后端的应用。授权码通过前端获取传送,后端获取存储令牌,并且与第三方的通信都通过后端完成。这样可以避免令牌泄露。典型应用:第三方登录1.应用A跳转到第三方应用B,B应用要求用户登录,并且询问是否授权给A应用,同意后,跳回A指定的回调地址,同时传回授权码。//A应用跳转B应用

2021-06-10 12:21:28 2924

原创 JWT token过期自动续期

前言越来越多的项目放弃使用传统的session方案,而使用token与后端交互(特别是App项目)。实现1.登录成功,后端返回access_token和refresh_token,客户端缓存这两种token;2.客户端使用access_token请求接口资源,若token过期,客户端需使用refresh_token请求刷新token接口刷新token;3.后端接收到refresh_token刷新请求后,验证refresh_token是否过期。若过期,拒绝刷新,客户端收到状态后,跳转到登录页;若

2021-06-10 09:45:13 1005

原创 java.lang.IllegalArgumentException:Result Maps collection dose not contain value for java.lang.Long

MyBatis报错如标题,说明是resultMap配置错了,resultMap应该配置自定义的结果集映射,如果直接配置类名,应该用resultType,如:resultType=“java.lang.Long”。注:MyBatis会检查所有Mapper.xml中的resultMap,而不止是当前查询的检查(这个很坑,自己明明昨天测试好的,今天出问题了,找半天,结果发现是别人提交的没测试好的代码的问题。最好测试好的代码再吧,不要盲目自信,我不愿意坑别人,也不喜欢别人坑我)...

2021-05-17 10:57:01 487 1

原创 SpringCloud Feign 传参问题及传输Date类型参数的时差

1.多参数表单类型传输 @PostMapping("/service/system/advertiser/save") Response<Boolean> saveAdvertiser(@RequestParam("username") String username, @RequestParam(...

2018-04-09 16:47:09 12457

原创 Java使用Spring的JavaMailSenderImpl发送Email

spring-context.xml配置 <bean id="mailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl"> <!-- 发送服务器,根据当前使用的邮件服务商决定 --> <property name="host" value="smtp.exmail.qq.com

2018-01-11 17:30:00 2861

原创 com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure 错误

com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failureThe last packet successfully received from the server was 3 milliseconds ago.  The last packet sent successful

2018-01-11 16:46:42 398

原创 Jedis 实现多条件查询

封装的Redis操作的工具类这里面存取Redis的key和value全部都先序列化了的public class DefaultJedisPoolClient { private static JedisPool pool = null; //封装的序列化接口 private ISerializer serializer; public Set<String> sinte

2017-11-17 17:22:12 2740

原创 npm安装包失败的解决

1.安装淘宝镜像npm install -g cnpm --registry=https://registry.npm.taobao.org2.直接配置npm的路径npm config set registry https://registry.npm.taobao.org*这种做法可以在任何地方使用npm安装包的时候都好使。

2017-11-13 14:13:24 2016

原创 将JSON格式字符串转成对象、数组、取值等(注意事项)

将JSON格式字符串转成对象、数组、取值等将前端给我们传的JSON格式的字符串解析,得到我们想要的数据 例:String data = "[{\"name\":\"认证测试\",\"data\":\"{\"smsConfigId\":\"1\",\"idCode\":\"ceshiSms\",\"smsMsg\":\"您的验证码为:#{code}\"}\",\"category\":\"1\"},

2017-10-19 11:33:29 2354

原创 Html静态模拟登陆过程中遇到的问题

1.传值的问题:通过URL传值:两种方式(基本一样)1)location对象登陆页面:window.location = "register.html?uname="+uname+"&pwd="+pwd;2)window对象的open()方法,也是将URL传进去接收页面:  var url1 = window.location.href; var str = url1.

2017-06-10 17:10:21 386

原创 JAVA SE集合总结

一、集合的结构框架  1.线性集合Collection,所有线性集合需要实现Collection接口映射性集合Map,所有映射性集合需要实现Map接口Collection接口:List接口和Set接口List接口的实现类:ArrayList类,LinkedList类,Vector(Stack)Set接口的实现类:HashSet(Linke

2017-06-02 20:03:19 513

空空如也

空空如也

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

TA关注的人

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