设置MD5加密
- 问题:更新完代码之后一直登录失败?
- 解决:查看数据库内密码完全一样,debug一步一步调试也看不出问题。
- 初步尝试:弹幕有说是因为
password = DigestUtils.md5DigestAsHex(password.getBytes());中的getBytes()需要括号内为String类型,更改,无效。 - 二次尝试:使用SQL命令查找出数据库中的密码,发现密码最后多了一个?
- 可能原因:浏览器复制 MD5 串时,鼠标多选了末尾换行 / 空格。
- 启示:1.更新重要数据优先在代码生成,不要手动复制字符串改库;
2.修改完数据后,用 SQL 查询核对完整字符串,确认无问号、无多余字符。
设置本地文件上传
问题1:图片上传失败
解决:查看输出日志,发现转给数据库的是空数据
原因:找源代码发现在写
BeanUtils.copyProperties的时候,将两个参数写反了。启示:(有,无),将有传给无。
问题2:图片上传后不回显
初步尝试:在后端直接将地址拼接为URL地址。
二次尝试:将地址输出到浏览器,发现404。
三次尝试:尝试在配置类中打印日志文件,没有输出。
四次尝试:file后少写一个冒号。。。。
原因:
WebMvcConfiguration extends WebMvcConfigurationSupport,而自己写的用于上传图片的类UploadConfiguration implements WebMvcConfigurer,两个类中都有addResourceHandlers(ResourceHandlerRegistry registry)。而WebMvcConfigurationSupport 是 Spring MVC 的底层配置类,导致自己写的类根本没有参与到文件配置中。启示:1.多写多练,自己配置过的代码最好放在一起。
2.学会定位问题,解决问题的能力比写代码更重要。无论是学习工作还是生活。