- 博客(55)
- 收藏
- 关注
原创 cookies为什么会有csrf风险,为什么token可以避免
如果使用token,因为token可以不放在cookie里面,在发送请求时经过前端程序处理才可以把token放到请求参数中,所以在直接请求伪造的地址时,浏览器会自动让请求携带cookie,但是没经过前端的操作,请求不会携带token,服务器没有验证token,就会拦截不服务。当浏览器发送请求且浏览器存在 Cookie 且同源不跨域时,浏览器会自动在请求头携带上 Cookie 数据。所以浏览器对csrf背锅,即利用的是网站对用户网页浏览器的信任。CSRF 利用的是网站对用户网页浏览器的信任。
2024-03-16 16:08:11 408
原创 easypoi导出Word中,表格分页时上边框丢失
然后,检查当前页的最后一行是否是表格的最后一行,如果是,则在表格下方添加一个空行,并为该行的每个单元格设置上边框线。通过这两个步骤,您可以确保在分页时不丢失上边框。请根据您的具体需求和代码结构进行相应的调整和集成。2. 当表格分页时,检查当前页的最后一行是否位于表格的最后一行。如果是,则在表格的下方添加一个空行,并为该行的每个单元格设置上边框。创建表格,并为每个单元格设置上边框线。创建一个新段落,并在段落中添加分页符(
2024-01-26 19:27:11 547
原创 springboot的自定义注解使用
/ 自定义注解// 自定义注解的属性// 控制器类@MyAnnotation // 使用自定义注解// 自定义拦截器@Component@Override// 判断请求方法上是否有自定义注解= null) {// 在这里处理自定义注解的逻辑// 省略postHandle()和afterCompletion()方法// 注册拦截器@Override// 自定义注解// 自定义注解的属性// 控制器类@MyAnnotation // 使用自定义注解。
2024-01-20 23:06:23 563
原创 springboot启动过程中触发的事件
在这个事件中,Spring Boot的SpringApplication正在准备应用程序上下文之前,但是在任何bean定义或应用程序上下文加载之前。在这个事件中,Spring Boot已经加载了应用程序的配置文件,并且环境准备好被使用。在这个事件中,Spring Boot已经完成了初始化工作,并且应用程序已经可以处理请求。在这个事件中,Spring Boot已经创建了应用程序上下文,但是在加载bean定义之前。在这个事件中,Spring Boot应用程序已经完全启动,并且可以接收和处理请求。
2024-01-20 22:22:39 453
原创 springboot中异步失效
如果将异步方法在所属类中调用,则不会开启多线程。比如在controller中定义一个@Async的异步方法,在当前controller其他位置调用该异步方法,会发现并没有新开一个线程用于处理异步方法,而是和调用者共同使用一个线程。
2024-01-16 11:49:09 431 1
原创 中文名、文件传输使用 utf8与base64
在调用第三方接口时,常需要使用utf8对中文名进行编码,使用base64对文件字节数组进行编码,从而将文件、字段属性放在一个JSON中进行传递。
2023-12-20 10:14:24 356 1
原创 idea常用debug功能简笔
11.远程调试 在run/debug configuration中,增加一个remote,然后在远程计算机中使用相关命令运行,本地以debug运行,此时idea会监听远程计算机的帧栈变化,反馈到本地。10.当前行强制退出 terminal 会执行完当前方法后退出,并不是从当前行退出,应该在控制台frames中右击,选择force return。4.异常断点,可以定位选择异常类型发生的具体行,通过控制台左侧选择view breakpoints设置。右击断点,设置断点触发条件,一般在循环中使用。
2023-12-09 18:07:20 367 1
原创 记录一次Oracle报错--ORA-00923
select *,需要指定具体的表或者视图,所以要给from 后的表或者视图加一个别名,这点和MySQL不一样。报错,ORA-00923 未找到要求的FROM关键字。
2023-12-04 14:22:38 423
原创 C++中文乱码
方法1,Windows系统选择简体中文,系统就会使用gbk,需要把vs Code保存的编码方式设为同cmd.exe一样的gbk,同时设置vsCode的encoding 为gbk。方法2,编译时g++ healthCare.cpp -fexec-charset=gbk -o healthCare.exe 显示指定编译的编码字符集为gbk。今天用c++写了个简单的提示框提示我每45分钟休息一下眼睛,但是中文一直乱码,说明是解编码有问题,搜了一下解决方案。
2023-11-29 15:20:51 408
原创 mybatisXML文件中if标签的test判断条件语句
如果在 test条件中直接用 < 或者 <= 会报错,因为会把<识别为标签开始符号。此时应该用lt表示<,使用lte表示<=
2023-11-13 11:28:45 155 1
原创 MySQL tinyint(1)列 查询返回Boolean
https://mp.weixin.qq.com/s?__biz=MzA3OTY0ODI4MA==&mid=2247484030&idx=1&sn=53240fc0f0fdac9e12e744240ade7668&chksm=9fb10109a8c6881fdbb9cc3dffab2e88864eac599e0d126ee3e7653c2a017499a25c1c9e522d&scene=27
2023-11-04 19:19:41 141
原创 开发实用工具
2.IDEA lombok 插件 可以省略手动写setter getter等。3.easyCode 根据数据库生成相关的代码,省略了手动敲。1.easy-Everything 快速查找文件。
2023-08-30 11:33:55 26
原创 将list批量插入Redis
第二个的list必须转为Array,不然整个list对象会被当做一个value,而不是一个list元素组成的list类型的value。
2023-08-29 17:52:23 212
原创 版本号命名约定
gitlab 测试提交到正式,是整个镜像搬过去。仅供参考,一般内部达成共识即可,无固定要求。中大功能 新增一个明显的功能模块;大调架构 上线前一般以0开头;末bug修改 修改使用bug。小小改动 已有功能优化。
2023-07-19 11:30:13 31
原创 Method breakpoints may dramatically slow down debugging
今天以debug方式启动本地项目时,控制台走到某一步卡着不动;以run方式可以快速启动完成;使用Maven的package插件也可以打包;IDEA提示" Method breakpoints may dramatically slow down debugging ",估计是断点打多了,点击左侧的"mute breakpoints"按钮(红圆点上一道斜线),静音所有断点,项目启动后,取消静音进行调试即可。
2023-04-12 15:43:17 226
原创 使用hashmap判断是否包含某个元素
在日常开发中,经常用到某个字段是否存在的遍历,hashmap将key换算成hash值作为数组的索引,速度更快,今天无聊,故写个文章。综上,在实际应用中,hashmap是检验是否包含字符串的高效方式之一。for循环遍历查询包含某个字符串的平均耗时为 80 单位时间。hashmap查询包含某个字符串的平均耗时为 35 单位时间。
2023-03-16 21:25:22 616
原创 常用的Excel导入循环伪代码
最近做了多文件、多sheet页的Excel导入工作,用伪代码记录一下相关思路,多文件多sheet即通过多文件request获取fileMap对每个文件每个sheet重复操作即可
2023-03-04 00:01:35 219
原创 Java常规业务的数据结构表结构
数据表: 临时表(保存的数据) 数据表(提交、确认的数据) 历史表(保留历史记录)数据实体: vo entity
2023-02-13 10:59:30 113
原创 服务器ip改变时,前端无法访问后端
项目的前后端代码都部署在一台服务器上,当前服务器ip变更,首先考虑的是修改vue.config.js中的代理ip,观察代理ip是localhost,所以不需要修改,但是启动项目后,页面报错network error ,打开开发者工具,观察产生错误的network点击进入,发现前端发送的request是服务器之前的ip,现在开始思考更改请求配置的BASE_URL,进入config/index.js找到BASE_URL,ctrl B追进,进入了. env.development,更改一下重启服务即可...
2022-06-02 11:06:04 1018
原创 VSCode插件安装包网页端下载
工作的电脑不可以连接互联网,需要为VSCode下载部分插件。1.先登录 VSCode官网: https:// code.visualstudio.com2.再点击Extensions,搜索要用的插件选择历史版本然后下载,3.再把下载的安装包放到工作电脑,打开VSCode进行通过本地安装即可...
2022-05-12 09:16:22 1178 1
原创 同步两个表的信息
表1 工号 用户名表2 工号 域名需要把表2的域名更新到表1的用户名中#要把表二也写上UPDATE 表1 a ,表2 b SET a.用户名=b.域名 WHERE a.工号=b.工号;
2022-04-22 17:15:43 76
原创 趋势面试题
趋势面试这次面试可以学到很多东西,认识到自己还有很多的不足,面试官即兴发挥,不会按照所谓的八股文面试,自己面的很烂,还是得多学习!线程如何创建?如何实现线程的定时任务?springboot如何对大规模的API增加异常处理(全局)?springboot监听器、过滤器、拦截器应用场景?如何对hashmap数据进行排序?...
2021-10-22 12:10:29 136
原创 AOP原理
我们为Spring的某个bean配置了切面,那么Spring在创建这个bean的时候,实际上创建的是这个bean的一个代理对象,我们后续对bean中方法的调用,实际上调用的是代理类重写的代理方法。而Spring的AOP使用了两种动态代理,分别是JDK的动态代理,以及CGLib的动态代理。JDK动态代理(spring优先使用)创建InvocationHandler接口的实现类1.被代理对象必须实现一个接口。代理对象也会实现该接口,并获得被代理对象的引用,从而实现AOP;代理对象只能织入被代理对象实现
2021-10-15 15:15:13 92
转载 using
http://m.biancheng.net/view/7152.htmlhttps://blog.csdn.net/qq_38497266/article/details/99989291 using使用
2021-10-14 19:39:52 58
原创 mysql杂记【牛客刷题学习】
顺序:FROMON JOINWHEREGROUP BYUNIONWITHHAVINGSELECTDISTINCTORDER BYLIMITIFNULLIFNULL( expr1 , expr2 ) expr不为null返回expr1,为null返回expr2笛卡尔积 适合判相等select a.name from tableA a , tableB b; 这个from返回的是笛卡尔积子表子表需要取别名用 is null is not null ..
2021-10-14 19:36:09 93
原创 数组实现顺序结构链表的insert
public class Test{ public Status insert(int i , Object o){ //i是插入位置的索引 //先判断数组是否为空引入空指针、i索引是否合法、插入后会不会越界 if(myList == null || i<0 || i>myList.length ||( myList.MAX_LENGTH ==myList.length) return Status.WRONG; for( int j = myList.len
2021-09-21 03:38:55 111
原创 using使用
http://m.biancheng.net/view/7152.htmlhttps://blog.csdn.net/qq_38497266/article/details/99989291 using使用
2021-09-04 20:25:00 48
原创 mysql无法开启服务端mysqld.service
centOS虚拟机中安装了mysql,今日准备启动做一些测试#开启mysql serversystemctl start mysql.service报错:Job for mysqld.service failed because a timeout was exceeded.连接超时进入日志查看:find / -name mysqld.log #忘了日志在哪可以通过这个命令日志在 /var/log/mysqld.log#查看今天日志信息,看到error信息cat /var/.
2021-09-04 01:16:28 971 1
原创 scala的方法(method) 和 函数(function)
格式为:val func_name [ : param_type => result_type ] = (param_name:param_type …) => function_bodyval myFunc:Int=>String = (c:Int)=>"*"*c//简化模式val myFunc2 = (c:Int)=>"*"*c
2021-08-25 23:48:21 379
原创 scala第一次使用的问题
1.idea创建scala的project发现没有module,error:adding module to project:null关闭项目,并从idea的目录重新导入即可2.无法创建scala的类在 工程目录结构 下的library中加上一个SDK路径,即使global libraries中有SDK也要在这里导入一下3.运行失败 Cannot start compilation: the output path is not specified for module “scalaDemo”
2021-08-24 00:04:44 856
原创 Log4J使用
写在前面:参考黑马程序员视频课、网络博客等1.概念Logger Appender LayoutLogger 日志记录器 控制日志的输出级别和日志是否输出 1.日志八大级别:OFF FATAL ERROR WARN INFO DEBUG TRACE ALL; 2.常用5种如下(按照优先级由高到低): FATAL 致命错误,程序宕机 ERROR 发生错误但是不影响系统运行 WARN 警告 INFO 记录程序的运行过程 DEBUG 类似于IDEA的debug模式,更为细节
2021-08-07 15:53:21 56
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人