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>

 

你可能感兴趣的:(JavaScript,jsp,xml,bean)