如何将值从java传递给PHP?

时间:2017-01-02 03:07:08

标签: java php php-java-bridge

我试图将一个值从java类传递到服务器上的PHP文件来测试这个值并回复java。它返回null值的问题。

Java代码

package phpJava;
import java.io.*;
import java.net.URL;
import javax.swing.JOptionPane;
public class phpbirgde {
public static void main(String[] args) {
        try{
            String erg = JOptionPane.showInputDialog("2+3");
            BufferedReader br = new BufferedReader(new InputStreamReader(new URL("http://localhost//test.php?test="+erg).openStream()));
                    String b = br.readLine();
                    System.out.println(b); // print the string b
                    if(b.equalsIgnoreCase("true")){
                        System.out.println("It is true");
                    }
                    else {
                        System.out.println("False");
                    }

            } catch(IOException e){
                System.out.println("error");
            }
}

    }

PHP代码

 <?php
 $test = $_GET['test'];
 if($test =="5"){
 echo "true";
 }
 else {
 echo "false";
}
?>

3 个答案:

答案 0 :(得分:2)

contract

  

public String readLine() throws IOException

     

读取一行文字。一条线被认为是任何一条线终止的   换行符('\ n'),回车符('\ r')或回车符   然后立即换行。

     

<强>返回

     

包含该行内容的String,不包括   任何行终止字符,,如果流的末尾有,则为null   已达成

在您的情况下,php脚本只输出true字符串(不带\n)到输出流中并关闭连接。

因此,在PHP端添加\necho "true\n";),或使用其他方法从Java端读取响应。

答案 1 :(得分:1)

问题是我在PHP文件中的php标记之前放了一个空格,它只返回空格。 现在这段代码完美无缺。

答案 2 :(得分:0)

尝试URLURLConnection

String loc = "http://localhost//test.php?test="+erg;
URL url = new URL(loc);
URLConnection con = url.openConnection();
InputStream i = con.getInputStream();

否则,您的PHP看起来没问题。