Portlets-从服务器端保持会话活动

问题描述:

我正在实现jsr 186 portlet,并且有一些servlet用于实现一些ajax。问题是如果我只进行一段时间的AJAX调用,则会失去会话。奇怪的是,保持活动的servlet会话不会阻止portlet会话超时。Portlets-从服务器端保持会话活动

有没有一种方法可以让我的servlet在服务器端保持活动状态?

FWIW我使用的是spring和spring mvc/portlet。

感谢, 米格尔·平

我实现它使用轮询保持一个portlet URL一个JavaScript计时器。 portlet网址是在生成之前生成的,因此可以通过javascript访问。

我有同样的问题。 (使用OpenPortal Portlet容器)

据我所知有两个不同的会话,1-门户会话,2-容器会话。

我创建了一个简单的portlet,并定期向容器中的ajax发送请求。但是,会话超时。我的代码片断是在这里:

<% 
    int per=15000; //ms 
    String sessionExtenderPath = "http://portal.abc.com.tr:8080/SessionExtend/SessionExtend"; 
    //This is a portlet which includes servlet that returns a simple string. 
%> 

<script> 
    periyod=100; 

    function invokeRequest(){ 
    $.get("< %=sessionExtenderPath% >", function(data) { 
     alert(1); 
    }); 
    } 
    window.setInterval("invokeRequest()",periyod); 
</script> 

我已经解决了通过请求容器页面我的问题(wihout定义为portlet)频道。

感谢您的编辑。