我有一个单页应用程序,使用Jquery编写,后端使用了Java。
会话超时后,如果用户进行了一些触发Ajax调用的活动,则应将用户重定向到登录屏幕。
如果这将是另一个页面请求,那么以下解决方案可能已经奏效,但是由于它是Ajax调用,因此重定向只会对成功函数给出另一个响应。
我试过了
在主过滤器中
HttpSession session = request.getSession(false);
if(session != null && !session.isNew()) {
chain.doFilter(request, response);
}else {
response.sendRedirect("/login.jsp");
}
Run Code Online (Sandbox Code Playgroud)通过在ajax调用中从主过滤器内部发送以下标头来刷新标签
httpResponse.setHeader("Refresh", "0; URL=" + targetUrl);
Run Code Online (Sandbox Code Playgroud)