Maison > php教程 > PHP开发 > Comment résoudre le problème de l'expiration de la session dans JSP en accédant à la page de connexion et en sortant de l'iframe

Comment résoudre le problème de l'expiration de la session dans JSP en accédant à la page de connexion et en sortant de l'iframe

高洛峰
Libérer: 2017-01-07 09:41:54
original
2227 Les gens l'ont consulté

Lorsque la session expire, vous pouvez utiliser des filtres pour configurer des pages de redirection

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);
}
}
Copier après la connexion
Mais cela ne peut pas sortir des cadres tels que les iframes.
Vous pouvez utiliser javaScript pour le résoudre

Ajoutez le code suivant entre la page vers laquelle vous souhaitez contrôler le saut, tel que login.jsp entre et  :

<script language=”JavaScript”> 
if (window != top) 
top.location.href = location.href; 
</script>
Copier après la connexion

Instruction de script du cadre d'actualisation JS

//如何刷新包含该框架的页面用   
<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>
Copier après la connexion

Pour plus d'articles connexes sur la façon de résoudre le problème de l'expiration de la session, d'accéder à la page de connexion et de sortir de l'iframe dans Jsp, veuillez faire attention au site Web PHP chinois !


Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Recommandations populaires
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal