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 οnlοad="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>