Java 当从ajax调用引发请求时,重定向页面在筛选器中不工作?

Java 当从ajax调用引发请求时,重定向页面在筛选器中不工作?,java,ajax,spring,session,filter,Java,Ajax,Spring,Session,Filter,我正在使用spring筛选器在会话过期时重定向到登录页面。它在页面刷新调用中运行良好,但我的应用程序中有一个上传选项,这是一个ajax调用。 当用户点击上传按钮时,一旦会话过期,它就不会重定向到登录页面。为什么会这样 请帮我提一些有价值的建议 提前感谢如果您使用的是ajax,那么我认为当您进行部分调用时,页面不会重定向。 更好的方法是,当ajax调用没有返回所需的值并且会话似乎已过期时,仅使用javascript部分刷新页面。下面是代码 location.reload(); 在Java脚本中

我正在使用spring筛选器在会话过期时重定向到登录页面。它在页面刷新调用中运行良好,但我的应用程序中有一个上传选项,这是一个ajax调用。 当用户点击上传按钮时,一旦会话过期,它就不会重定向到登录页面。为什么会这样

请帮我提一些有价值的建议


提前感谢

如果您使用的是ajax,那么我认为当您进行部分调用时,页面不会重定向。 更好的方法是,当ajax调用没有返回所需的值并且会话似乎已过期时,仅使用javascript部分刷新页面。下面是代码

location.reload();
在Java脚本中

//Add here Your Ajax call
//post ajax call
xmlhttp.onreadystatechange=function()
  {
    if (xmlhttp.readyState==4 && xmlhttp.status==200)
    {
      var res=xmlhttp.responseText;
      if(var==1) //checking if response is 1. I'll return 1 if session expires else whatever data makes sense
      {
        location.reload();
      }
      else
      {
            // do stuff you'll do if session exists
      }
    }
  }
Java部分

if(request.getSession()==null)
  {
        response.getOutputStream().print("1");
  }
  else
  {
    //do required stuffs
  }

尝试过这一点,但在会话过期时没有使用。页面没有完全执行,即ajax调用没有完成。我对spring filter没有经验,但我想有些地方您必须检查会话是否过期。因此,如果(session==null)在响应流中写入1或0或其他内容,则在ajax代码中使用javascript的if子句检查它,然后重定向,这就是问题所在,我在过滤器中获取所有内容,但重定向在过滤器中不起作用。我使用的是response.sendRidrect(),当我在sesion过期后启动ajax调用时,这个命令不起作用。我添加了另一条注释,看看是否有帮助