我有一个简单的Java客户端应用程序(Android应用程序)。我必须编写一个PHP服务器应用程序,该应用程序从Java客户端应用程序接收请求,以将一些数据写入MySQL数据库或从MySQL数据库读取一些数据。它应该分别以状态消息(写入失败/成功)或请求的数据作为响应。
我如何让Java客户端发送请求并接收来自PHP程序的答复,以及PHP程序如何接收请求并发送答复?我已经搜索过SOAP和REST体系结构,但是正在寻找一个简单的教程,它将使我能够实现这个简单的程序。
谢谢。
最佳答案
使用基本的Java SE API,您可以使用 java.net.URLConnection
触发HTTP请求。触发GET
请求的基本示例可以在Sun tutorial on the subject中找到。 POST
请求没有什么不同,您只需要将 URLConnection#setDoOutput()
设置为true
并将查询字符串写入 URLConnection#getOutputStream()
即可,而不是在URL中。
请注意,它是“延迟执行”的,只有当您实际上通过 URLConnection#getInputStream()
获得响应流时,才会触发请求,即使您不需要它。
如果您想要更少的冗长代码和/或对请求的更多控制,那么我建议您使用Apache Commons HttpComponents Client。
反过来,PHP程序也可以用通常的方式编写。通过$_GET
,$_POST
等获取请求参数,并通过echo
获得响应。在这里不需要做任何特殊的事情。但是,您可以考虑使用更简单的可解析响应格式,例如XML或JSON。