日期:2014-05-16  浏览次数:20346 次

JSP中验证码的问题,求各位大虾帮手下。!
在JSP页面请求的时候,我一个<img src="请求后台URL"/>去加载一段验证码图片。

我用session在后台保存值。然后前台用<%session.getattribute %>取值的时候一直取的是上个session的值。。

后台才知道JSP是先加载code再去加载图片的。。

所以我每次取的session是上个action传过来的session  取当前的取不到。

有没有页面刷新session的方法或者什么的啊   怎么取到当前session的值啊!


小弟求解。!!
------解决方案--------------------
给img标签加onload事件或者window.onload事件,然后动态向head增加一个script标签加载一个动态页输出session。

不能直接<%=session%>,因为<%%>这些代码执行完了才会执行到客户端的img加载图片,session才更新到最新的验证码。

<script>
    function getSession() {
        var s = document.createElement('script');
        s.src = '输出session的动态页';//只负责输出   var session='验证码session的值';   这些内容就行
        s.type = 'text/javascript';
        document.getElementsByTagName('head')[0].appendChild(s);
    }
</script>
<img src="验证码地址url" onload="getSession()" />