• 如何保持session永不失效

    普通类
    • 支持
    • 批判
    • 提问
    • 解释
    • 补充
    • 删除
    • session永不失效

     

    问题由来

          由于网站设置了默认的session失效时间是30分钟,但是当用户在某个页面停留时间超过30秒的话,session就失效了,需要重新登录。这对于一般的页面没有问题,但是对于一些编辑页面问题就大了,用户辛辛苦苦编辑的内容一提交,就什么也没有了。

    解决方法

          在需要保持session的页面,包含一个不可见的iframe,在iframe中,每隔一定的时间就向服务器端发送请求,从而保持session

     

    实现代码

    在要保持session的页面添加如下代码:

    1. <iframe  src="/lc/keepSessionAlive.jsp" frameborder="0" height="0" scrolling="no"></iframe>   

    keepSessionAlive.jsp的代码如下:

    1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">   

    2. <%  

    3.     //System.out.println(Math.random());  

    4. %>  

    5. <script type="text/javascript">     

    6. function keepsession(){  

    7.     var href = document.location.href;  

    8.     var url = href.substring(0, href.indexOf("jsp"))+"jsp?RandStr="+Math.random();  

    9.     document.location=url;  

    10. }     

    11. window.setTimeout("keepsession()",600000);//request the server per 10 mins.  

    12. </script>  

     

    注意事项

          重新加载页面的时候,要加上随机数的参数,否则页面有可能页面被缓存起来,达不到想要的效果。url后面加随机参数,在很多场合都有用到,当你觉得问题莫名其妙的时候,你想到过随机数参数吗?

    • 标签:
    • 重新
    • 代码
    • 参数
    • session
    • jsp
    • math.random
    • xhtml1
    • 永不失效
    • 页面
    • 保持
    • url
  • 加入的知识群:
    学习元评论 (0条)

    评论为空
    聪明如你,不妨在这 发表你的看法与心得 ~



    登录之后可以发表学习元评论
      
暂无内容~~
顶部