业务实战
puyuma
位于广州大学城的2020计算机应届毕业生,现就职于Infosys。
展开
-
关于接口返回数据中文乱码
用框架用多了,都忘了最开始是怎么写的了。。 // 两者缺一不可,缺setCharacterEncoding,则中文变成“???” //缺setContentType,则中文变成“骞夸笢鐪...” response.setCharacterEncoding("UTF-8"); response.setContentType("text/html");...原创 2020-12-17 11:52:35 · 2896 阅读 · 0 评论 -
转:springboot环境下,最详细、最简单的大文件分片上传、断点续传
文章目录一、总体思路二、数据库表结构三、前端代码页面代码1、html 代码2、js 代码四、后端代码1、application.yml2、实体类(自己写的代码生成器生成的)3、一个 vo(帮助理解 js)4、Mapper 接口(使用了自己写的一个扩展包,使用一个注解就能查询,所以没有 Mapper.xml 文件)5、上传文件的工具类6、启动类和控制器7、控制器中用到的一个辅助类五、demo 结构六、完结撒花一、总体思路1、前端以分片的形式计算出整个文件的 md5 值以及文件大小 size;2、使用 m转载 2020-11-27 14:21:36 · 639 阅读 · 0 评论 -
转:抢红包算法(公平版和手速版)
当我们在群里抢红包时真的是手速越快红包金额越大吗? 答案当然是并不是,都说了是拼手气,岂能是拼手速! 不过也可以有拼手速的方法 抢红包 二倍均值法(公平版)线段切割法(手速版) 二倍均值法(公平版) 这是一种很合理很公平的抢红包算法了,绝对不会让你拼手速的,就别天真了。 在此我们假设 红包剩余金额为 M 红包剩余数量为 N 这种算法就是每次都在区间[0,M/N×2] 随机取一个数 假设100元红包发10个人,那么合理的做法应该是每个人领到10元的概率相同。 第一个人随机金额的范围为[0转载 2020-11-27 14:03:36 · 297 阅读 · 0 评论 -
java switch语句,多个case匹配相同的情况
case 1: case 2: xxx; break;原创 2020-11-26 16:02:44 · 6471 阅读 · 0 评论 -
如何用java实现post请求外部接口(字符串+文件参数)
import java.io.ByteArrayOutputStream;import java.io.DataOutputStream;import java.io.InputStream;import java.io.OutputStream;import java.net.HttpURLConnection;import java.net.URL;import java.util.Iterator;import java.util.Map;import org.springfra..原创 2020-11-18 11:10:51 · 4159 阅读 · 5 评论 -
如何用mysql语句计算排名
思路:按照某字段排序后,计算行号进行排名SELECT t.*,(@rowNum:=@rowNum+1) AS rank # 排名 FROM table AS t,(SELECT (@rowNum :=0) ) bORDER BY t.score DESC; # 按照t的score降序排序@rowNum:=@rowNum+1:排名rank为行号@rowNum+1SELECT (@rowNum :=0):赋行号@rowNum初值为0经测试,若出现同值情况,会按照id降序进行排序。...原创 2020-11-09 14:52:49 · 305 阅读 · 0 评论 -
问题解决:使用HttpClient出现java.io.IOException: Attempted read from closed stream
在我这篇文章中《如何java实现调用外部接口(POST请求)》,曾报出这个错误,发现是因为EntityUtils.toString(HttpEntity)方法中操作的是流数据,流数据是一次性数据,所以同一个HttpEntity不能使用多次该方法解决方案:先用EntityUtils.toByteArray(HttpEntity)获取到字节数组,然后转字符串,最后转json。例子如下:byte[] byteArray = EntityUtils.toByteArray(res.getEntity());J原创 2020-11-09 14:23:59 · 1041 阅读 · 0 评论 -
如何java实现调用外部接口(POST请求)
最近在开发一个项目,需要将对象转成json,然后调用外部接口上报数据。外部接口返回json数据{ "id": "xxx", // 上报成功时id才有数据 "code": "xxx", // 0代表上报成功,其他代表错误 "message": "xxx" // 无论如何都有数据}java实现private void doUpload() { HttpClient client = HttpClients.createDefault(); String url =.原创 2020-11-09 14:14:08 · 9156 阅读 · 5 评论 -
hibernate 如何实现多表连接查询
将实体用 逗号 隔开即可,如:select xx from A,B where xx原创 2020-10-09 14:02:00 · 208 阅读 · 0 评论 -
java如何用redis生成唯一编码?
生成规则:自定义前缀+yyMMdd日期+序列号(存在redis)关键在于redis的hincyBy方法public class TimeCodeUtil {private final static String QRCode = "QRCODE";// 二维码序列号 public synchronized static long nextId() { SimpleDateFormat df = new SimpleDateFormat("yyyyMMdd");// 设置日期格式 String原创 2020-09-08 14:23:55 · 745 阅读 · 0 评论 -
转:短网址(short URL)的实现_如何生成短链接URL?
什么是短链接 ?就是把普通网址,转换成比较短的网址。比如:这种http://t.cn/E70Piib,在微博这些限制字数的应用里。好处不言而喻:短、字符少、美观、便于发布、传播。 我们应该都能想到链接中的E70Piib对应的就是存储长链接地址的数据记录的ID,可是这个有大小写字母和数字构成的唯一ID是怎么生成的呢,刚学编程的时候我们用的方法都试拼接一个足够唯一的字符串(比如时间戳加用户ID等等)然后再用MD5或者SHA1散列算法算出一个散列值,用这种方法得到的唯一ID有可能比原始的链转载 2020-09-02 15:47:13 · 36243 阅读 · 0 评论 -
java如何用雪花算法批量生成唯一编码(保证位数不过长)?
最近有点忙,现在稍微闲一些,就想写写最近遇到的一些业务。业务:一些商户、市场、档口等主体需要有唯一编码。思路:一些前缀+雪花算法,此时位数过多,再转成六十四进制缩短位数即可。同时为了实现批量生成唯一,可在生成唯一码的时候加上synchronized static关键字,实现类对象锁。这里附上雪花算法工具类以及转成六十四进制工具类:public class SnowflakeUtil { // ==============================Fields==============.原创 2020-08-31 16:04:18 · 3704 阅读 · 0 评论 -
java如何批量生成二维码,并返回成压缩包形式?
最近有点忙,现在稍微闲一些,就想写写最近遇到的一些业务。业务:后台根据前端传入的需生成的数量,生成二维码图片并统一打包成压缩包返回。效果图:首先根据一定规则生成二维码字符串,然后返回成list(因为有多条):为了线程安全与数据唯一,可以给雪花算法中的nextId加上synchronized static关键字,实现类对象锁。接着将list里的每个元素转成一个个二维码图片,并打包返回。具体实现: /** * 获取二维码压缩包 * * @param response * .原创 2020-08-31 15:50:36 · 1605 阅读 · 3 评论 -
问题解决:java.math.BigInteger cannot be cast to java.lang.Integer
这一两个月在忙着开发食工所快检系统项目,没时间写文章,于是把期间遇到的问题记录了下来,今天有空就写~问题:hibernate4进行查询时,比如比如sql:select count(*) from 表,query.uniqueResult()返回的是一个object类型,此时类型转换成integer会报错。解决:转换成Integer类型前,需先转成string类型,即Integer.valueOf(obj.toString())...原创 2020-08-27 14:47:09 · 1573 阅读 · 0 评论 -
解决:Eclipse在Debug时出现Source not found
今天在debug一个快检项目的时候,出现source not found,根据eclipse的提示,解决了这个问题,现在分享。如下图所示,在run configurations->source->add->java project ,把项目都add进去就好了。原创 2020-08-14 14:54:03 · 784 阅读 · 0 评论 -
Handler dispatch failed; nested exception is java.lang.NoSuchMethodError
解决方案: 重跑tomcat允许项目即可原因 :改了方法名,但没有识别到改动后的这个方法,分析可能是缓存原因。原创 2020-08-06 10:52:11 · 388 阅读 · 0 评论 -
如何在windows下实现定时执行kettle
首先写好要执行的kettle,然后新建bat文件,写入以下两行代码,尝试运行,如下:cd C:\Program Files\kettle-data-integration kitchen /file:C:\soft\jobname.kjb /level:Base>>C:\kettlelog\jobname.log其中,第一行是Kitchen.bat所在目录,第二行是要执行的kjb文件以及生成的log。运行无误后,添加至windows的任务计划程序中:点击开始菜单,进.原创 2020-06-08 14:31:08 · 1552 阅读 · 0 评论 -
你知道怎么用脚本设置数据库定时备份吗?(已实现定时备份+备份文件压缩+清除七天前的备份文件)
最近定时备份数据库,并且删除七天之前的备份数据,于是捣鼓了这个脚本#!/bin/bash# 要备份的数据库名,多个数据库用空格分开databases=(mediavo)# 要备份的表名,多个表用空格分开tables=(t_sys_user t_sys_role)DB_HOST="localhost"# 备份文件要保存的目录basepath='/data/mysql_backup/'if [ ! -d "$basepath" ]; then mkdir -p "$basepa.原创 2020-05-29 13:44:26 · 195 阅读 · 0 评论 -
python报错:TypeError: module object is not callable
我的代码是这样引用的:class Student: def __init__(self, name, sex): self.name = name self.sex= seximport Studentpig = Student("张三", "男")正确的应该是:import Studentpig = Student.Student("张三", "男")或:form Student import *pig = Student("张三",.原创 2020-05-28 11:01:35 · 417 阅读 · 0 评论 -
问题解决:通过https访问页面,request.getScheme()获取到的却是http
问题:通过浏览器输入https://www.xxx.com,request.getScheme()获取到的确实http而不是https,通过request.getRequestURL()拿到的也是http://www.xxx.com分析原因:是因为用nginx+tomcat部署web服务,tomcat接受到的请求都是来自于nginx的http请求。 request.getScheme() //总是 http,而不是实际的http或https request.isSecur转载 2020-05-27 11:06:34 · 9559 阅读 · 1 评论 -
Java GUI+线程,实现JLable实时更新当前系统时间!(附码云源码)
最近有时间,就整理整理自己大二时做过作业(教师信息管理系统,已实现登录注册增删改查导入导出模糊查询统计图展示等功能)~ 该作业的码云链接:https://gitee.com/sarah0429/studentManagement.git话不多说,这里讲如何实现JLable实时更新当前系统时间,直接进入正题。 //这里需要继承JFrame并实现Runnable接口,可以理解为定制的过程。其中...原创 2019-08-07 15:32:25 · 2418 阅读 · 0 评论 -
javaweb用JDBC实现增删改查!!!(附码云源码)
最近有时间,就整理整理自己做过的作业~ 该作业源码的码云链接:https://gitee.com/sarah0429/studentManagement.git话不多说,直接进入正题。首先,private final static String driverName = "com.mysql.cj.jdbc.Driver";//驱动名,旧版为com.mysql.jdbc.Driverp...原创 2019-08-07 14:28:16 · 4686 阅读 · 0 评论 -
jsp实现excel导入!(附码云源码)
最近有时间,就整理整理自己做过的项目或作业~ 该作业的码云链接:https://gitee.com/sarah0429/studentManagement.git话不多说,直接进入正题。一共三步1.根据excel文件路径获取数据,返回集合list /** * 根据excel文件路径获取数据 * @param file excel文件路径 * @return...原创 2019-08-07 11:28:36 · 2498 阅读 · 5 评论 -
JSP如何仅仅用一行代码实现表格table导出成Excel?(附码云源码)
最近有时间,就整理整理自己做过的项目或作业~ 该作业的码云链接:https://gitee.com/sarah0429/studentManagement.git话不多说,该条代码就是:<%response.setHeader(“Content-disposition”,“attachment; filename=test.xls”);%>附上源代码<%@ page ...原创 2019-08-05 16:51:33 · 1223 阅读 · 0 评论 -
MYSQL 如何对多个字段进行分组(GROUP BY)
在平时的开发任务中我们经常会用到MYSQL的GROUP BY分组, 用来获取数据表中以分组字段为依据的统计数据。比如有一个学生选课表,表结构如下:Table: Subject_SelectioSubject Semester Attendee---------------------------------ITB001 1 JohnITB001 1...转载 2019-10-17 19:04:05 · 6936 阅读 · 2 评论 -
java如何跳出指定for循环?
最近有时间,就整理整理自己做过的项目~这是某学院的档案系统项目。话不多说,进入正题遇到的问题: 在多个for循环下,if条件满足时,跳出指定的某个for循环。解决办法: 给for循环取名,从而用break跳出指定for循环。代码如下:a:for(int n=0; n<=10 ; n++){ b:for (int i=0 ; i<=10 ; i++){ ...原创 2019-12-23 16:32:35 · 1518 阅读 · 1 评论 -
jQuery添加/删除Select的Option项
使用语法$("#select_id").append(“Text”); //为Select追加一个Option(下拉项)$("#select_id").prepend(“请选择”); //为Select插入一个Option(第一个位置)$("#select_id option:last").remove(); //删除Select中索引值最大Option(最后一个)$...转载 2020-02-23 17:43:33 · 1517 阅读 · 0 评论 -
java如何判断列表list是否为空
if(list != null && !list.isEmpty()){}原创 2020-02-23 17:41:19 · 1357 阅读 · 0 评论 -
java项目的jar包加密(用abc混淆)
最近给公司写了一个项目,需要给其他公司用,为了不让别人看到源码,将项目打成了jar包,但是jar包用反编译工具还是能很轻松的看到源码。所以想到了加密jar包,用的是ProGuard,下载地址:https://sourceforge.net/projects/proguard/files/。其实jar包加密只是增加了反编译时间,理论上还是能破解的,但是有总比没有好。废话少说,开始吧。软件下载解压...转载 2020-03-09 11:02:20 · 4928 阅读 · 1 评论 -
两步完成自定义菜单——微信公众号测试号
1. 获取access_token:进入测试号,并在微信公众平台接口调试工具上获取access_token。测试号入口 微信接口调试工具入口2. 自定义菜单:将第一步获取的access_token填入,然后输入boby数据格式如下: { "button":[ { "type":"click", "name":"今日歌曲"...原创 2020-03-13 08:12:47 · 832 阅读 · 0 评论 -
java后台将html转成图片返回给前端(html2image)
最近有时间,就整理整理自己做过的项目~这是某医院的微信网页开发项目。话不多说,进入正题1.引入依赖:<dependency> <groupId>gui.ava</groupId> <artifactId>html2image</artifactId> <version>0.9</version...原创 2020-03-13 08:38:35 · 5628 阅读 · 5 评论 -
附源码:javaweb实现文件上传(dropZone插件+文件上传工具类)
最近有时间,就整理整理自己做过的项目~这是某学院的信息档案系统网页开发项目里的文件上传业务。话不多说,进入正题效果图:记得先引入dropZone相关js/css。前端:html<div class="form-group"> <label class="col-sm-3 control-label "></label> <...原创 2020-03-13 15:25:41 · 1312 阅读 · 1 评论 -
JAVA如何获取一个特定范围内的随机整数
例子:生成0-10之间的随机整数,包括10方法1Random r = new Random();int randNum = r.nextInt(11);//这里就是[0,11)方法2int random = (int)(Math.random()*10+1);//Math.random() 返回[0,1) double 型数值。生成1-10之间的随机整数,包括10int...原创 2020-03-13 16:28:21 · 3264 阅读 · 0 评论 -
JAVA:使用正则表达式(Pattern)移除List相应元素(如去除带数字的元素),附上java Pattern相关正则表达式
话不多说,上代码:List<String> list = new ArrayList<String>(){ { // list初始数据 addAll(Arrays.asList("puyuma0216puyuma".split("")));//将数组转化为list add("puyuma"); a...原创 2020-04-21 17:07:59 · 1206 阅读 · 1 评论 -
你知道如何用java生成表格形式的pdf文件吗?(使用itext)
private String[][] content = new String[][]{ {"序号", "姓名", "年龄", "联系电话"}, {"1", "puyuma", "22","15911111111"} }; /** * 创建一份普通表格的PDF文件 * * @param full...原创 2020-04-24 14:42:24 · 507 阅读 · 0 评论 -
java将英文字符(无论大小写)转化为小写
如何插入一段漂亮的代码片//ch 只为英文字符public char toLower(char ch){ if(ch >= 'A' && ch <= 'Z'){ return ((ch-'A')+'a'); } return ch;}原创 2019-07-25 10:16:09 · 4439 阅读 · 7 评论 -
项目整理:springmvc国际化配置messageSource(以中英文为例)
最近有时间,就整理整理自己做过的项目~话不多说,一共四步。1. 提交语言源配置文件注意在resources的language下,以“首页”的中英文替换为例(注意命名为navigation.home,第三步会用到)2. 设置locale处理器及 messageSource配置在spring-mvc.xml下添加如下配置(注意localeChangeInterceptor拦截器的va...原创 2019-07-26 16:48:12 · 3388 阅读 · 0 评论 -
最简易!!!servlet实现登录+验证码验证(附码云源码,已实现增删改查导入导出等基本功能)!!!
最近有时间,就整理整理自己做过的项目~话不多说,直接进入正题。1.登录jsp页面代码<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><!DOCTYPE html><html><head><met...原创 2019-08-05 15:50:59 · 1831 阅读 · 2 评论 -
详细:JAVA 对集合list的实体按某一字段(如日期)排序(降序,Collections的sort方法)
明天写集合按某一字段排序。原创 2019-08-14 11:11:14 · 15633 阅读 · 2 评论 -
代码简洁:js去除数组中重复的字符
最近有时间,就整理整理自己做过的项目~这是某学院的档案系统项目。话不多说,进入正题function f(arr){ let rightArr = [];//去重后数组 let list = {};//判断集合 for (var i = 0; i < arr.length; i++) {//遍历传入arr数组 if(typeof(list[arr[i...原创 2019-11-16 16:53:49 · 1374 阅读 · 0 评论