我正在实现 jsr 186 portlet,混合使用一些 servlet 来实现一些 ajax。问题是如果我只进行 AJAX 调用一段时间,我会丢失 session 。奇怪的是,使 servlet session 保持 Activity 状态并不能防止 portlet session 超时。
有没有办法让我在服务器端的 servlet 中保持 session Activity ?
FWIW 我正在使用 spring 和 spring mvc/portlet。
谢谢, 米盖尔平
最佳答案
我遇到了同样的问题。 (使用 OpenPortal Portlet 容器)
据我所知,有两个不同的 session ,1- portlet session ,2- 容器 session 。
我创建了一个简单的 portlet 并定期从容器中使用 ajax 向 portlet 发出请求。但是, session 超时。我的代码片段在这里:
<%
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>
我已经通过请求容器页面(没有为 portlet 定义 channel )解决了我的问题。
感谢编辑。
关于java - Portlets - 从服务器端保持 session Activity ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/945828/