세 션 이 만 료 되 었 습 니 다. 부모 창 을 닫 고 로그 인 페이지 로 이동 합 니 다.

2382 단어 JavaScriptjspxmlbean
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();">

 
필터 필 터 를 설정 합 니 다. 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>

좋은 웹페이지 즐겨찾기