介绍
这篇文章给大家分享的是有关ajax如何实现会话超时跳转到登录页面的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。
问题:使用window.location。href来跳转页面的时候,后端只需实现一个过滤器就可以在会话超时的情况下重定向到登陆页面。但是使用ajax呢?使用ajax来执行会发生302错误,并且页面不可能跳转。
<强> 1,会话过滤器强>
import java.io.IOException; & lt; p 祝辞& lt; img alt=啊癷mport javax.servlet.Filter; import javax.servlet.FilterChain; import javax.servlet.FilterConfig; import javax.servlet.ServletException; 与javax . servlet . servletrequest import ; import javax.servlet.ServletResponse; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; & lt; p 祝辞& lt; img alt=啊皃ublic class SessionFilter implements Filter { & lt; p 祝辞& lt; img alt=啊? public void 的doFilter (ServletRequest 点播,ServletResponse ,, FilterChain filterChain) ,,throws IOException, ServletException { HttpServletRequest 才能;request =, (HttpServletRequest),要求; HttpServletResponse 才能;response =, (HttpServletResponse), res; & lt; p 祝辞& lt; img alt=啊?, String requestUri =, request.getRequestURI (); & lt; p 祝辞& lt; img alt=啊?, if (requestUri.indexOf (“/login.html"),祝辞,0,| |,requestUri.indexOf(“/系统/login"),祝辞,0),{ ,,return ; ,,} & lt; p 祝辞& lt; img alt=啊?, HttpSession session =, request.getSession(假); & lt; p 祝辞& lt; img alt=啊?, if (session ==, null), { ,,//,如果是会话超时,在此处做处理。 ,,response.sendRedirect (request.getContextPath (), +,“/login.html"); ,,return ; ,,} try {才能 ,,filterChain.doFilter(请求,响应); ,,},catch (Exception e), { ,,e.printStackTrace (); ,,} return 才能;; ,} }
<强> 2,网络。xml添加配置:强>
& lt; filter> & lt;才能filter-name> sessionFilter</filter-name> & lt;才能filter-class> com.manager.filter.SessionFilter</filter-class> & lt;/filter> & lt; filter-mapping> & lt;才能filter-name> sessionFilter</filter-name> & lt;才能url-pattern>/经理/* & lt;/url-pattern> & lt;/filter-mapping>
<强> * 3,重写ajax 强>
注意:此段代码放在索引页
jQuery(函数($){ ,,var _ajax=$ . ajax; ,,. ajax美元=function(选择){ ,,,var _success =, opt ,,, opt.success | |,函数(a, b) {}; ,,,var _opt .extend美元=,(选择,,{ ,,,,成功:功能(数据,textStatus) { ,,,,,_success(数据,textStatus),, ,,,,}, ,,,,错误:函数(XMLHttpRequest, textStatus,, errorThrown) { ,,,,,//警报(XMLHttpRequest.responseText); ,,,,,//如果请求发生错误,会返回登陆页面源代码,如果源代码里面存在lovnx这个字符串,前端就重定向到登陆页面 ,,,,,var reData =, XMLHttpRequest.responseText +,““ ,,,,,如果(reData.indexOf (& # 39; lovnx& # 39;), !=, 1), { ,,,,,,window.location.href=https://www.yisu.com/zixun/?经理/login.html”rel=巴獠縩ofollow”; 返回; } } }); 返回_ajax (_opt); }; });
<强> 4,登陆页面添加代码强>
& lt; input 类型=癶idden", value=https://www.yisu.com/zixun/" lovnx ">
感谢各位的阅读!关于“ajax如何实现会话超时跳转到登录页面”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!