javaweb首次访问页面 验证码session不同步、不一致问题
之前,我的项目里一直有这个问题,让我蛋疼许久,因为有其他工作要做,所以打算先弄完其他的再来消灭它。
今天,开始捉摸这玩意是怎么产生的。
在我的获取验证码图片的代码中,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的操作
至于我见有人说。考虑把验证码发到前台去,然后前台校验,这种办法真的不叫办法啊。。把验证码发前台去跟不加验证码没什么很大区别。。(至少我这么认为。。大家不要喷哈)
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。
- 上一篇: 如何在CentOS 7上安装Nginx
- 下一篇: centos7 nginx安装与配置实现负载均衡