Heim > php教程 > PHP开发 > So lösen Sie das Problem des Sitzungsablaufs in JSP, indem Sie zur Anmeldeseite springen und aus dem Iframe herausspringen

So lösen Sie das Problem des Sitzungsablaufs in JSP, indem Sie zur Anmeldeseite springen und aus dem Iframe herausspringen

高洛峰
Freigeben: 2017-01-07 09:41:54
Original
2234 Leute haben es durchsucht

Wenn die Sitzung abläuft, können Sie Filter verwenden, um Weiterleitungsseiten festzulegen

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);
}
}
Nach dem Login kopieren
Aber dies kann nicht aus Iframes und anderen Frames ausbrechen.
Sie können das Problem mit JavaScript lösen

Fügen Sie den folgenden Code zwischen der Seite ein, zu der Sie den Sprung steuern möchten, z. B. login.jsp zwischen und :

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

Skriptanweisung des JS-Aktualisierungsrahmens

//如何刷新包含该框架的页面用   
<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>
Nach dem Login kopieren

Weitere verwandte Artikel zum Lösen des Problems des Sitzungsablaufs und zum Springen zur Anmeldeseite und zum Verlassen des Iframes in Jsp: Bitte achten Sie auf die chinesische PHP-Website!


Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Empfehlungen
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage