zoukankan      html  css  js  c++  java
  • session超时跃出iframe并跳到登陆页面(转载)

    session超时跳出iframe并跳到登陆页面

        在网页编程时,我们经常需要处理,当session过期时,我们要跳到登陆页面让用户登陆,由于我们可能用到IFrame框架,所以我们我登陆页面需要显示在整个页面,而不是一个IFrame中,大部分的网友是用下面的代码进行实现的。

        在过滤器中写如下代码:

    printWriter out = response.getWriter();
    out.write("<script>window.parent.location.href='login.jsp'</script>");

       

        我的实现方式是:跟普通过滤器的写法一样,跳到某个action,让action决定要跳到的页面,然后在登录页面写上这么一段代码 

    <script language="JavaScript">
    //判断当前窗口是否有顶级窗口,如果有就让当前的窗口的地址栏发生变化,
    //这样就可以让登陆窗口显示在整个窗口了
    function loadTopWindow(){
    	if (window.top!=null && window.top.document.URL!=document.URL){
    		window.top.location= document.URL; 
    	}
    }
    </script>
    </head>
    <!--在body的写上onload事件要调用的方法-->
    <body onload="loadTopWindow()">

    两种方式都是用js进行实现,各有优缺点

    第一种方式的缺点是要Java中写了JavaScript代码,这样的代码风格不是很好,优点是编写简单;

    第二种方式的缺点是要发送两次请求,在登陆页面比较大的情况下,这个方式确实不太好,好在一般的登录页面都比较简单,优点是易于维护,在写是时候,只要把这么一段代码复制进去就可以了,所以我个人推荐使用第二种方式。

  • 相关阅读:
    51 Nod 1086 多重背包问题(单调队列优化)
    51 Nod 1086 多重背包问题(二进制优化)
    51 Nod 1085 01背包问题
    poj 2559 Largest Rectangle(单调栈)
    51 Nod 1089 最长回文子串(Manacher算法)
    51 Nod N的阶乘的长度 (斯特林近似)
    51 Nod 1134 最长递增子序列(经典问题回顾)
    51 Nod 1020 逆序排列
    PCA-主成分分析(Principal components analysis)
    Python中cPickle
  • 原文地址:https://www.cnblogs.com/qixin622/p/6548076.html
Copyright © 2011-2022 走看看