PHP调用java应用程序

时间:2012-02-02 04:20:46

标签: java php ipc

我的网络项目存在问题。

以前当我的教授问我做在线判断应用程序时,我选择使用php而不是Java servlet来实现它,因为我认为java servlet非常复杂。

然后问题来了。对于在线判断,我必须在服务器上使用后端java程序来处理用户提交的代码。也就是说,每次用户提交内容时,php都会调用java虚拟机并调用java应用程序。但是,要调用java应用程序,我现在的方法是使用命令行     popen(“start java -jar \”$ FILE_ROOT / OnlineJudge.jar \“”,“r”);

这很好用,但考虑到加载java虚拟机,它实际上非常慢并且容易出错。所以我想知道PHP是否有更好的方法来调用服务器上的本地java程序。因为后来我发现我仍然需要从php调用更多java。

任何想法都会受到赞赏。感谢。

3 个答案:

答案 0 :(得分:1)

你考虑过php-java bridge,这非常有用,它使用XML在php和java之间进行通信。

您需要启动一次JVM,桥接组件将有助于沟通。

here是一些例子,here你可以找到一个连接php和java的简单例子

答案 1 :(得分:1)

根据java应用程序的编写方式,将其转换为servlet可能不会太难。一旦它是一个servlet,在jetty或tomcat下运行它,然后让你的php通过CURL连接到它并从servlet中获取/获取数据。

Java servlet非常简单。如果您正在使用像Spring这样的外部框架,那么它会变得更加容易,但如果没有,您只需要扩展javax.servlet.http.HttpServlet,然后在web.xml中对其进行配置。

这有点像黑客,但不应该花太多时间来完成。

答案 2 :(得分:0)

另请参阅exec命令行执行。我做了很长时间的任务,直到深夜才用它来关闭我的电脑。