解决:异步判断session过期,session过期不跳转,session过期返回了页面源码但是没有跳转到过期页面;

Filter中配置session过期跳转

判断是否是ajax请求:

 /**
     * ajax 请求判断
     *
     * @param request
     * @return
     */
    public static boolean isAjaxRequest(HttpServletRequest request) {
        String headerX = request.getHeader("X-Requested-With");
        return headerX != null && headerX.equalsIgnoreCase("XMLHttpRequest");
    }

如果是ajax请求,向页面打印信息‘SESSION_OUT’,如果不是,则重定向需要跳转的页面

if (null == obj ) {
      if (isAjaxRequest(request)) {
              response.getWriter().print("SESSION_OUT");
       } else {
              request.setCharacterEncoding("UTF-8");
              response.setCharacterEncoding("UTF-8");
              response.sendRedirect(request.getContextPath() + "/loginController/session.vrv");
               }
    } 

前端jsp页面配置全局js

$(document).ajaxComplete(function (event, xhr, settings) {
    if (xhr.responseText && xhr.responseText == "SESSION_OUT") {
        window.location.href = "**********";//这边写跳转登录页面网址
    }
});

href指定需要跳转的页面路径;

你可能感兴趣的:(解决:异步判断session过期,session过期不跳转,session过期返回了页面源码但是没有跳转到过期页面;)