`

Session过期,关闭父窗口,跳转到登陆页面

阅读更多

D:\GTRS_workspace\TRS_1_TimeReportingFEWeb\WebContent\sessionTimeoutTarget.jsp

 

add for the window.open() with session_timeout,that close the child_page and reload the father_page.

In the sessionTimeoutTarget.jsp

<head>
<script type="text/javascript">
function redirectPage(){
	if (window.opener && window.opener.location) {
 		window.opener.document.location.replace('sessionTimeoutTarget.jsp');
		window.close(); 
	}
}
</script>
</head>
<body onload="redirectPage();">

 

配置Filter过滤器,Session过期跳转。

public class SessionExpirationFilter implements Filter {

    private String expiredUrl;
    
	public void destroy() {
		// TODO Auto-generated method stub
	}

	public void doFilter(ServletRequest request, ServletResponse response,
			FilterChain chain) throws IOException, ServletException {
		//String loginUrl = "/login.jsp";
		//setExpiredUrl(loginUrl);		
        HttpServletRequest httpRequest = (HttpServletRequest) request;
        HttpServletResponse httpResponse = (HttpServletResponse) response;
        
        HttpSession session = httpRequest.getSession(false);
	
        if (session == null || httpRequest.getRequestedSessionId() == null || httpRequest.isRequestedSessionIdValid())
        {    
        	String requestURI = httpRequest.getRequestURI();
        	httpResponse.sendRedirect(httpResponse.encodeRedirectURL(targetUrl));
            	return;
        }
        chain.doFilter(request, response);
	}

	public void init(FilterConfig arg0) throws ServletException {
		// TODO Auto-generated method stub
	}

    public void setExpiredUrl(String expiredUrl) {
        this.expiredUrl = expiredUrl;
    }
    
}

 配置xml中的expiredUrl值

	<bean id="sessionExpirationFilter" class="com.ubs.swidTRS.v1.timereporting.core.util.SessionExpirationFilter">
		<property name="expiredUrl" value="/sessionTimeoutTarget.jsp"></property>
	</bean>

 

分享到:
评论

相关推荐

    Session过期后自动跳转到登录页面的实例代码

    在本文中,我们将探讨如何在Session过期后自动将用户重定向到登录页面。 首先,开发者可能尝试使用Session监听器(HttpSessionListener)来检测Session的过期。监听器是Java Servlet规范的一部分,允许我们注册监听...

    Java Web实现session过期后自动跳转到登陆页功能【基于过滤器】

    Java Web实现session过期后自动跳转到登陆页功能【基于过滤器】 本文主要介绍了Java Web实现session过期后自动跳转到登陆页功能,涉及java过滤器针对session的判断与跳转相关操作技巧。 一、建立基本过滤器 要...

    判断session过期的方式

    // Session过期处理,如注销用户、重定向到登录页面等 } ``` ### 2. 使用Session监听器 Java Web应用可以注册Session监听器来监听Session的生命周期事件,包括创建、销毁以及过期。当Session被废弃或过期时,监听...

    设定tomcat中session过期时间.txt

    - 如果参数设为-1,则表示Session永远不会过期,除非用户显式注销或关闭浏览器。 #### 结论 通过上述三种方式,开发者可以根据实际应用场景灵活选择最适合的方式来设定Tomcat中的Session过期时间。无论是全局范围...

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

    这段脚本的意思是,如果当前窗口对象不是顶层窗口对象,那么就将顶层窗口的location.href设置为当前页面的location.href,这会导致整个浏览器窗口跳转到当前页面,实现了从iframe中跳出的效果。 此外,如果需要在...

    session过期问题

    1. **重定向到登录页**:当Session过期,服务器会检测到Session不存在,这时通常会将用户重定向到登录页面,提示用户重新登录。 2. **显示提示信息**:除了重定向,也可以选择在当前页面显示提示信息,让用户决定...

    session过期处理

    - 自动跳转到登录页:服务器可以设置拦截器或过滤器,当检测到Session过期,直接重定向到登录页面。 - 提示信息:告知用户Session已过期,需要重新登录。 4. **Session与Cookie的关系**:Session依赖于Cookie来...

    session失效重新登录后,返回之前页面,并保留表单数据

    这涉及到一系列的技术处理和设计原则,包括Session管理、登录逻辑、页面跳转以及数据持久化等。 1. Session管理: Session是服务器端保存用户状态的一种方式,它通过一个唯一的Session ID来标识每个用户。服务器将...

    项目访问时间过长session过期提醒

    "项目访问时间过长session过期提醒"这个话题涉及到的是如何配置Web应用程序,以便在用户的会话过期时自动跳转到特定的过期页面,提醒用户重新登录。下面我们将详细讲解实现这一功能的关键步骤和技术。 首先,我们...

    c#实现cookie和session的登陆实例

    - 这样做的好处是,即使用户关闭浏览器再打开,只要Cookie未过期,仍能保持登录状态。但同时要确保Session ID的安全性,防止Session Hijacking攻击。 4. **跨域登录处理**: - 如果应用有多个子域名,可能需要...

    在ASP.NET中,设置Session的过期时间的方法

    方法一:  在后台应用程序中设置:Session.Timeout = 1;  注意:1、此方法可以设置在一个... 您可能感兴趣的文章:php 如何设置一个严格控制过期时间的sessionjava设置session过期时间的实现方法php中实现精确设置se

    ext session失效 页面跳转

    总结起来,EXT中的Session失效页面跳转涉及到前后端的协同工作。前端EXT应用需要监听和响应Session失效的事件,而后端服务器则需要正确地管理和验证Session状态。这种机制确保了用户的会话安全,防止了未经授权的...

    dwz框架实现拦截器 session超时跳转登陆页面

    dwz框架实现拦截器 session超时跳转登陆页面 DWZ框架 struts2拦截器 session超时

    jQuery ajax全局函数处理session过期后的ajax跳转问题

    如果发现数据中包含会话过期的消息,那么通过JavaScript代码将浏览器窗口重定向到登录页面。 示例代码大致如下: ```javascript $(document).ready(function() { $.ajaxSetup({ complete: function(xhr, status)...

    session过期时间设置

    通过Java代码设置Session的过期时间,例如在主页面或公共页面中加入以下代码: ```java HttpSession ses = request.getSession(); ses.setMaxInactiveInterval(900); // 设置900秒后过期,即15分钟 ``` 这里的...

    详解php设置session(过期、失效、有效期)

    在PHP中,Session是一种非常重要的会话管理机制,它允许开发者在用户的不同页面请求之间保持状态。本篇文章将深入探讨如何在PHP中设置Session,包括过期、失效以及有效期的管理。 首先,让我们关注`session.save_...

    Extjs 4.1 (MVC) 如何动态加载控制层以及session 过期该如何处理

    当检测到`sessionstatus`为"timeout"时,显示提示信息并重定向用户到登录页面: ```javascript Ext.Ajax.on('requestcomplete', checkSessionStatus, this); function checkSessionStatus(conn, response, options...

    phpcms web发布session过期问题解决

    这个问题通常出现在用户登录后,在一段时间不操作或者刷新页面时,系统提示session已过期,导致用户需要重新登录。这不仅影响用户体验,也可能对业务连续性造成影响。为了解决这个问题,我们需要深入理解PHP session...

Global site tag (gtag.js) - Google Analytics