我们如何在 Javascript 中同步 HttpSession

How we can synchronize HttpSession in Javascript

本文关键字:同步 HttpSession Javascript 我们      更新时间:2023-09-26

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

ie.window.showModalDialog("mams.openAndSave",...........)

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

另一个函数使用检索以前使用表达式语言设置的会话值

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

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

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

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

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

希望这有帮助