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代码,这样的代码风格不是很好,优点是编写简单;
第二种方式的缺点是要发送两次请求,在登陆页面比较大的情况下,这个方式确实不太好,好在一般的登录页面都比较简单,优点是易于维护,在写是时候,只要把这么一段代码复制进去就可以了,所以我个人推荐使用第二种方式。
session超时跃出iframe并跳到登陆页面(转载)的更多相关文章
- session 超时跳转登陆页面
/** * session超时跳转登陆页面 * @author zhangdong * 2017年10月24日 */ @Aspect @Component public class SessionTi ...
- 一步一步实现web程序信息管理系统之二----后台框架实现跳转登陆页面
SpringBoot springboot的目的是为了简化spring应用的开发搭建以及开发过程.内部使用了特殊的处理,使得开发人员不需要进行额外繁锁的xml文件配置的编写,其内部包含很多模块的配置只 ...
- vue定时器+弹框 跳到登陆页面
1.做一个请求拦截,并弹框提示几秒后,跳转到登陆首页或是点击确定之后直接跳转拦截用了this.$axios.interceptors.response页面上的弹框组件用了vux的组件vux地址:htt ...
- thinkphp5登录并保存session、根据不同用户权限跳转不同页面
本文讲述如何在thinkphp5中完成登录并保存session.然后根据不同的用户权限跳转相应页面功能的实现.我也在学习thinkphp源码的路上,记录一下并与大家分享.完成该步骤主要有以下三个步骤完 ...
- struts2拦截器实现session超时返回登录页面(iframe下跳转到其父页面)
需求:session超时时,返回登录页面,由于页面嵌套在iframe下,因此要跳转到登录页面的父页面,但是首页,登录页面等不需要进行跳转 实现: java文件:SessionIterceptor.ja ...
- 登录超时,给出提示跳到登录页面(ajax、导入、导出)
一.一般页面登录超时验证,可以用过滤器filter,如下: package com.lg.filter; import java.io.IOException; import javax.servle ...
- dwz ajax session超时跳转登录页(struts2自定义拦截器)
1.定义struts2拦截器(网上例子很多) 代码如下: package rt.intercepter; import java.util.Map; import javax.servlet.http ...
- session超时设置+超时页面跳转
session超时设置,方法有三种: (1)在主页面或者公共页面中加入:session.setMaxInactiveInterval(600);参数600单位是秒,即在没有10分钟活动后,sessio ...
- session过期跳转到登陆页面并跳出iframe框架的两个方法
最近在做拦截器,判断用户登录后操作超时,失去权限然后要重新登录,但是用的iframe,返回的登陆页总是在框架中显示,我百度了下,总是只有其中一个方法,现在分享下两种解决方法,希望对你们有帮助: 方法一 ...
随机推荐
- JDBC WHERE子句条件实例
在本教程将演示如何在JDBC应用程序中,从数据库表中查询数据记录, 在查询选择记录时使用WHERE子句添加其他条件. 在执行以下示例之前,请确保您已经准备好以下操作: 具有数据库管理员权限,以在给定模 ...
- chrome 下改动 agent 的方法
前言 这篇文章和 tiankonguse 的个人站点里的文章保持同步. 非常早之前,在 chrome 下改动 agent 的方法是使用 chrome 插件. 后来 chrome 的某一个版本号中自带这 ...
- 阿里云centos7安装桌面环境
centos7. 1.安装X11.yum groupinstall "X Window System". 2.安装gnome. 全安装:yum groupinstall -y &q ...
- 【WP8】换肤功能的实现
主题功能在移动开发中是最常见的功能之一,用的最多的是日间模式和夜间模式的切换,下面说说如何在WP上使用主题,不同主题的差别无非就是两种(颜色和图片),在WP上我们通常使用资源来设置颜色,系统提供了两种 ...
- .Net执行cmd命令
using System;using System.Collections;using System.Configuration;using System.Data;using System.Linq ...
- cp -rf 提示覆盖解决办法
cp覆盖时,无论加什么参数-f之类的还是提示是否覆盖,当文件比较少的时候还可以按Y确认,当很多文件的时候就不好说了 方法一:vi ~/.bashrc # .bashrc # User specific ...
- Android 应用授权访问GooleDrive
Refer:https://developers.google.com/drive/auth/android Go to the Google Cloud Console. Select a pr ...
- 教你下载BarTender 2016
BarTender是全球领先标签.条形码.RFID和证卡设计打印软件,功能强大,操作简单,具有很强的灵活性.目前,BarTender软件已更新至最新版BarTender 2016.BarTender ...
- mysql 两台主主复制配置
A.服务器 [mysqld] # The TCP/IP Port the MySQL Server will listen on port= server-id= #master-host=10.1. ...
- 运行jsp常犯的错误
error 未启动tomcat服务 tomcat端口是否已改动 404: 未部署web应用 运行时URL输入错误 检查文件的存放位置(存放文件的目录无法对外引用,如WEB-INF , META-INF ...