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