• 解决了EXTJS中的session超时后登录问题


    前段时间,就搜到一篇介绍如何控制EXTJS中SESSION超时的文章,偏就没有一次搞定,现把自己整理的经验整理出来,代码如下:

    第一步:

    自己定义一个Filter,然后在doFilter()中加如下代码:

    Java代码  收藏代码
    1. HttpSession session = request.getSession(false);  
    2.   
    3. if (session == null || session.getAttribute("user") == null) {  
    4.   
    5. if (request.getHeader("x-requested-with") != null  
    6.       && request.getHeader("x-requested-with").equalsIgnoreCase(  
    7.         "XMLHttpRequest")) {  
    8.      response.setHeader("sessionstatus""timeout");  
    9.     }  
    10.   
    11. }  

    再在WEB.XML文件中配置这个Filter,并且要放在STRUTS2的StrutsPrepareAndExecuteFilter前面,相关代码:

    Java代码  收藏代码
    1. <filter>  
    2.        <filter-name>AuthFilter</filter-name>  
    3.        <filter-class>com.vectorsoft.util.SessionCheckFilter</filter-class>  
    4. </filter>  
    5.     
    6. <filter-mapping>  
    7.        <filter-name>AuthFilter</filter-name>  
    8.        <url-pattern>*.jsp</url-pattern>  
    9. </filter-mapping>  

    第二步:

    在每个功能JS中添加代码:

    Java代码  收藏代码
    1. Ext.onReady(function(){   
    2.   
    3.     Ext.QuickTips.init();  
    4.   
    5.     Ext.Ajax.on('requestcomplete',checkUserSessionStatus, this);    
    6.     function checkUserSessionStatus(conn,response,options){    
    7.         var sessionStatus = response.getResponseHeader("sessionstatus");  
    8.         if(typeof(sessionStatus) != "undefined"){    
    9.             Ext.Msg.alert('提示''会话超时,请重新登录!', function(btn, text){  
    10.     if (btn == 'ok'){  
    11.         var redirect = '../LogoutAction';  
    12.         window.location = redirect;  
    13.     }  
    14.              });  
    15.          }    
    16.     };  
    17. //其它代码......  
    18. }  

    在完成上面两步后,基本上就已经实现了EXTJS的SESSION的超时控制,并可以顺利让用户转向登录页.

  • 相关阅读:
    转载阿里开源的分布式事务框架 Seata
    查看进程上的线程数量
    chmod命令
    查找端口与查找正在运行的进程
    可输入的文本框
    js 类和对象
    js 三维数组
    ajax
    ORACLE数据库主要的系统表和数据字典视图
    url 传参
  • 原文地址:https://www.cnblogs.com/holyes/p/9d03127dec71f87ac41eed768b5a6072.html
Copyright © 2020-2023  润新知