我们如何在Javascript中同步HttpSession

时间:2013-10-30 06:40:20

标签: java javascript el

我的JSP包含javascript代码,其中包含两个函数 一个函数是调用servlet

ie.window.showModalDialog( “mams.openAndSave”,...........)

用于打开报告并在 HttpSession 中设置值。

另一个函数使用先前使用表达式语言

设置的检索会话值

ie.dataToSave = '$ {sessionScope.executionFilePath}';

但是在表单提交期间尚未初始化 dataToSave 变量。 上面的函数使用JSP中提供的链接动态调用。

任何人都知道此查询的解决方案,请回复

1 个答案:

答案 0 :(得分:0)

首先,您需要控制Javascript调用的流程。您可以阅读有关<body onload="myFunction()">document.ready功能的信息来控制javascript函数调用。您无法直接使用客户端javascript直接访问会话对象。可以在ajax调用servlet或任何服务器端程序的帮助下访问会话对象。因此,servlet访问HttpSession,设置属性值,获取属性值并将其返回给客户端。默认情况下,HttpSession不是线程安全的。因此,您可以通过将会话对象锁定在servlet或服务器端程序中来使其线程安全,如下所示

HttpSession session=request.getSession();
synchronized(session)
{
//setAttributes in the session object
//getAttributes from the session object
}

希望这有帮助