
小记
文章平均质量分 54
ACodeBird
一只程序鸟,每天飞高一点点
展开
-
前端Vue使用国密sm2、sm4与后端使用工具类
一、后端(SpringBoot)1.后端导入国密支持<dependency> <groupId>org.bouncycastle</groupId> <artifactId>bcprov-jdk15on</artifactId> <version>1.68</version></dependency>2.国密工具类(sm1算法不公开,这里涉及、sm2是非对称加密、sm3是信息摘要,类似MD5加密、原创 2021-08-26 17:32:43 · 10096 阅读 · 2 评论 -
String使用==去判断字符串是否相等存在的问题
一、先看一段代码,你觉得输出是什么?String str1 = "";String str2 = new String("");System.out.println(str1 == "");System.out.println(str2 == "");二、上面的代码输出是true、false,为什么呢?1、str1是从字符串常量池获取空字符串"",如果没有则在常量池中创建空字符串对象,然后再给str1赋值,此时str1属于局部变量,存放在栈中。str2同样在字符串常量池中获取空字符串,然后再根原创 2020-09-27 12:01:43 · 1505 阅读 · 0 评论 -
如何避免Java接收base64字符串的坑?
一、问题发现1.可能因为base64字符太长,导致后端处理时出错,表现为前端请求报400错误;2.前端传数据到后端时可能base64字符串中的特殊字符被替换,例如+被替换成空格,表现为上传的图片不完整二、问题解决1.问题1解决方法:1.1.在配置文件中设置server.max-http-header-size(最大http请求头大小),其默认值为8KB,通常图片的base64会超过默认值,但是也不是越大越好(我设置2MB,然后前端再限制一下图片的大小或者压缩图片),大了反而有大问题,详情请看ser原创 2020-09-16 13:57:11 · 5830 阅读 · 1 评论 -
Java将base64字符串转成MultipartFile类型
一、写一个base64转multipartfile工具类BASE64DecodedMultipartFile,注意实现MultipartFile接口package com.doctor.cloud.mobile.web.utils;/** * @Author: zxb * @Date: 2020/9/15 14:11 * @Version: 1.0 * @Description: base64转multipartfile工具类 **/import org.springframework.原创 2020-09-16 13:45:48 · 5554 阅读 · 3 评论 -
icepdf包突然不起作用
一、问题:上周用icepdf将pdf转成图片,功能已经实现,测试也没问题,结果周一打开项目发现跟icepdf相关的类都报错了,重新导入icepdf包、update maven都没成功二、经过多次尝试,我使用了icepdf的最老版本,终于成功解决,不知道是什么原因突然失效。<dependency> <groupId>org.icepdf.os</groupId> <artifactId>icepdf-core</artifactId&g原创 2020-09-14 10:21:49 · 759 阅读 · 0 评论 -
Spring将InputStream转成MultipartFile
一、最近项目用google的puppeteer对网页进行截图,截图之后需要将图片保存到阿里云OSS上,由于puppeteer截图后只能拿到图片的Inputstream对象,直接上传文件流到阿里云OSS一直走不通(官方有提供API,不知道为什么走不通),无奈之下只能将InputStream转成MultipartFile,项目上传文件一直都是使用MultipartFile的,可以确定MultipartFile是可以上传到阿里云OSS,果然如此,下面记录一下如何将InputStream转成MultipartFil原创 2020-09-09 16:40:25 · 8810 阅读 · 7 评论 -
Java利用url生成二维码
一、二维码生成工具类,输入为扫描二维码跳转的url,输出是转化后的二维码图片1.导入依赖包:<dependency> <groupId>com.google.zxing</groupId> <artifactId>core</artifactId> <version>3.3.0</version></dependency>2.代码实现:/** * @author zx *原创 2020-09-09 16:21:02 · 5403 阅读 · 1 评论 -
Java使用Puppeteer将网页指定区域转成pdf
友情提示:本文章只提供方法思路,不要复制粘贴后说跑不通一、需要先安装NodeJs,网上教程很多二、安装puppeteer依赖,如果npm下载不成功就使用cnpm命令(cnpm需要先安装)npm install puppeteer --save三、在安装puppeteer依赖的目录下创建puppeteer.jsconst puppeteer = require('puppeteer');const options = process.argv;var address, types;(asyn原创 2020-08-28 11:34:21 · 1081 阅读 · 0 评论 -
如何对Map集合进行自定义排序
一、LinkedHashMap是有序的,但是只有两种顺序:插入顺序和最近最少访问顺序(默认插入顺序),TreeMap是有序的,默认升序顺序,HashMap是无序的二、如果你想自定义Map的排序的话,你需要借助Comparator的帮助1.所有的Map集合都是用的方式Map<String,Integer> map = new HashMap<>();map.put("key1",1);map.put("key2",2);map.put("key3",3);//Linked原创 2020-08-21 10:18:31 · 3049 阅读 · 2 评论 -
Java使用阿里云oss上传的图片不能在线预览,访问图片地址直接下载问题(Amazon和腾讯云存储都是同样的处理)
解决方法:在图片上传的时候加入以下代码即可:// meta设置请求头,解决访问图片地址直接下载ObjectMetadata meta = new ObjectMetadata();meta.setContentType(getcontentType(filepath.substring(filepath.lastIndexOf("."))));ossClient.putObject(new PutObjectRequest(bucketName, filepath, fileupload,meta)原创 2020-08-14 10:40:21 · 4584 阅读 · 1 评论 -
直接获取url中?后面的参数
一、写一个获取函数getUrlKey: function (name) { return decodeURIComponent((new RegExp('[?|&]' + name + '=' + '([^&;]+?)(&|#|;|$)').exec(location.href) || [, ""])[1].replace(/\+/g, '%20')) || null },二、调用console.log("获取uuid:" + this.getUrlKey('uui原创 2020-08-11 16:05:07 · 692 阅读 · 0 评论 -
Java使用EasyExcel将数据导出Excel表
一、添加EasyExcel依赖<dependency> <groupId>com.alibaba</groupId> <artifactId>easyexcel</artifactId> <version>1.1.2-beat1</version> </dependency>二、准备一个Excel模板类,例如创建ExcelModalJobBean.class@Datapub原创 2020-08-07 10:43:28 · 855 阅读 · 0 评论 -
puppeteer部署到服务器
一、先安装NodeJs二、安装puppeteer依赖yum update nss -yyum install pango.x86_64 libXcomposite.x86_64 libXcursor.x86_64 libXdamage.x86_64 libXext.x86_64 libXi.x86_64 libXtst.x86_64 cups-libs.x86_64 libXScrnSaver.x86_64 libXrandr.x86_64 GConf2.x86_64 alsa-lib.x86_64原创 2020-08-06 15:59:13 · 1417 阅读 · 0 评论 -
Java使用puppeteer实现将网页转成pdf功能
一、需要先安装NodeJs,网上教程很多二、安装puppeteer依赖,如果npm下载不成功就使用cnpm命令(cnpm需要先安装)npm install puppeteer --save三、在安装puppeteer依赖的目录下创建puppeteer.jsconst puppeteer = require('puppeteer');const options = process.argv;var address, types;(async() => {if(options.leng原创 2020-08-06 11:38:15 · 2622 阅读 · 2 评论 -
JQuery使用Datatable插件(二)——使用AJAX与后端交互
一、html代码(我自定义了一个搜索框,同时用到了bootstrap框架)注意引入相应文件,同时table一定要有thead<!DOCTYPE html><html><head><meta charset="UTF-8"><title>Datatable利用ajax增删改查</title><!-- 引...原创 2019-07-10 14:48:06 · 6256 阅读 · 1 评论 -
JQuery使用Datatable插件(三)——使用ajax实现增删改查以及自定义按钮的实现
看这个文章有不懂可以看一下我前面写的两篇文章1.https://blog.youkuaiyun.com/ChOLg/article/details/95326534(简单使用,使用假数据本地分页)2.https://blog.youkuaiyun.com/ChOLg/article/details/95334063(用ajax与后端交互)一、html代码(使用了bootstrap的模态框进行增删改出的操...原创 2019-07-10 17:03:25 · 2108 阅读 · 1 评论 -
关于jsp动态引入页面时路径报错
关于<jsp:include page="${pageContext.request.contextPath }/header.jsp"></jsp:include>报错1.首先你需要知道pageContext.request.contextPath是干什么的,它无非就是动态获取项目名,那么什么情况下访问资源需要加项目名呢?(即{pageContext.request.c...原创 2019-08-04 16:45:56 · 866 阅读 · 0 评论 -
关于BeanUtil不能封装Date类型的解决方法
1.在封装前写一个转换器,在转换器中将字符床转换为Date,BeanUtil就会自己调用该转换器,代码如下Map<String, String[]> parameterMap = request.getParameterMap(); User user = new User(); try { //beanutil无法封装Date类型,需要注册一个转换器将字符串转换成Da...原创 2019-08-06 01:58:02 · 767 阅读 · 0 评论 -
java使用MD5加盐加密
废话不多说,直接上代码,主要代码已经加注释package com.shop.utils;import java.io.UnsupportedEncodingException;import java.security.MessageDigest;import java.security.NoSuchAlgorithmException;import java.util.Random;...原创 2019-08-06 02:04:37 · 3785 阅读 · 1 评论 -
SpringMVC接收json数据
一、当你使用@RequestBody,它能够处理前通过ajax发来的数据Content-Type不是application/x-www-form-urlencoded编码的内容,例如application/json, application/xml等(记得必须指定contentType,jquery默认的contentType是application/x-www-form-urlencoded)...原创 2019-09-04 16:31:05 · 362 阅读 · 0 评论 -
引入jstl标签库报错The absolute uri: http://java.sun.com/jstl/core cannot be resolved in either web.xml
一、错误信息:org.apache.jasper.JasperException: The absolute uri: http://java.sun.com/jstl/core cannot be resolved in either web.xml or the jar files deployed with this application二、解决方法1.检查是否导入jstl包(jar包...原创 2019-09-06 23:21:53 · 1481 阅读 · 3 评论 -
JQuery使用Datatable插件(一)——简单使用(使用假数据本地分页)
一、首先需要引入datatable的css样式文件和引入jquery.js和datatable的js文件(datatable时基于jquery实现的,所以需要引入jquery.js)datatable相关文件可以到到官网下载:http://www.datatables.club/二、html代码<!DOCTYPE html><html><head&g...原创 2019-07-10 13:31:39 · 1323 阅读 · 0 评论