仓库管理系统错误总结

一、登录模块

1、登录时的验证码验证错误问题

在注入DefaultKaptcha的bean对象,生成验证码图片时对Producer使用了别名,但是命名时用了produer  在后续的步骤中也继续使用了这个方法,导致登录时验证码验证失败,应该注意正确的方法名。

2、登录时输入的信息都正确,但是却登录失败,显示密码错误。

登录操作时一直显示密码错误,首先看日志提示没有正确的处理开关事务,所以在Service方法上加入了@Transactional注解,但是还是登录失败,并且这次看日志发现事务没有出现问题,于是开始找是不是加密方式出了问题,于是在查询中打印出两组数据,分别是加密后的值和数据库的值,看看加密后密码是否一致。

String password = DigestUtil.hmacSign(loginUser.getUserPwd());
System.out.println("Encrypted password: " + password);
System.out.println("Password in database: " + user.getUserPwd());

结果发现打印出来的结果不一致!问题找到了!是由于在加密工具类中,在对参数数据进行加密算法中的参数写错了!结果是因为粗心才导致的!

 3、

在进行角色分页查询时有了这个报错

com.wu.entity.Role; local class incompatible: stream classdesc serialVersionUID = 3470223622275968304, local class serialVersionUID = 5011842378721719354

翻译一下就是com.wu.entity.Role;本地类不兼容:流classdesc serialVersionUID = 3470223622275968304,本地类serialVersionUID = 5011842378721719354

是因为在开发环境下,我们修改了实体类,那么如果在修改前,Redis中缓存了之前实体类的数据信息,现在用修改后的实体类信息去反序列化接收,毫无疑问,肯定是抛出序列化异常的,那么如何处理?既然实体类都改了,之前的数据肯定是不能用了,为了避免脏数据出现,那么通过Redis客户端连接工具清除之前的缓存即可,或者用代码操作Redis删除对应的数据即可。

在这里使用的是RedisDesktopManager的可视化工具清理缓存首先选中连接的Redis,按下ctrl+T,打开控制台输入flushall即可清理完成,这时候去重新启动项目即可。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值