Introducing a custom Ajaxredirect.js file on the page of the AJAX request
The code for Ajaxredirect.js is as follows:
$(function() {$.ajaxsetup ({type:' POST ', Complete:function(xhr,status) {varSessionstatus = Xhr.getresponseheader (' Sessionstatus ')); if(Sessionstatus = = ' Timeout ') { vartop =Gettopwinow (); Alert (' 10 minutes no action, session has expired, please sign in again. '); Top.location.href= '.. /logincontroller/tologinpage.do ';//request to go to the login page}} }); functionGettopwinow () {varp =window; while(P! =p.parent) {P=p.parent; } returnp; }})
The filter determines that there is no login code as follows:
1 Private voidChecklogin (httpservletrequest req, httpservletresponse Res, filterchain chain)2 throwsIOException, servletexception {3Account ACC = (account) req.getsession (). getattribute ("ACC");4 if(ACC! =NULL) {5 Chain.dofilter (req, res);6 return;7 }8 //the condition of the session failure9 //1. Judgment is an AJAX requestTen if(Req.getheader ("X-requested-with")! =NULL&& Req.getheader ("X-requested-with"). Equals ("XMLHttpRequest"))) { OneRes.setheader ("Sessionstatus", "timeout"); A}Else{//2. Not an AJAX request -Res.sendredirect (".. /logincontroller/tologinpage.do "); - } the}
Ajax request session invalidation redirect to login page