我有一个前端有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"/>