如何使用php运行java代码(.class)并显示在同一个网页上(如何使用php运行java代码(.class)并显示在同一网页上)
我正在尝试使用php脚本运行Java程序。
首先,php显示一个表单,用户可以在其中输入两个值:价格和销售税率。接下来,它提取值并将其传递给Java程序(预编译为.class文件)。
我不确定是否在所有Java代码都可以正常工作的情况下在哪里打印输出。我的最终目标是在html页面中向用户显示结果。
我将文件内容上传到我的Web服务器,并尝试从那里运行它。
更新:
如何使用shell_exec或exec运行Java代码?我需要将参数(价格,salesTax)传递给shell_exec。返回的输出存储在哪里?
PHP代码:
> <?php > > $ salesTaxForm = <<< SalesTaxForm > > <form action =“ SalesTaxInterface.php” method =“ post”> > >价格(例如42.56):<br> > > <input type =“ text” name =“ price” size =“ 15” maxlength =“ 15” > value =“”> <br> > >销售税率(例如0.06):<br> > > <input type =“ text” name =“ tax” size =“ 15” maxlength =“ 15” > value =“”> <br> > > <input type =“ submit” name =“ submit” value =“计算!”> > > </ form> > > SalesTaxForm; > >如果(!isset($ submit)): > > echo $ salesTaxForm; > > else:$ salesTax = new Java(“ SalesTax”); > > $ price =(双倍)$ price;$ tax =(double)$ tax; > >打印$ salesTax-> SalesTax($ price,$ tax); > > endif; > >?>
Java代码:
导入java.util。*; 导入java.text。*; 公共类SalesTax { 公用字符串SalesTax(双倍价格,双倍salesTax) { 双重税收=价格* salesTax; NumberFormat numberFormatter; numberFormatter = NumberFormat.getCurrencyInstance(); 字符串priceOut = numberFormatter.format(price); 字符串taxOut = numberFormatter.format(tax); numberFormatter = NumberFormat.getPercentInstance(); 字符串salesTaxOut = numberFormatter.format(salesTax); 字符串str =“的营业税” + salesTaxOut + “ on” + priceOut +“等于” + taxOut +“。 返回str; } }
shell-exec执行传递给它的命令。要使用此功能,您必须在类中添加Main方法,并在comand行中传递参数之类的属性,因此最后它应如下所示:
这是您必须在php上执行的代码
$ output = shell_exec('java SalesTax 10.0 20.0');
其中SalesTax是Java类,第一个参数10.0,第二个参数20.0。
您的主要方法应该是这样的
公共静态void main(String args []){ 双倍价格= Double.valueOf(args [0]); double salesTax = Double.valueOf(args [1]); 字符串输出= SalesTax(price,salesTax); System.out.println(输出); }
这是一个非常简单的实现,您仍然应该添加验证和其他一些内容,但是我认为这是主要思想。也许将其移植到php会更容易。
希望对您有所帮助。🙂
首先,php显示一个表单,用户输入两个值:价格和销售税率。
接着,它提取这些值链接它传递给一个java程序(预编译为.class文件)。
我的最终目标是在HTML页面中将结果显示给用户。
我将文件内容上传到我的Web服务器并尝试从此处运行。
更新:
如何使用shell_exec或exec来运行java代码?我需要将参数(价格,销售税)传递给shell_exec。
PHP代码:
> <PHP? > > $ salesTaxForm = <<<< SalesTaxForm> > > <形式行动= “SalesTaxInterface.php”方法= “POST”> > >价格(例如42.56):<BR> > > <INPUT TYPE =” text“ name =” price“ size =” 15“ maxlength =” 15“ >值=”“> <峰; BR> > >销售税率(例如0.06):<BR> > > <INPUT TYPE = “文本”名称= “税”大小= “15”最大长度= “15” >值= “”> <峰; BR> > > <INPUT TYPE = “提交”名称= “提交”值= “计算!”> > > < /形式> > > SalesTaxForm; > >如果(!isset($提交)): > >回声$ salesTaxForm; >> 其他:$ salesTax =新Java(“ SalesTax”); > > $ price =(双倍)$ price;$税=(双)$税; >> 打印$ salesTax-> SalesTax($价格,$ tax); > >万一; > >?>
Java代码:
导入java.util。*; 导入java.text。*; public class SalesTax { public String SalesTax(双重价格,double salesTax) { 双重税=价格* salesTax; NumberFormat numberFormatter; numberFormatter = NumberFormat.getCurrencyInstance(); 字符串priceOut = numberFormatter.format(价格); 字符串taxOut = numberFormatter.format(税); numberFormatter = NumberFormat.getPercentInstance(); 字符串salesTaxOut = numberFormatter.format(salesTax); 字符串str =“销售税” + salesTaxOut + “ on” + priceOut +“等于” + taxOut +“。”;“ 返回str; $ / $ p<div解决方案< div=””>shell-exec执行您传递给它的命令。要使用它,你必须在你的类中添加一个Main方法,并且在命令行中传递像参数这样的属性,所以最后应该看起来像这样:这是你必须在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]); 字符串输出= SalesTax(价格,salesTax); System.out.println(输出); $ b $ p $ b这是一个非常简单的实现,你应该添加验证和其他一些东西,但我认为这是主要想法。也许它应该更容易将其移植到php。
我希望你觉得这有帮助。:)
转载请注明:XAMPP中文组官网 » 怎样使用php运行java代码?java脚本怎么运行