
Java随作
文章平均质量分 60
ouyangjun__
这个作者很懒,什么都没留下…
展开
-
java base64对各种文件进行编码、解码,通过ByteArrayInputStream和ByteArrayOutputStream方式实现
一)Base64简介Base64是网络上一种常用于传输字节码的编码方式之一,比较简单通用。二)Base64文件类型文件类型:文件类型 Base64类型 doc data:application/msword;base64, docx data:application/vnd.openxmlformats-officedocument.wordprocessingml.document;base64, xls data:application/vnd..原创 2020-09-02 21:20:07 · 16219 阅读 · 0 评论 -
Java HttpClient Get和Post请求案例
HttpClient官方简介:HttpClient 是Apache Jakarta Common 下的子项目,可以用来提供高效的、最新的、功能丰富的支持 HTTP 协议的客户端编程工具包,并且它支持 HTTP 协议最新的版本和建议。Jar下载地址:http://hc.apache.org/downloads.cgi使用步骤:第一步:创建对象CloseableHttpClienth...原创 2018-08-20 21:19:29 · 892 阅读 · 0 评论 -
java模拟form表单提交,实现两个系统之间参数传递
背景原先开发了一个功能,由于是两个系统做交互,所以在参数传递这一块做的比较简陋,有安全性问题,需重新调整。原先的实现方式是,在A系统做用户校验,校验成功之后,把用户信息直接加密拼接成一个url,然后直接redirect到B系统这个前端地址,B系统在前端页面直接从url地址中获取用户信息解密验证,这样的弊端就是,只要知晓你的加密解密方式,就可以模拟提交。方案一,把加密方式设置复杂一点,B...原创 2019-06-26 10:25:18 · 6289 阅读 · 0 评论 -
java token生成和校验的一个案例
现在越来越多的登录方式都用到了token作为用户登录令牌,所以实现了一个token生成和校验案例。缺点:该实现方式token是存储在内存中,不适合分布式项目,如需改为分布式项目部署,可把token存储在redis中,其中的实现原理还是保持不变。一)token编码工具类package com.oysept.token.utils;/** * token编码工具类 * @auth...原创 2019-01-28 14:48:38 · 19347 阅读 · 5 评论 -
Java唯一序列订单号生成源码,基于snowflake算法
Snowflake简介Snowflake生成的每一个ID都是64位的整型数,它的核心算法也比较简单高效,结构如下: 41位的时间序列,精确到毫秒级,41位长度可以使用69年。时间位还有一个很重要的作用是可以根据时间进行排序。 10位的机器标识,10位的长度最多支持部署1024个节点。 12位的计数序列号,序列号即一系列的自增id,可以支持同一节点同一毫秒生成多个ID序...原创 2018-07-11 15:56:56 · 10963 阅读 · 1 评论 -
Java 简体繁体 几种处理方式
背景由于这两天领导给香港用户进行系统培训的时候,有用户提到,需要系统中能支持一些关键字简体繁体查询。简单说,用户输入繁体时,能筛选出简体的数据,输入简体时,能筛选繁体的数据。其实系统的数据几乎都是中文简体,只有少部分繁体,所以咋也不知道,咋也不干问为什么,就是干。方式一:ZHConverter在网上百度了一下,几乎所有的简体繁体转换都是用到了zhconverter的jar,而且很多...原创 2019-05-15 15:37:18 · 6696 阅读 · 1 评论 -
Java获取文件ContentType
Java获取文件ContentType,源码如下:package com.oysept;import java.io.File;import java.io.IOException;import java.net.FileNameMap;import java.net.URLConnection;import java.nio.file.Files;import java.ni...原创 2018-10-31 17:15:47 · 25090 阅读 · 0 评论 -
MultipartFile实现附件上传功能
服务端附件上传代码package com.oysept.attachment.controller;import java.io.IOException;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;imp...原创 2018-10-01 20:25:54 · 5203 阅读 · 0 评论 -
HttpServletResponse附件下载详解
背景最近做了一些附件上传下载的功能,附件都是上传第三方平台,例如青云。该章记录一下附件下载。目的有一些浏览器在打开第三方附件下载地址的时候,会直接打开文件,看到的都是二进制乱码,而不是弹出下载框,例如火狐浏览器,该实现方式是为了兼容这种情况。流程第一步:前端把第三方下载地址传递给服务端,或者服务端自己从业务数据库直接获取。第二步:前端把附件的名称传递给服务端,或者服务端自己...原创 2018-09-30 19:46:16 · 2161 阅读 · 0 评论 -
Java—企业微信网页版登陆认证详解
背景本来自己系统已经有了企业微信网页版登陆认证功能,但功能是别的同事写的,而且已经离职了。刚好,有另一个项目组同事来请教,所有就把该认证功能单独抽离出来,新写了一个springboot项目给那同事,并且已经联调好了。注意:该认证功能比较依赖企业微信的配置,所以就把大致代码讲解一下,如果有真实配置,直接把代码挪用就好。企业微信网页版登陆认证(官网API oauth流程图)1、创建...原创 2018-09-04 21:11:33 · 8283 阅读 · 8 评论 -
Java QingStor青云对象存储SDK使用详解
背景主要是项目中用到青云对象存储存储操作文件,所以把该功能简单梳理一下,以作记录。功能实现步骤一)创建springboot项目,项目名为oysept-qingstor,项目结构图如下二)pom.xml配置文件中内容如下<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3...原创 2018-09-14 20:56:46 · 4296 阅读 · 1 评论