从 PHP 调用 Java 方法


Calling Java Methods from Php

我有一个前端有php,后端有Java的应用程序。我使用 php 中的 Hessian 来调用 Java 方法,并将数据从 Java 返回到 php。现在我对 Hessian 有一些问题,我得到了一些例外,你可以看到我之前发布的问题。https://stackoverflow.com/questions/11121340/hessianserviceexporter-only-supports-post-requests

有没有其他方法可以从 php 代码调用 java 函数,就像 hessian 一样?

如果是这样,有人可以告诉我吗?

最简单的方法是使用 JAX-RS 实现 REST 层。Apache CXF 是一个用于部署 JAX-RS 服务的优秀、非常简单的系统。您可以构建整个服务层,而不必担心 Java/PHP 交互。

为了让您了解它是多么容易:

import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.QueryParam;
import javax.ws.rs.core.MediaType;
public class DemoService {
    @GET
    @Path("sayHello")
    @Produces(MediaType.TEXT_PLAIN)
    public String sayHello() { return "Hello, world!"; }
}

CXF 的 servlet 的 bean.xml 的内容如下所示:

<import resource="classpath:META-INF/cxf/cxf.xml"/>
<import resource="classpath:META-INF/cxf/cxf-servlet.xml"/>
<jaxrs:server id="demoService" address="/demoService">
    <jaxrs:serviceBeans>
        <ref bean="serviceBean"/>
    </jaxrs:serviceBeans>
</jaxrs:server>
<bean id="serviceBean" class="com.company.DemoService"/>