国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
ExtJs J2EE的Session過時請求(Timeout)的處理
userphoto

2010.05.30

關注

ExtJs J2EE的Session過時請求(Timeout)的處理

發(fā)布時間: 2009-11-11 00:00

在JOffice(OA)中,我們的應用程序是屬于那種One Application One Page,所有的請求都是都可以說是通過Ext.data.Connection來處理的,因此可以在這里做一個特別的處理,當session timeout時,讓程序直接跳至登錄頁。或彈出一個登錄的窗口,兩種方式均可。

 

JOffice(OA)中的安全采用了Spring Security 2,即用戶在未登錄或session過期中,其訪問的地址就會被轉移至login.jsp,配置如下所示:

 

Java代碼
  1. <http auto-config="true" access-denied-page="/403.jsp" lowercase-comparisons="true" >   
  2.  <form-login default-target-url="/index.jsp" login-page="/login.jsp" authentication-failure-url="/login.jsp?error=true" login-processing-url="/j_security_check" />  
  3.     
  4.         <logout logout-url="/j_logout.do" logout-success-url="/login.jsp"/>   
  5.           
  6.         <remember-me key="RememberAppUser"/>  
  7.     </http>  

 那么,當頁面跳至login.jsp時,我們在該頁面設置一個Response Header告訴瀏覽器,該用戶的session已經timeout,代碼如下所示:

Java代碼
  1. <%  
  2.         response.addHeader("__timeout","true");  
  3.     %>  

 而剩下的就是處理該標識:

 

代碼如下:

Java代碼
  1. Ext.onReady(){  
  2.         Ext.util.Observable.observeClass(Ext.data.Connection);  
  3.     Ext.data.Connection.on('requestcomplete', function(conn, resp,options ){  
  4.         if (resp && resp.getResponseHeader && resp.getResponseHeader('__timeout')) {  
  5.             window.location.href=__ctxPath+'/login.jsp';  
  6.         }  
  7.     });  
  8. }  

 

說明:

Connection的這個requestcomplete事件是所有的Ajax請求都必須觸發(fā)的,所以把它作為總的入口。

 

本站僅提供存儲服務,所有內容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權內容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
ExtJS做Ajax請求的超時設置——timeout屬性
JSP和Struts正確解決用戶退出問題
Session對象
正確優(yōu)雅的解決用戶退出問題——jsp和struts解決方案
SpringMvc和servlet簡單對比介紹
非法訪問
更多類似文章 >>
生活服務
分享 收藏 導長圖 關注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服