牛骨文教育服务平台(让学习变的简单)
博文笔记

javaweb首次访问页面 验证码session不同步、不一致问题

创建时间:2017-08-24 投稿人: 浏览次数:826

之前,我的项目里一直有这个问题,让我蛋疼许久,因为有其他工作要做,所以打算先弄完其他的再来消灭它。


今天,开始捉摸这玩意是怎么产生的。


在我的获取验证码图片的代码中,System.out.println一下 sessionId  470adf31-c964-48a6-9402-79e90b03b603


然后在登陆的service里面同样System.out.println一下 sessionId d7cec17d-4bfa-498e-839c-dc760a1c77eb


居然不一样诶。。。


刷新一下验证码?sessionId d7cec17d-4bfa-498e-839c-dc760a1c77eb


不变了。。。


不知道为毛首次访问(或没有你的session的时候),sessionId会谜之变化一次


蛋疼菊紧。。。好吧。。我在我的Interceptor里面get到我的session然后print一下sessionId然后再比较比较吧。。。。


然后。。。惊奇的发现。。。sessionId不变化了。。


至于具体原因。。。。还是不详。。。先这么写吧。。。有哪位大神如果知道原因的话,希望您能留言告诉我。。小菜鸟在此先行谢谢了。。。


好了,总结一下,解决办法(暂且称之为解决办法):

在intercept里面get一下session。我是这么get的:

request.getSession();
然后就可以了。。。。

有更好的办法的朋友们,请留言告诉我,因为我现在这个办法总感觉很二笔。因为在我可能不需要getsession的时候,我做了getsession的操作
至于我见有人说。考虑把验证码发到前台去,然后前台校验,这种办法真的不叫办法啊。。把验证码发前台去跟不加验证码没什么很大区别。。(至少我这么认为。。大家不要喷哈)

声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。