extjs实现session过期跳转

发布于 2022-09-11 13:00:30 字数 1821 浏览 23 评论 1

转:sd1992585

extjs实现session过期跳转

extjs基于ajax实现,因为是异步请求,所以一般的jsp session过期跳转方式不可用,但是当它session过期时会手动去在页面头信息x-requested-with中插入XMLHttpRequest值,可以利用这

点去进行exjs的session过期处理。这里提供大家一个方法:

写一个Sessionfilter过滤器,检查是否session过期,过期时间通过web.xml配置(不明白具体步骤的上百度或者google详查),

Java代码

  1. String head = httpRequest.getHeader("x-requested-with");(获得extjs session过期值)   
  2. if (head != null && !(head.equalsIgnoreCase("XMLHttpRequest"))) {   
  3. if (sessionUser == null) {   
  4.   httpResponse.sendError(999); //添加respone报错信息   
  5.   filter.doFilter(httpRequest, httpResponse);   
  6. }   
  7. else{   
  8.   filter.doFilter(httpRequest, httpResponse);   
  9. }   
  10. }  

复制代码js中需要用到extjs中一个事件:

Js代码

  1. Ext.Ajax.on('requestexception',function(conn,response,options) {   
  2.     if(response.status=="999"){   
  3.         Ext.Msg.alert('提示', '会话超时,请重新登录!', function(){   
  4.          var url = document.getElementById("atsurlid").value;   
  5.             parent.location.href = url+'login.jsp';     
  6.         });      
  7.     }         
  8. });  

复制代码然后可以实现session过期跳转。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文