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)频道。
感谢您的编辑。