
java
被秃头支配的恐惧
这个作者很懒,什么都没留下…
展开
-
docker下elasticsearch开启账号密码验证与java集成elasticsearch
docker下开启elasticsearch登录验证并集成springboot原创 2022-11-15 17:35:12 · 2626 阅读 · 1 评论 -
CAS客户端对接
CAS客户端配置原创 2022-08-08 15:18:00 · 2025 阅读 · 0 评论 -
CAS部署使用以及登录成功跳转地址
CAS的登录流程,以及如何部署使用,以及可能会遇到的问题,以及登录成功或者失败后的重定向地址原创 2022-07-26 14:29:20 · 6929 阅读 · 1 评论 -
java判断数据库中是否存在某张表
connection.getMetaData.getTables(null,null,tableName,null);原创 2022-06-08 10:11:54 · 896 阅读 · 0 评论 -
微服务单点登录三种常见方式
第一种:session广播机制(session复制)当用户在服务1 中登录之后,会把登录信息放在session中,然后复制session对象分发给其他服务。**缺点:**如果服务过多,session需要复制很多次,会造成资源的损耗第二种:使用cookie+redis实现一、在项目中任何一个模块登录,登陆之后会把数据放到两个地方1.redis:使用key-value进行存储,key:生成唯一值(id,UUID等),将用户数据作为value存进去2.cookie:把redis里面生成的值放到cook原创 2021-10-20 09:05:13 · 2530 阅读 · 0 评论 -
POI无法创建xlsm文件
xlsm文件就是带宏的Excel文件POI创建xlsm文件不会报错,但是打开下载的文件时候会报错文件已损坏这是因为POI只能对已有的xlsm文件进行查询与更改,而不能创建xlsm文件当需求需要能下载xlsm文件时,解决办法就是在服务器中放一个正常的xlsm文件,然后用POI对文件进行清空,放上需要的数据传给接口再下载到本地。以下是部分源码@Permission("") @RequestMapping("/exportData") public void exportData(@Re原创 2021-10-25 11:34:55 · 741 阅读 · 0 评论 -
POI删除所有sheet页
使用POI删除Sheet页时,不能使用下面的代码循环删除。因为执行一遍后第二个sheet页的下标变成了0,但是i变成了1,所以循环里面应该放workbook.removeSheetAt(0);for (int i=0;i<workbook.getNumberOfSheets();i++){ workbook.removeSheetAt(i);} 而且当sheet页总数大于1时,上面的循环会留下最后一个sheet页,比如现在Excel中存在1和2两个sheet页。这时候执行上面的原创 2021-11-04 16:27:00 · 2088 阅读 · 0 评论 -
Unexpected token u in JSON at position 0
我遇到这个原因是后端传递给登录页面是一个Object对象,而跳转页面使用了JSON.parse(jsonStr),这样就会报标题中的错误。解决办法:在登录页面setCookie的时候就将对象转化为json字符串//登录成功根据token获取用户信息loginApi.getLoginInfo().then(response => { this.loginInfo = response.data.data.userInfo //将用户信息记录cookie cookie.set('g原创 2021-11-10 09:29:02 · 360 阅读 · 0 评论 -
SpringBoot定时任务
1.工具类package com.zzh.serviceStatistics.Util;import java.text.SimpleDateFormat;import java.util.Calendar;import java.util.Date;/** * 日期操作工具类 * * @author qy * @since 1.0 */public class DateUtil { private static final String dateFormat = "yy原创 2021-12-09 17:10:12 · 123 阅读 · 0 评论 -
递归算法求数组最大值与master公式计算时间复杂度
问题:给定一个长度为N的数组arr[0,N-1],使用递归算法求最大值,并计算时间复杂度编码:public static int process(int arr[],int l,int R){//arr代表数组,L代表最小下标,R代表最大下标 if(L==R){ return arr[L];//如果数组内只有一个元素,那最大值就是这个数 } int mid=L+((R-L)>>1); int leftMax=process(arr,L,mid); int rightMax=pr原创 2022-04-06 22:57:41 · 1298 阅读 · 0 评论 -
Java接口同时上传文件和json数据
正确写法@RequestMapping(value = "/test/{name}", method = RequestMethod.POST) @ApiOperation(value = "shape文件解析", notes = "shape文件解析") @ApiOperationSupport(order = 31) public HttpResponse<Boolean> test(@RequestParam(value = "file") MultipartFi原创 2022-04-15 15:28:28 · 7686 阅读 · 1 评论 -
动态连接数据源与事务回滚
**需求:**从数据库中读取数据连接,往连接中的某个表中插入一些数据,如果其中某一条插入失败,那么所有的数据都回滚。**思路:**因为是动态配置数据源,@Transactional只适用当前的数据库连接,且只支持spring自带的数据库连接,所以@Transactional容易失效且麻烦。解决: java.sql.DriverManager提供了getConnection()方法,通过getConnection()创建连接Connection,将Connection的自动提交设置为false,再使用Co原创 2022-04-21 11:49:29 · 1075 阅读 · 0 评论