Jsp中解决session过期跳转到登陆页面并跳出iframe框架

当session过期后可以用过滤器来设置重定向页面。

 代码如下 复制代码

public class ActionFilter extends HttpServlet implements Filter {
private FilterConfig filterConfig;

public void init(FilterConfig config) {
this.filterConfig = config;
}

public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws ServletException, IOException {
HttpServletRequest req = (HttpServletRequest) servletRequest;
servletRequest.setCharacterEncoding(“UTF-8″);
HttpServletResponse res = (HttpServletResponse) servletResponse;
String url = req.getRequestURI();
SysUserVOImpl user = (SysUserVOImpl) req.getSession().getAttribute(“SysUser”);

if (null == user) {
if (!COMMON.isEmpty(url) && (url.endsWith(“newestlogin.jsp”) || url.endsWith(“UserLoginAction.jsp”) || url.endsWith(“login.jsp”) || url.endsWith(“loginAction.do”))) {
filterChain.doFilter(servletRequest, servletResponse);
} else {
req.getRequestDispatcher(“/newestlogin.jsp”).forward(req, res);
}
} else {
filterChain.doFilter(servletRequest, servletResponse);
}
}

但是这样不能不能跳出iframe等框架。

可以用javaScript解决

在你想控制跳转的页面,比如login.jsp中的<head>与</head>之间加入以下代码:

 代码如下 复制代码

<script language=”JavaScript”>
if (window != top)
top.location.href = location.href;
</script>

JS刷新框架的脚本语句

 代码如下 复制代码

//如何刷新包含该框架的页面用  
<script language=JavaScript>
   parent.location.reload();
</script>  

//子窗口刷新父窗口
<script language=JavaScript>
    self.opener.location.reload();
</script>
( 或 <a href="javascript:opener.location.reload()">刷新</a>   )

//如何刷新另一个框架的页面用  
<script language=JavaScript>
   parent.另一FrameID.location.reload();
</script>

如果想关闭窗口时刷新或者想开窗时刷新的话,在<body>中调用以下语句即可。

<body onload="opener.location.reload()"> 开窗时刷新
<body onUnload="opener.location.reload()"> 关闭时刷新

<script language="javascript">
window.opener.document.location.reload()
</script>

时间: 2024-09-29 15:08:39

Jsp中解决session过期跳转到登陆页面并跳出iframe框架的相关文章

Jsp中解决session过期跳转到登陆页面并跳出iframe框架的方法_JSP编程

当session过期后可以用过滤器来设置重定向页面 复制代码 代码如下: public class ActionFilter extends HttpServlet implements Filter {private FilterConfig filterConfig;public void init(FilterConfig config) {this.filterConfig = config;}public void doFilter(ServletRequest servletRequ

session丢失,跳出iframe框架

在iframe框架开发的网站中,如果在struts2中配制了session丢失就跑到登陆网页,这里的登陆网页会被嵌入到显示内容的那块区域,怎么能够让它替换整个窗口, 跳出iframe框架 呢? 解决session过期跳转到登陆页面并跳出iframe框架 在你想控制跳转的页面,比如login.jsp中的<head>与</head>之间加入以下代码: Js代码 <script language="JavaScript">   if (window !=

javaee-struts2的jsp里的frameset,在框架中单击submit按钮跳到另一个页面

问题描述 struts2的jsp里的frameset,在框架中单击submit按钮跳到另一个页面 我想在单击"登录"按钮后跳转到另一个jsp页面该怎么做 另一个界面就可以获取输入的用户信息 1.index.jsp 2.title.jsp 让心情去旅行 3.describe.jsp <body bgcolor="#adc5e6"> 让心情化作一抹阳光, 不要总是为了未来惆怅, 青春的步调, 总是喜欢将曲折高唱, 与其自卑自叹, 何不让心情化作一抹阳光, 飞

jsp中如何按照参数跳转

问题描述 jsp中如何按照参数跳转 /jsp:forward这句话是什么意思,status有什么作用 解决方案 JSP 页面自动刷新 跳转html(jsp)间跳转获取请求中的参数怎样获取jsp页面跳转参数 解决方案二: "} /> 一个页面跳转到另一个页面jsp:forward标签从一个JSP文件向另一个文件传递一个包含用户请求的request对象.jsp:forward标签以下的代码,将不能执行. 解决方案三: forward会转发URL redirection会重定向URL 两者的区别

web.xml 中设置session过期时间没有效果

问题描述 web.xml 中设置session过期时间没有效果 解决方案 session过期时间延长Session的过期时间C#如何设置session过期时间 解决方案二: 会不会代码中也设置的session时间如session.setMaxInactiveInterval(1*60)1分钟

我用 ajax提交到后台action并在action中给session重新赋值,后返回页面success,session中的值不改变,为什么?

问题描述 我用ajax提交到后台action并在action中给session重新赋值,后返回页面success,session中的值不改变,为什么? 解决方案 解决方案二:画面刷新看看.解决方案三:引用1楼rui888的回复: 画面刷新看看. 不行的.刷新是不行的.解决方案四:给点代码吧,光说我们怎么看懂,你把session重新赋值?你把数据重新赋值并放到session作用域还不错,是不是这意思?解决方案五:ajax不是无刷新向后台获取数据吗,你不操作你获取的数据你重新赋值session有什么

重写 ajax 实现 session 超时跳转到登录页面实例代码

问题:使用window.location.href来跳转页面的时候,后端只需实现一个过滤器就可以在session超时的情况下重定向到登陆页面.但是使用ajax呢?使用ajax来执行会发生302错误,并且页面不可能跳转.下面就针对这个问题来贴上我的前后端代码. 1.session过滤器 import java.io.IOException; <p style="text-align: center"><img alt=""import javax.s

请问怎么实现点击Gridview中不同的链接跳转到同一个页面的不同控件呢?

问题描述 我想用gridview做子页导航,页面里放置隐藏的panel控件,每个pannel里分别有一个gridview用来绑定新闻数据.但是怎么实现点击Gridview中不同的链接跳转到同一个页面的不同控件呢?意思就是说点击导航里任意一个分类的时候,怎么显示相应的panel?1.做子页导航的gridview的DataNavigateUrlFormatString那里该怎么写?或者用后台代码怎么实现?2.e.NewPageIndex下划了红线,是哪里缺少了什么代码?代码如下,新手,不会用后台代码

asp中设置session过期时间方法总结

 如果程序中没有设置session的过期时间,那么session过期时间就会按照IIS设置的过期时间来执行,IIS中session默认过期时间为20分钟,IIS中session时间可以更改   如果程序中设置了session过期时间,那么,即使你将IIS中session时间设置100小时也没有用,因为程序会首先按照程序中设置,只有程序没设置的情况下才会按照IIS设置的 时间设置要放在前面 例如  代码如下   Session.Timeout=30 'SEESION有效时间为30分钟  Sessi