避免Spring MVC中的会话超时

时间:2015-07-01 12:09:18

标签: java spring jsp spring-mvc session

我使用会话变量传递所有必要的数据,当会话到期时,所有数据都将丢失。我希望它不会在特定的jsp上过期,但是在其他jsps会话中它会过期。

我建议根据计时器连续向服务器发送请求,以避免会话到期,尤其是jsp。

我使用spring mvc。我怎么能在特定的jsp上做到这一点?

我尝试了下面的代码,但我需要做的是在不使用图像的情况下向服务器发送请求:

function keepMeAlive(imgName) {
   myImg = document.getElementById(imgName);
   if (myImg) myImg.src = myImg.src.replace(/?.*$/, '?' + Math.random());
}
window.setInterval("keepMeAlive('keepAliveIMG')", 100000);

<img id="keepAliveIMG" width="1" height="1" src="http://www.some.url/someimg.gif?" />

2 个答案:

答案 0 :(得分:0)

尝试使用ajax调用:

function keepAlive(){
    $.get( window.location.pathname, function( data ) {console.log(data)} );
}

window.setInterval(keepAlive, 100000);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

答案 1 :(得分:0)

function f(){
              var oRequest = new XMLHttpRequest();
var sURL = "http://"
         + "localhost:8080/sessionAlivecheck/"
         + "/example/newjsp.jsp";

oRequest.open("GET",sURL,false);
oRequest.setRequestHeader("User-Agent",navigator.userAgent);
oRequest.send(null);
//alert("hhh");
          }

          $(document).ready(function () {
  setInterval(f, 2000);
});