菜鸡开发的日常踩坑记录

开发踩坑记录,不定时更新

日常踩坑记录

注意 单词拼写!!!

20200207 mybatis plus 自带insert插入异常 sql injection violation

解决方法:
使用逆向工程脚本时,生成的映射实体类在下面的注解会多table:
删除即可
@TableName(“table:ts_app_oracle_apply”)

20200209 数据库字段自动更新生成问题

异常描述:更新数据时,个别时间字段没有进行更新,但是更新操作执行完成后,不该被更新的字段更新了
解决方法: 数据库中,设计表,修改所有时间字段,根据当前时间戳更新,关闭该选项

20200210 中文乱码问题

详细信息:java后台使用content-disposition属性返回中文文件名时,出现编码问题 urlencode编码,需要前端解码

access-control-allow-credentials: true 
access-control-allow-headers: Origin,X-Requested-With,accept,content-type 
access-control-allow-methods: OPTIONS,GET,POST,DELETE,PUT 
access-control-allow-origin: * 
content-disposition: attachment;fileName=%E5%A4%A9%E5%B1%B1%E5%B9%B3%E5%8F%B0%E7%94%A8%E6%88%B7%E7%94%9F%E4%BA%A7%E7%8E%AF%E5%A2%83%E8%B5%84%E6%BA%90%E7%94%B3%E8%AF%B7%E5%AE%89%E5%85%A8%E8%B4%A3%E4%BB%BB%E6%89%BF%E8%AF%BA%E4%B9%A6.docx 
content-type: application/force-download 
date: Mon, 10 Feb 2020 03:11:46 GMT 
transfer-encoding: chunked 

20200210 指定配置文件启动

指定配置文件启动命令失效,与启动脚本与jar包同级目录下,建立config文件夹,存放配置文件在其中,
即可指定外部配置文件启动

20200216 文件删除失败

原因:没有关闭对应输入流

20200218 excel文件导入,将数据返回时出现空指针异常

经检查,发现是两张表excel中,某个字段名不一致导致

20200224 应用上线前端按钮无法显示

原因:在后台的逻逻辑判断时,只考虑了应用申请记录不为空的前提,当应用为空的时候
控制按钮的值就无法赋值,导致了前端控制按钮的值为null
解决:修改判断逻辑

20200224 nginx代理静态资源问题

原因:在nginx代理时,需要用到静态资源,静态资源的目录是从根目录也是就是“/”开始的
n那么,在配置代理时,location后就不能带有前缀或者后缀,只能以“/”开始的
当然也不是绝对,要考虑实际的静态资源的状态,去配置代理

20200224 nginx代理cas登录问题

现象: 在使用nginx代理时,发现登录的cas模块会跳到代理机ip+端口的地址,不会跳到代理地址
原因: 前端代码在写登录时,直接使用本地地址作为登录地址,所有要想到正确的登录地址,需要进行代理,才可以

20200225 文件上传出错

原因:文件上传直接报错,其实文件是上传成功的,但是由于数据库的某个字段不能为空,导致程序异常
返回错误码,直接显示文件上传失败

20200303 数据库连接异常

要注意部署数据库的环境与服务环境是否相同

20200314 接口请求异常

测试环境接口可以正常请求,但是正式环境无法请求,原因是正式环境无法直接请求正式环境对应接口,加了

20200316 ftp连接关闭

查看代码时,突然发现ftp连接后没有关闭,虽然ftp会自动关闭,但是连接过多时不关闭会对资源产生影响

20200317 无法删除压缩包文件

没有关闭压缩包文件对应的流

20200318 调用webservice接口失败

没有对接口地址

20200320 数据库连接异常

忘记配置端口

20200320 文件夹创建解析异常

linux中的文件符为/,windows中的文件符为\,要注意区分

20200324 h2数据库查询异常

在使用轻量数据库h2时,发现插入数据正常,但是查询数据会报错,会将插入的string字符串,强制转换为int类型
检查后发现,h2数据表的字段顺序与实体类中的字段顺序必选保持一致,否则会出错

20200408 postwoman请求异常

使用postwoman时,接口无法正常请求测试,但通过swagger可以正常测试使用
定位后发现postwoman是使用XMLRequest发送请求,需要在后台代码中设置跨越处理

20200420 ftp文件导出异常

用户上传文件后无法导出下载的问题,检查后发现代码没有判断非空选项值,且ftp目录权限存在异常,已经修复

20200421 redis数据获取异常

redis数据库中有对应的值,但是在代码中无法获取,调试后发现是序列化原因,代码发送取值请求时,key的序列化与redis的序列化
不一致,所以获取值失败

20200421 控制台日志打印异常

pom依赖存在冲突

20200421 mongoDB配置异常

在项目中没有使用到mongoDB的任何依赖,但是运行时抛出了没有配置mongoDB的异常
原因是在项目中使用了jmeter的依赖包,而jimter依赖包会使用MongoDB的依赖
maven在解决依赖时,会自动解决传递依赖,所以会自动引入mongodb的依赖,导致运行异常
只需要在启动类中添加排除注释即可
也可以在.iml文件中,搜索MongoDB的依赖,删除即可

20200422 mybatis pluse 映射类构造异常

在mybatis plus的映射构造类中,使用了lamlok时,会自动建立无参构造
但是如果在构造类中手动建立了构造函数,那么mybatis在执行自带查询时,结果返回会自动使用建好的构造函数
会导致返回值无法返回的异常

20200422 json数据二次转义问题

解决办法就是,只转一次。转两次就会出现这个情况,你可以把之前转的json转成map

20200509 jmeter使用java调用接口参数传递异常

场景

再使用java代码调用jmeter的接口去发送post请求时,发现json字符串会被转义
即双引号,大括号之类的特殊符号会被转义
涉及到的类为 HTTPSamplerProxy类与SampleResult类
HTTPSamplerProxy类设置请求参数,接口地址端口请求头等信息
SampleResult类用来发送请求,并接收返回结果
但是在HTTPSamplerProxy参数传递的过程中并为发现字符转义
在SampleResult发送请求时,json字符串被转义,涉及方法为queryString方法

解决方法:

经调试发现,参数转义步骤,检查为什么会执行转义
可能性猜测为.
HTTPSamplerProxy添加请求参数时,使用的形式为key:value形式,当请求参数也为键值对形式时
不论是post还是get,参数都会被拼接到url接口地址的后面,所以再使用SampleResult发送请求时
url中的特殊符号会全部被转义
所以当参数为json字符串类型,且位于body时,不用添加参数的key,直接将值添加到HTTPSamplerProxy实体中即可

疑问点

1:参数位于query时,且参数为json字符串时,如何避免转义?
此时必须转义,否则报错,目前只发现可以手动转义

你可能感兴趣的:(踩坑合集)