双登录页面验证码问题(bug记录)

一开始觉得两个验证码刷新时会造成存入session的验证码字符串不同(因为验证码图片的src是controller动态生成图片的地址,担心生成一个图片就访问一次controller),所以做的是在验证码controller中生成两个验证码分别存放在不同名字的session属性中.

这样就产生了一个奇怪的bug,每次登出执行session.invalidate();之后session被销毁.跳转到登录页时,要生成两个验证码,每次生成第一个验证码时创建session,很正常,但是生成第二个验证码时又创建了session,这就造成第一次生成的验证码存放的session取不到了.奇怪的是jsessionid都是相同的,至今不清楚为什么会重建session.

最后的解决方案有两个:

1.不执行invalidate方法销毁session,而是将session所有属性通过session.getAttributeNames() 遍历删除,这样就解决了这个bug.

2.在页面两个验证码图片标签处写相同的生成验证码controller地址,这样不会生成两次验证码.在点击某一个验证码图片时刷新验证码同时刷新另一个验证码图片的src属性.

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值