【问题标题】:Send JSON data from JavaScript to a Java program on the server将 JSON 数据从 JavaScript 发送到服务器上的 Java 程序
【发布时间】:2011-08-12 17:17:35
【问题描述】:

我有一个网页,它在 JavaScript 中进行了大量处理并创建了一些漂亮的表格/图表/等。我想将它导出到 Excel 并且没有找到任何可以处理图表的 PHP 库,所以我使用 Apachi 的 POI 库编写了一个 Java 程序。现在的问题是,如何将 JSON 数据发送到 Java 程序。最初,我认为我可以将 POST 请求中的 JSON 数据发送到 PHP 页面,然后让 PHP 进行系统调用并在命令行上传递数据。但是 700,000 个字符对于命令行来说可能有点太多了。我研究了 JSP 和 Servlet,但对这些没有经验(注意我的服务器也没有安装它)。有关如何将数据直接发送到 Java 程序的任何建议?

更新:我发现您可以在 JavaScript 的 Java Applet 中使用 invoke method calls。我认为这将是使用我现有的 Java 程序的最简单方法,只需稍作修改。

【问题讨论】:

    标签: java javascript json


    【解决方案1】:

    您不需要拥有 JSP,实现此目的的一种方法是编写一个 HTTP Servlet,将其放入 Tomcat 等 Servlet 容器中,然后让您的 PHP 对 Servlet 进行 POST。

    这将打开一个完整的 Java EE 范例。 ( :

    否则,您可以检查 PHP 是否允许您运行命令行批处理,该批处理运行您的 Java 程序,然后在您的 Java 程序中将调用结果输出到文本文件或数据库,然后让您的 PHP 程序读取它。

    不,700k(600kb?)字符对于“命令行”来说并不算多,我已经看到批处理作业在更多兆字节的数据上运行。

    【讨论】:

      【解决方案2】:

      虽然我更喜欢使用 Servlet 的解决方案,但有一种相对简单的方法可以在不同的编程语言之间传递流数据。在您的情况下,您可以在侦听模式下在 Java 中打开 TCP 套接字并从 PHP 连接到它,然后将数据从 PHP 转发到 Java。 PHP (cf. socket_write) 和 Java (Socket) 都内置了套接字支持。请查看official tutorial 了解 Java 套接字编程的介绍。

      【讨论】:

        【解决方案3】:

        DWR 可用于将 JSON 对象发送到 java 程序。

        Ajax for Java developers: Ajax with Direct Web Remoting

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2014-06-26
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2013-01-30
          • 2013-11-22
          • 1970-01-01
          相关资源
          最近更新 更多