将JSON数据从JavaScript发送到服务器上的Java程序

Send JSON data from JavaScript to a Java program on the server

本文关键字:服务器 Java 程序 数据 JSON JavaScript      更新时间:2023-09-26

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

更新:我发现你可以从JavaScript调用Java Applet中的方法调用。我认为这将是使用我现有的Java程序的最简单的方法,只需稍加修改。

您不需要有JSP,实现这一点的一种方法是编写HTTP Servlet,将其放入Tomcat等Servlet容器中,并让PHP对Servlet执行POST操作。

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

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

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

虽然我倾向于使用Servlet解决方案,但有一种相对简单的方法可以在不同的编程语言之间通信流数据。在您的情况下,您可以在Java中以侦听模式打开TCP套接字,并从PHP连接到它,然后将数据从PHP转发到Java。在PHP (cf. socket_write)和Java (socket)中都有内置的socket支持。查看Java套接字编程的官方教程

DWR可以用来发送JSON对象给java程序。

面向Java开发者的Ajax:带有直接Web远程的Ajax