那些年 那些坑
文章平均质量分 52
Bug开发攻城狮
自古,百无一用是深情,唯有套路得人心
展开
-
Unable to start ServletWebServerApplicationContext due to missing ServletWebServerFactory bean
异常信息Unable to start ServletWebServerApplicationContext due to missing ServletWebServerFactory bean问题分析 按照网上的资料,@SpringBootApplication注解是存在的、spring-boot-starter-web的依赖也是存在的,百思不得其解,然后问了其他同事,他们本地是启动正常的。 又把spring-boot-starter-tomcat的scope注释了,仍然不行。原创 2021-04-06 19:46:33 · 1270 阅读 · 0 评论 -
mybatis plus argument type mismatch
异常信息 项目中使用了mybatis-plus,一个功能,昨天还使用的好好的,今天突然就不能用了,控制台还报错 argument type mismatchjava.lang.illegalArgumentException:argument type mismatchorg.mybatis.spring.MyBatisSystemException:netsted exception is org.apache.ibatis.reflection.ReflectionException:E原创 2020-11-13 17:47:35 · 3797 阅读 · 2 评论 -
mybatis插入数据 获取自增id异常
错误信息:Error getting generated key or setting result to parameter object. Cause:org.apache.ibatis.binding.bingingException: parameter ‘id’ not found. Available parameters are …出现问题原因,在DAO中的入参,是字符...原创 2020-03-31 20:05:26 · 1360 阅读 · 0 评论 -
json-lib的坑
入职了一家新公司,新公司内网隔离,上外网,只进不出。使用的技术架构,虽然说已经用SpringBoot了,但是,各种细节不规范啊,还记得第一天下载了项目,都跑不起来,找了半天原因,原来是项目不是标准的Maven项目,应该是resources目录,它却是resource,少了一个s,导致编译器找不到资源目录;代码基本没有注释,理解起来全靠猜,这个对于不熟悉业务的新人来说,真的好痛苦。幸亏薪资给的不...原创 2020-03-07 14:50:39 · 1280 阅读 · 0 评论 -
记一次FileNotFoundException异常
同事提交了代码,就回去过春节了,今天,业务人员来说他昨天修改的东西有问题,要我处理。看了下日志,发现是这个很easy的异常java.io.FileNotFoundException: \excel-templates\123 (系统找不到指定的路径。) 看错误信息,就知道是xls的模版在服务器上没有被程序获取到,又看了下git上是有的,那绝壁是运维哥哥的锅了。 果断吊运维去...原创 2020-01-20 17:13:03 · 2460 阅读 · 0 评论 -
docker开启consul后 莫名连不上8500端口
一个新项目,需要本地跑docker环境,配置完后,一切正常。过了几个小时,项目就各种报错,然后就全部不能用了,排查下来,原来是项目连consul超时了,导致后续都走不下去了 然后就看consul出啥问题了,在docker下查看进程docker ps -a 看到consul是up状态,是正常的 奇怪了,consul是正常的啊,为什么项目连consul就超时?尝试着在浏览...原创 2019-12-02 09:57:54 · 4491 阅读 · 0 评论 -
XMLSerializer的一个bug
相同的代码,读取未格式化xml和已格式化xml,未格式化的解析起来报错,代码很简单1.java解析代码 // getResponseContent(fileName) 从指定文件名中读取文件内容作为字符串 String responseXML = getResponseContent("content"); // xml字符串 转换为 json字符串 ...原创 2019-11-20 13:42:33 · 1050 阅读 · 0 评论 -
mysql使用double的坑
碰到一个很奇葩的问题,mysql默认是四舍五入的,但是,使用double,有时候不四舍五入。犯罪现场还原表结构CREATE TABLE `test` ( `salary_decimal` decimal(11,2) DEFAULT NULL, `salary_double` double(11,2) DEFAULT NULL) ENGINE=InnoDB ;表数据...原创 2019-06-24 18:45:09 · 15862 阅读 · 1 评论 -
ajax传递参数的一个坑
上周有一个需求,需要使用ajax请求后端,参数是比较复杂,有普通字符串也有对象数组。之前都是使用form表单来实现的,效果是这样的 后来,需求变更了,需要提交局部表单的效果。既然是局部的内容提交,那就不能使用form来实现了,我就想着用js手动拼接对象,传输给后台。代码如下: var arr = { list : [ { ...原创 2019-04-24 18:19:37 · 4166 阅读 · 0 评论 -
jsonp无X-Requested-With 及其深扒
事件背景交代 事情的起因是:A和B站都得调A站的接口,然后前端把请求写成jsonp的,又因为js是在CDN上,A和B是公用相同的js。然后就出现了A站调接口出现前端无法解析的问题,B站调A站接口却正常。出现无法解析的问题是因为callback被包了两层,即callback(callback("result")) 问题分析 既然是返回的内容出现了问题,那就是后端...原创 2017-07-19 21:59:03 · 3205 阅读 · 0 评论 -
记一次文件上传的坑
前段时间我们系统被黑客攻击了,后来查明,是利用上传文件的漏洞。于是老大就让下面的人写个拦截器,对上传文件的内容进行审查。代码乍一看,是没啥问题的,但是,这几天我正好闲着,就多测了测,居然无意中发现了两个bug。 下面的伪代码:@Overridepublic void doFilter(ServletRequest request, ServletResponse response...原创 2019-04-01 18:19:39 · 2152 阅读 · 0 评论 -
java集合迭代删除,一个很诡异的现象
无意看到一个很有趣的问题,和大家分享下。 public void method1(){ List<String> a = new java.util.ArrayList<String>(); a.add("1"); a.add("2"); for (String temp : a) { if ("1".equals(temp)) { ...原创 2017-04-11 10:51:15 · 2493 阅读 · 0 评论 -
java i++的陷阱
先贴代码 public static void main(String[] args) { int count1 = 0; int count2 = 0; for (int i = 0; i < 10; i++) { count1 = count1++; count2++; } System.out.println("循环后count1=" + c...原创 2017-08-22 10:20:09 · 2304 阅读 · 0 评论 -
HttpClient使用setEntity传递参数 无法获取参数?
今天在接入一个第三方支付,在接入的时候,碰到一个问题:第三方在回调我方的时候,第三方居然只有一个json字符串。一般情况,都是Key:Value的形式,根据Key去获取对应的Value,所以我就有点蒙逼了。 去联系第三方,让他们提供demo,然而,人家说没有demo,核心代码都已经在文档里了。 我去翻了文档,看着回调这一块,孤零零的文字描述,连伪代码都没有,心里一万头草泥马。。。...原创 2019-02-19 18:04:16 · 27461 阅读 · 6 评论 -
httpClient: fail to respond
org.apache.http.NoHttpResponseException: www.abc.com:port failed to respond 这周在做一个功能,在调用外部接口的时候,莫名其妙的报这个错误。使用的类是很常见的HttpClient。网上看了其他文章,都是说什么设置“keepAlive”属性,试过了,没用;后面又怀疑服务方(www.abc.com),又证实服务方是...原创 2018-11-23 22:08:46 · 13094 阅读 · 0 评论 -
eclipse自动补全功能的缺陷
这周在做一些代码的重构,在重构的过程中,踩了一个eclipse的大坑!这里记录一下 在eclipse里写java代码,你写好方法名字,再来个回车,eclipse会自动帮你把方法的参数给补全,补全的参数跟你在补全方法定义的参数名字“一致”,即我认为的效果是这样的 public void test01(Integer id,String name,Integer age){...原创 2018-07-08 13:52:45 · 15541 阅读 · 2 评论 -
记一次线上问题排查
这周在上线一个功能的时候,碰到了“fail to respond”问题(上一篇文章),问题虽然解决了,但是解决的过程很痛苦,走了很多弯路,我觉得有必要记录下来。 情景还原:项目A(公司内部项目),项目A里面有调用项目B的接口(项目B是公司接入的第三方项目,类似于rabbitMQ的存在)。线下环境,一切ok;上线了,“一个接口都调不通”。 问题分析:碰到这个问题,我也很懵逼,咋线下好...原创 2018-11-25 23:57:01 · 3954 阅读 · 8 评论