我正在尝试在PHP和Java之间进行通信。
这就是我想要做的。 PHP将参数ID传递给Java文件。
Java获取ID并运行一些脚本并将ARRAY返回给PHP。
我已经读了很多,比如PHP / Java Bridge,SOAP,RestCall ......
但我找不到有效的。基本上我不知道如何配置。
我想找一些我能理解的简单例子。而且我不需要使用PHP / Java Bridge。
更容易做的事情。
更新。
* 我曾尝试过对Java文件的Curl调用,在$ result = curl_exec($ curl)上返回Java中的整个CODE。*
我甚至尝试使用Java Servlet,它也只返回Java中的整个CODE。
我想要的是PHP向Java发出GET请求,Java将检测GET请求并获取参数ID。运行一些进程并将ARRAY返回给PHP。
我希望仅在HTTP请求中完成。
但我无法弄清楚它是如何运作的。我甚至尝试过HTTPComponent。
请帮助并在PHP和Java文件中向我展示简单示例。
我甚至关注这个servlet http://brajeshwar.com/2008/handling-http-get-requests-in-java-servlets/ CGI http://www.javaworld.com/jw-01-1997/jw-01-cgiscripts.html?page=3 ,而不仅仅是这些。很多例子。但都没有用。
我错过了什么吗?我会提供更多细节。我使用过XAMPP,每个项目和文件都在我的htdocs中。
所有请求都是这样的“http:// localhost / test /...."
谢谢。
很抱歉,我没有说清楚。
JAVA文件是普通的JAVA文件,例如
public class HelloWorld {
String hw = "Hello World";
public void getHelloWorld() {
System.out.println("abc");
}
public static void main(String [] args){
System.out.println("abc");
}
}
谢谢。
更新2
这是我的下一个问题。
就像那些Curl,Rest,Cgi调用..它实际上调用了.Java文件吗? 结果返回是.Java的整个源代码。
这是因为编译Java类没有编译器吗? 我把Java文件放在xampp / htdocs中,我用Netbeans编译它。
所以当我从PHP调用时,没有人编译它? 如我错了请纠正我?
所以我应该把.Java文件放在像Tomcat这样的服务器上吗?或者编译它的方法? 我试图放入tomcat webapps,并通过localhost连接到它:8080 / test / test.java
它返回错误404.
如何使用Web浏览器访问.Java fil? 请帮帮我。
谢谢。
解决
使用RESTFul编写Java。 我可以让Curl调用Java。
关注此guide
对于像我这样的Java初学者来说非常清楚。
答案 0 :(得分:0)
尝试Rest的例子
<?php
$url = 'JAVA_PAGE_URL';
// Open a curl session for making the call
$curl = curl_init($url);
// Tell curl to use HTTP POST
curl_setopt($curl, CURLOPT_POST, true);
// Tell curl not to return headers, but do return the response
curl_setopt($curl, CURLOPT_HEADER, false);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
// Set the POST arguments to pass to the Sugar server
$parameters = array('id'=>$id);
$json = json_encode($parameters);
$postArgs = 'method=login&input_type=JSON&response_type=JSON&rest_data=' . $json;
curl_setopt($curl, CURLOPT_POSTFIELDS, $postArgs);
// Make the REST call, returning the result
$response = curl_exec($curl);
// Close the connection
curl_close($curl);
// Convert the result from JSON format to a PHP array
$result = json_decode($response);
?>
答案 1 :(得分:0)
我希望这会给你一些更好的想法,以便为RESTFul webservices使用cURL()。
$curl = curl_init();
$url = "http:";
$fields = 8;
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
//To use https
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($fields));
curl_setopt($curl, CURLOPT_COOKIEJAR, "cookie.txt");
curl_setopt($curl, CURLOPT_COOKIEFILE, "cookie.txt");
$curl_response = curl_exec($curl);
你可以在php中操纵$ curl_reponse。
答案 2 :(得分:0)
我建议你阅读Spring MVC并创建一个REST完整的web服务。调用可执行的java类可能会起作用,但我确实认为这不常见。
以下是可能要调用的控制器类的示例。
@Controller
public class TestController extends BaseController {
@RequestMapping(value = "/rest/helloworld", method = RequestMethod.GET)
public @ResponseBody
String helloWorld(HttpServletRequest req)
throws Exception {
return "hello world";
}
}
这是非常先进的java,尤其是如果你想在Spring中配置它的话。我不能在这篇小帖子中详细解释所有这些。但是,这个网站可能会更多地启发你http://viralpatel.net/blogs/tutorial-spring-3-mvc-introduction-spring-mvc-framework/。