Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/251.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用php运行java代码(.class)并在同一网页上显示_Java_Php_Html - Fatal编程技术网

如何使用php运行java代码(.class)并在同一网页上显示

如何使用php运行java代码(.class)并在同一网页上显示,java,php,html,Java,Php,Html,我正在尝试使用php脚本运行java程序 首先,php显示一个表单,用户在其中输入两个值:价格和销售税率。 接下来,它提取值并将其传递给java程序(预编译为.class文件) 如果java代码正在工作,我不确定输出打印在哪里。我的最终目标是在html页面中向用户显示结果 我将文件内容上传到我的web服务器,并尝试从那里运行它 更新: 如何使用shell_exec或exec运行java代码?我需要将参数(价格、销售税)传递给shell_exec。返回的输出存储在哪里 PHP代码: > &l

我正在尝试使用php脚本运行java程序

首先,php显示一个表单,用户在其中输入两个值:价格和销售税率。 接下来,它提取值并将其传递给java程序(预编译为.class文件)

如果java代码正在工作,我不确定输出打印在哪里。我的最终目标是在html页面中向用户显示结果

我将文件内容上传到我的web服务器,并尝试从那里运行它

更新: 如何使用shell_exec或exec运行java代码?我需要将参数(价格、销售税)传递给shell_exec。返回的输出存储在哪里

PHP代码:

> <?php
> 
> $salesTaxForm = <<<SalesTaxForm
> 
> <form action="SalesTaxInterface.php" method="post">
> 
>    Price (ex. 42.56):<br>
> 
>    <input type="text" name="price" size="15" maxlength="15"
> value=""><br>
> 
>    Sales Tax rate (ex. 0.06):<br>
> 
>    <input type="text" name="tax" size="15" maxlength="15"
> value=""><br>
> 
>    <input type="submit" name="submit" value="Calculate!">
> 
>    </form>
> 
> SalesTaxForm;
> 
> if (! isset($submit)) :
> 
>    echo $salesTaxForm;
> 
> else :    $salesTax = new Java("SalesTax");
> 
>    $price = (double) $price;    $tax = (double) $tax;
> 
>    print $salesTax->SalesTax($price, $tax);
> 
> endif;
> 
> ?>

我不是PHP专家,但有几种方法可以做到这一点:

  • 使用类似于或制作一个

  • 不要全做!如果您发布的代码就是全部内容,那么只需用php重写格式化内容,或者用java编写整个内容


因此,一旦您为服务器端的内容选择了路径,如果您希望在不重新加载页面的情况下显示结果,您将需要使用一些javascript,最有可能的是使用一些javascript。

shell exec执行您传递给它的命令。要使用此方法,您必须向类中添加一个Main方法,并在comand行中像参数一样传递属性,因此最后它应该如下所示:

这是您必须在php上执行的代码

  $output = shell_exec('java SalesTax 10.0 20.0');
其中,SalesTax是java类,10.0是第一个参数,20.0是第二个参数

你的主要方法应该是这样的

public static void main(String args[]){
   double price = Double.valueOf(args[0]);
   double salesTax = Double.valueOf(args[1]);
   String output = SalesTax(price,salesTax);
   System.out.println(output);
}
这是一个非常简单的实现,您仍然应该添加验证和其他一些东西,但我认为这是主要思想。也许把它移植到php会更容易


我希望这对您有所帮助。:)

也许您可以看看PHP Java桥。我不能在服务器上修改任何东西,只能将文件放在那里,因为我对它了解不多。php java桥是否可以在不修改服务器的情况下工作?还有,是的,我发布的代码就是我所要做的。如果这个基本的东西起作用,那么我可以进一步实现一些东西。我想尝试shell_exec,我尝试过这样做:shell_exec(JavaSalestax.class);这仍然没有给我任何结果。我们将非常感谢您的帮助。非常感谢。我意识到的另一件事是如何使用shell_exec将从用户(price,salesTax)获取的参数发送到java代码?输出将存储在哪里?
shell_exec
获取一个字符串并返回命令的结果,但我认为此时您应该用php编写所有内容。这非常有用。我以前甚至没有主方法。非常感谢。然而,php仍然不会将输出打印到html页面。我也没有在控制台中找到它。如何检查php是否找到了答案?非常感谢您的帮助,当我在crontab/in-url上使用此选项时,它不仅在命令行上有效……如果您只是按原样复制代码,它可能会失败,因为您使用的是相对路径而不是绝对路径。尝试将shell_exec('java YourJavaFile args')更改为shell_exec('java/full/path/to/YourJavaFile args')
public static void main(String args[]){
   double price = Double.valueOf(args[0]);
   double salesTax = Double.valueOf(args[1]);
   String output = SalesTax(price,salesTax);
   System.out.println(output);
}