session过期,处理ajax请求,使其重新登录

在session的filter中增加,当发现是过期的情况,如果是ajax请求,则写回一些信息

//session过期,如果是	AJAX请求,就写回SESSIONSTATE:0
					if(request.getHeader("x-requested-with")!=null 
							&& request.getHeader("x-requested-with").equalsIgnoreCase("XMLHttpRequest")){ 
							PrintWriter printWriter = response.getWriter(); 
							printWriter.print("{sessionState:0,url:"+request.getContextPath()+"}"); 
							printWriter.flush(); 
							printWriter.close(); 
							}else{
								response.sendRedirect(request.getContextPath());
							}



页面中,增加这个,就可以了

//处理AJAX的session过期问题
	$.ajaxSetup({ 
		contentType:"application/x-www-form-urlencoded;charset=utf-8", 
		cache:false , 
		complete:function(XHR,TS){ 
			var resText=XHR.responseText; 
			if(resText!=null && resText.indexOf("sessionState:0")>0){ 
				 document.location.href='whatever_justTotheLoginPage.action'; 
				 alert("您的登录已超时, 请点确定后重新登录!");  
				 //showMsg("您的登录已超时, 请重新登录!",'error');
			} 
		} 
	}); 


你可能感兴趣的:(session过期,处理ajax请求,使其重新登录)