【求分析】登陆时验证码总提示错误,该怎么排除错误?

是这样,最近越来越多的用户反映,第一次登陆时会经常会出现验证码错误的问题(输入的验证码和图片上的是一致的),第二次之后就没问题了!
但是我在本地一直没有重现到这个情况,所以问问大家,我是不是代码上就有问题
当用户进到登陆页面时,有一个Img标签会根据我设置的地址去请求一个验证码图片,这个验证码图片是一个Servlet生成的!
生成后会将验证码里面的数字存到session里面,等登陆的时候,会先验证用户输入的和session中存储的一否一致,如果一致再去验证账号密码的正确性与否!

废话少说,我先上代码:

图片描述

我在本地调试时没问题的,但是一放到线上就会时不时的验证码错误。。。现在每天会有很多人登陆,不知道是否跟人数有关系呢?
求大家帮忙分析分析!

阅读 4.8k
1 个回答

可能你自己调试时没并发的问题吧,真实环境有很多用户同时访问会有并发问题
SpringMvc的默认Scope是单列模式(singleton),顾名思义,肯定是线程不安全的
可能你生成的验证码字符串是成员变量,那么这个成员变量的值是各个线程共享的
@Scope("prototype") 可以保证每个请求都会创建一个新的实例

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题