Session过期处理_2

3、对于iframe嵌套架构,session过期需跳出iframe框架,到登陆界面。

     在登陆界面添加代码:

              if (window != top) {
                          top.location.href = location.href;

             }

4、对于ajax请求session 过期处理

  •      如果session超时,而且是ajax请求,就会在响应头里,sessionstatus有一个timeout

          if(session!=null){
               chain.doFilter(request, response);
         }else{
             //session过期判断是不是ajax 请求,如果是ajax请求,就会在响应头里,sessionstatus有一个timeout
             if(hrequest.getHeader("x-requested-with")!=null &&
                   hrequest.getHeader("x-requested-with").equals("XMLHttpRequest")){
                    hResponse.setHeader("sessionstatus", "timeout");
            }else{
                  hResponse.sendRedirect(hrequest.getContextPath() + "/login.do");
                  return ;
           }
    }

  • 再用一个全局的方法来处理,session超时要跳转的页面。jquery 可以用$.ajaxSetup 方法

        //全局的ajax访问,处理ajax清求时sesion超时
       $.ajaxSetup({
               contentType : "application/x-www-form-urlencoded;charset=utf-8", 
               complete : function(XMLHttpRequest, textStatus) { 
               var sessionstatus = XMLHttpRequest.getResponseHeader("sessionstatus"); // 通过               XMLHttpRequest取得响应头,sessionstatus,
           if (sessionstatus == "timeout") {
              // 如果超时就处理 ,指定要跳转的页面
             window.location.replace("url");   //跳到登陆界面的url
                }
            }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值