whilewon 2011-11-12 20:31
浏览 213
已采纳

想让session不超时,对于我这个问题怎么处理?

我的test.jsp页面内容如下:
[code="jsp"]
<%
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+request.getContextPath();
%>




function createXmlHttpObj() { var xmlHttp = false; try { xmlHttp = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { try { xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); } catch (e2) { xmlHttp = false; } } if (!xmlHttp && typeof XMLHttpRequest != "undefined") { xmlHttp = new XMLHttpRequest(); } return xmlHttp; //保持session不超时,每隔指定秒数数进行一次ajax访问页面 function keepSessionNotTimeOut(pointedSecond){ var __xmlHttp = createXmlHttpObj(); var __url='<%=basePath%>/common/index/blank.jsp'; //我在此页面已经有打印,访问没问题 var id=window.setInterval(function (){ __xmlHttp.open('get',__url,true); __xmlHttp.send(null); },pointedSecond*1000); } keepSessionNotTimeOut(1); function scan(){ var txt='<xml><id="23"></xml>' var retValue = CltObj.DocsNewCCZG(txt,''); //这是扫描空间的显示界面执行发法 //接下来就是我程序对扫描控件返回值retValue 做一些数据库插入 ,以后的代码省略 } }

[/code]

[size=large][b]问题详细:[/b]因为扫描控件界面我可能要操作30分钟以上,甚至要达到3小时,而我设置的SESSION超时是30分钟,首先我不能把SESSION超时设置3个小时。当运行扫描完资料,超过30分钟,当我再拿控件返回的数据进行插入数据库操作,则会提示超时。

[b]我的设想:[/b]执行scan方法的时候,keepSessionNotTimeOut方法一直在进行保持session不超时的ajax提交,这样即便扫描控件使用3小时,也不会因为超时而不能对控件返回的数据进行数据库插入。

[b]实现的糟糕结论:[/b]当我点击“扫描”按钮之后,keepSessionNotTimeOut的发送请求就不会执行,怎么看到没有执行,是我在被请求页面进行的输出得出结果。但是当我,关闭扫描界面,接着执行keepSessionNotTimeOut方法。

请求各位帮忙,怎么实现我的设想?是不是对优先于ActiveXObject对象的执行?这是我的表象结论。[/size]

  • 写回答

3条回答 默认 最新

  • qq1988627 2011-11-14 10:04
    关注

    1.设置定时器或者线程 当你启动扫描时候 同时向后台启动线程或者开始计时

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 R语言Rstudio突然无法启动
  • ¥15 关于#matlab#的问题:提取2个图像的变量作为另外一个图像像元的移动量,计算新的位置创建新的图像并提取第二个图像的变量到新的图像
  • ¥15 改算法,照着压缩包里边,参考其他代码封装的格式 写到main函数里
  • ¥15 用windows做服务的同志有吗
  • ¥60 求一个简单的网页(标签-安全|关键词-上传)
  • ¥35 lstm时间序列共享单车预测,loss值优化,参数优化算法
  • ¥15 Python中的request,如何使用ssr节点,通过代理requests网页。本人在泰国,需要用大陆ip才能玩网页游戏,合法合规。
  • ¥100 为什么这个恒流源电路不能恒流?
  • ¥15 有偿求跨组件数据流路径图
  • ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值