首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > Ajax >

ExtJs session逾期

2013-04-07 
ExtJs session过期在时间为1分钟的给定session过期后点击页面所有操作,页面将跳转到登陆页面需要第一个页

ExtJs session过期
在时间为1分钟的给定session过期后
点击页面所有操作,页面将跳转到登陆页面

需要第一个页面 web.xml 来修改session-timeout
需要第二个页面 common.js 用来写前台
需要第三个页面来在后台写判断
应该是这样吧??

<session-config> 
   <session-timeout>1</session-timeout> 
</session-config>


第一个页面
function sessionTimeOut() { 
    function showResult(btn) { 
      top.location.href = 'login.jsp'; 
    }; 
    check_login = function () { 
        Ext.Ajax.request({ 
             url: './inc/session.jsp', 
             success: function (response, options) { 
             var responseArray = jsonDecode(response.responseText); 
                    if (responseArray.success == false) { 
                              Ext.MessageBox.show({ 
                                        title: '会话超时', 
                                        msg: '您的会话已由于超时而过期,请您重新登录!', 
                                        buttons: Ext.MessageBox.OK, 
                                         fn: showResult, 
                                         icon: Ext.MessageBox.WARNING 
                               }); 
                     } 
              } 
        }); 
}; 
check_login(); 
setTimeout(showResult, 3000);}

//Session过期,返回登录页面

第二个页面

/** 
* Session信息查看是否过期 

*/ 
public String sessionTimeOut(HttpServletRequest request,HttpServletResponse response){ 
HttpSession session = request.getSession(false);

if(session ==null ||session.getAttribute("loginInfo")==null) { 


try { 
response.getWriter().print("{success:false}"); 
} catch (IOException e) {



return null; 
}




第三个页面
问题来了
我咋觉得第二个页面没有跟第三个页面连到一起 
是不是哪里没有想好
没有调用
请给点提示 extjs session javascript java
[解决办法]
你做成一个方法不就行了。。每次请求前调用这个方法检查是否超时。。

java不清楚,下面是c#的,我常用的

 
public class Check
{
       /// <summary>
        /// 检查用户是否在线,ajax专用
        /// </summary>
        public static UserInfo UserOnline() { return UserOnline(null); }
        /// <summary>
        /// 检查用户是否在线
        /// </summary>
        /// <param name="u">页面名称,为null则为ajax</param>
        /// <returns></returns>
        public static UserInfo UserOnline(string u)
        {
            UserInfo ui = HttpContext.Current.Session["ui"] as UserInfo;
            if (ui == null)
            {               
                if (u == null) HttpContext.Current.Response.Write("{offline:true}");
                else HttpContext.Current.Response.Redirect("/login.aspx?" + u);
                HttpContext.Current.Response.End();
            }
            return ui;
        }
}


xxx.aspx.cs

Check.UserOnline("xxx.aspx");

热点排行