瀵逛簬鏅氱殑http璇鋒眰錛屽彲浠ラ氳繃榪囨護(hù)鍣‵ilter鏉ュ垽鏂璼ession瓚呮椂錛岀劧鍚庤煩杞埌鐧誨綍欏甸潰錛涗絾鏄浜嶢jax璇鋒眰錛屽垯涓嶄細(xì)濡傛湡寰呯殑閭f牱鑷姩杞埌鐧誨綍欏甸潰錛堟垜璇曚簡緗戠珯涓婄殑璁稿縐嶆柟妗堬紝閮芥槸鍋滅暀鍦ㄥ綋鍓嶉〉闈級錛屽ソ涓嶅鏄撴壘涓綃囷紝浣嗘槸浠g爜榪樻槸鏈夌偣闂錛屼笉鑳借繍琛岋紝鑷繁淇敼浜嗕笅錛屽茍嫻嬭瘯閫氳繃錛屾墍浠ユ嬁鍑烘潵鍒嗕韓涓嬨?
涓嶈鏄櫘閫歨ttp璇鋒眰榪樻槸ajax璇鋒眰錛岄兘鍙互閫氳繃榪囨護(hù)鍣?鎷︽埅鍣ㄦ潵灝嗚姹傛崟鑾鳳紝鑰屼笖鍖哄垎榪欎袱縐嶈姹傚湪浜庡ご閮ㄤ俊鎭殑涓嶅悓錛氭櫘閫歨ttp璇鋒眰鐨刪eader鍙傛暟涓病鏈墄-requested-with:XMLHttpRequest澶翠俊鎭紝鑰屽紓姝ョ殑鏈夈?/p>
鑷繁瀹氫箟涓涓狥ilter錛岀劧鍚庡湪doFilter()涓姞濡備笅浠g爜錛?/p>
- if (request.getHeader("x-requested-with") != null
- && request.getHeader("x-requested-with").equalsIgnoreCase(
- "XMLHttpRequest")) {
- response.addHeader("sessionstatus", "timeout");
- }else{
- }
if (request.getHeader("x-requested-with") != null
&& request.getHeader("x-requested-with").equalsIgnoreCase( //ajax瓚呮椂澶勭悊
"XMLHttpRequest")) {
response.addHeader("sessionstatus", "timeout");
}else{//http瓚呮椂鐨勫鐞?
}
鍐嶅湪WEB.XML鏂囦歡涓厤緗繖涓狥ilter錛屽茍涓旇鏀懼湪STRUTS2鐨凷trutsPrepareAndExecuteFilter鍓嶉潰錛岀浉鍏充唬鐮侊細(xì)
- <filter>
- <filter-name>xxxFilter</filter-name>
- <filter-class>xx.xxx.xxx.xxxxFilter</filter-class>
- </filter>
-
- <filter-mapping>
- <filter-name>xxxFilter</filter-name>
- <url-pattern>*.jsp</url-pattern>
- </filter-mapping>
<filter>
<filter-name>xxxFilter</filter-name>
<filter-class>xx.xxx.xxx.xxxxFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>xxxFilter</filter-name>
<url-pattern>*.jsp</url-pattern>
</filter-mapping>
鍦ㄦ瘡涓姛鑳絁S涓坊鍔犱唬鐮侊細(xì)
- Ext.Ajax.on('requestcomplete',checkUserSessionStatus, this);
- function checkUserSessionStatus(conn,response,options) {
-
- var sessionStatus = response.getResponseHeade["sessionstatus"];
-
- if(typeof(sessionStatus) != "undefined"){
- Ext.Msg.alert('鎻愮ず', '浼?xì)璇澀憛鏃跺Q岃閲嶆柊鐧誨綍!', function(btn, text){
- if (btn == 'ok'){
- var redirect = 'http://localhost:8080/欏圭洰鍚?login.jsp';
- window.location = redirect;
- }
- });
- }
- }