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


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

废话少说,我先上代码:

图片描述

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

spring-mvc java servlet JSP spring

ruben 9 years, 10 months ago

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

帕萩莉诺蕾姬 answered 9 years, 10 months ago

Your Answer