Java开发之开源工具
在使用Java开发的时候,难免会用到别人写的若干的库,有些东西很小,但是很实用。
1.HttpClient
HttpClient主要用来进行http调用,简单方便,还能创建连接池,提高并发数和节约资源。在调用时,容易发生Read time out 异常。捕获方式如下:
1 | /** |
1.java.net.SocketTimeoutException: Read timed out
2.Java中CloseableHttpClient的超时设置和异常处理
3.HttpClient高并发下性能优化-http连接池
4.java.net.SocketTimeoutException: Read timed out
问题
(1) 生僻字乱码
今天使用HttpClient库发起Get请求,出现了一个生僻字“騄”,返回前台之后就显示了乱码。
但是在浏览器中直接打开这个get请求,发现并不会出现乱码。
本来以及是SpringBoot返回的问题,设置了produces = “application/json;charset=utf-8”,还是不行。
解决方法,因为原始请求为gb2312编码
(1) 新建转换方法
1 | public static String handleEntity(HttpEntity entity, String charset) |
(2) 将EntityUtils.toString(entity,”utf-8”),改为handleEntity(entity,”gbk”)
1 | // responseContent = EntityUtils.toString(entity,"GBK"); |
1.【Spring】解决 @ResponseBody返回中文字符串乱码以及生僻字被强制以unicode方式显示问题
2.Http请求返回结果报UnsupportedCharsetException (我使用了这个代码进行了EntityUtils.toString)
3.踩坑记:httpComponents 的 EntityUtils
4.EntityUtils.tostring 中文乱码
5.SpringBoot的restTemplate整合HttpClient连接池及配置 (这个是连接池相关的内容)
6.HttpClient在传参和返回结果的中文乱码问题 (这里有说明如何进行发送端配置请求编码格式)
7.java HttpClientUtil (这是我HttpClinetUtil的主要参考代码,说是参考,其实都是Copy过来的,也就是简单的做了下修改,至于源码到底是不是正确的,以及为什么正确的,我都没有深究)
2.org.apache.commons.lang
lang包可以用 RandomStringUtils.randomAlphanumeric(16) 生成16位的随机字符串,还包括了其他的有用的类和工具,常用的有ArrayUtils和StringUtils,具体可以参见 参考文章(1)
1 | <!-- https://mvnrepository.com/artifact/org.apache.commons/commons-lang3 --> |
3.JustAuth
我在研究使用 jeecg-boot 的时候,遇到了这个授权认证的组件,集成了超过13种的国内外通用平台的认证方式。