国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > AJAX > 正文

重寫 ajax 實現 session 超時跳轉到登錄頁面實例代碼

2024-09-01 08:30:41
字體:
來源:轉載
供稿:網友

問題:使用window.location.href來跳轉頁面的時候,后端只需實現一個過濾器就可以在session超時的情況下重定向到登陸頁面。但是使用ajax呢?使用ajax來執行會發生302錯誤,并且頁面不可能跳轉。下面就針對這個問題來貼上我的前后端代碼。

1、session過濾器

import java.io.IOException;<p style="text-align: center"><img alt=""import javax.servlet.Filter;import javax.servlet.FilterChain;import javax.servlet.FilterConfig;import javax.servlet.ServletException;import javax.servlet.ServletRequest;import javax.servlet.ServletResponse;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import javax.servlet.http.HttpSession;<p style="text-align: center"><img alt=""public class SessionFilter implements Filter {<p style="text-align: center"><img alt="" public void doFilter(ServletRequest req, ServletResponse res, FilterChain filterChain)   throws IOException, ServletException {  HttpServletRequest request = (HttpServletRequest) req;  HttpServletResponse response = (HttpServletResponse) res;<p style="text-align: center"><img alt=""  String requestUri = request.getRequestURI();<p style="text-align: center"><img alt=""  if (requestUri.indexOf("/login.html") > 0 || requestUri.indexOf("/system/login") > 0) {   return ;  }<p style="text-align: center"><img alt=""  HttpSession session = request.getSession(false);<p style="text-align: center"><img alt=""  if (session == null) {   // 如果是session超時,在此處做處理。   response.sendRedirect(request.getContextPath() + "/login.html");   return ;  }  try {   filterChain.doFilter(request, response);  } catch (Exception e) {   e.printStackTrace();  }  return ; }}

2、web.xml添加配置:

<filter>  <filter-name>sessionFilter</filter-name>  <filter-class>com.manager.filter.SessionFilter</filter-class></filter><filter-mapping>  <filter-name>sessionFilter</filter-name>  <url-pattern>/manager/*</url-pattern></filter-mapping>

*3、重寫ajax

注意:此段代碼放在index頁

jQuery(function($){   var _ajax=$.ajax;   $.ajax=function(opt){    var _success = opt && opt.success || function(a, b){};    var _opt = $.extend(opt, {     success:function(data, textStatus){      _success(data, textStatus);      },     error:function(XMLHttpRequest, textStatus, errorThrown){      //alert(XMLHttpRequest.responseText);      //如果請求發生錯誤,會返回登陸頁面源代碼,如果源代碼里面存在lovnx這個字符串,前端就重定向到登陸頁面      var reData = XMLHttpRequest.responseText + "";      if(reData.indexOf('lovnx') != -1) {       window.location.href="/manager/login.html" rel="external nofollow" ;       return;      }     }    });    return _ajax(_opt);   };  });

4、登陸頁面添加代碼

<input type="hidden" value="lovnx">

以上所述是小編給大家介紹的重寫 ajax 實現 session 超時跳轉到登錄頁面實例代碼,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對武林網網站的支持!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 安多县| 内黄县| 阿瓦提县| 开化县| 将乐县| 全南县| 乐业县| 娄烦县| 汉中市| 衡阳县| 兖州市| 定远县| 壤塘县| 黄龙县| 三台县| 宜州市| 阳江市| 资兴市| 张北县| 湖南省| 南宫市| 渝中区| 鲜城| 铜梁县| 郸城县| 兰州市| 长葛市| 木里| 赣榆县| 安化县| 青州市| 固镇县| 内乡县| 济阳县| 辽中县| 福海县| 西丰县| 兴和县| 麦盖提县| 吴忠市| 台前县|