【问题标题】:How we can synchronize HttpSession in Javascript我们如何在 Javascript 中同步 HttpSession
【发布时间】:2013-10-30 06:40:20
【问题描述】:

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

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

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

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

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

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

哪位知道这个问题的解决方法,请回复

【问题讨论】:

    标签: java javascript el


    【解决方案1】:

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

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

    希望对你有帮助

    【讨论】:

      猜你喜欢
      • 2020-11-09
      • 2012-02-12
      • 2021-05-13
      • 2017-06-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-12-24
      相关资源
      最近更新 更多