当前位置:首页 » 编程语言 » java调用php

java调用php

发布时间: 2022-06-28 20:24:22

A. java 客户端怎么调用 php nusoap写的webservice

java可以用HttpClient写一个http请求 给请求路径 设置请求方式 post/get 带请求参数就行了

网上的这些不同技术 java php .net之间交互其实都是发送和接受http请求 没个技术都有自己专门发送和接受http请求的方式

B. 请教一下java和php协同开发的方法

引用
因为在做垂直搜索工作中,使用的是java编写的一个搜索类库。做垂直搜索,很多实用要使用到配置。当搜索的信息量大时,网站的更新。搜索程序的配置维护是一个不可忽视的问题。所以用了php做网页,提供配置界面,这样就可以不用直接修改配置文件或是配置数据库表。当把配置信息配置好了,我们需要检测配置是否正确,因为使用的是java程序,所以检测配置的正确与否使用的也是java程序来检测。这里就存在一个问题,就是需要把php页面上的信息传入到java程序中去检测。这个时候就需要php和java通信了。下面我就来介绍下怎么使php跟java通信(当然,你也可以使用类似webservice等技术)也就是php中调用java程序。 php要调用java程序:需要以下准备,php程序,java程序,还有就是shell程序或是bat程序。下面分别介绍下在linux服务器下php调用java程序和在windows服务器下调用java程序。前提是php,apache,jdk的环境都已经配置好。
一 在linux下php调用java程序是通过shell文件。分别是以下三个文件: test_shell.php test_shell.java test_shell.sh 他们的源代码如下:

1.test_shell.java程序代码

public class test_shell {

public static void main(String[] args) {

System.out.println("你输入的参数是:"+args[0]+"t"+args[1]);

}

}

2.test_shell.php程序代码

<?php

/*

* 该函数是用来执行shell命令的,其实还可以使用:exec(),system(),
* popen()和pclose(),passthru() 函数。最长用的是前面两个和例中使
* 用的shell_exec()。

*/

$args1="我喜欢你";

$args2="我很爱你";

// 注意空格

$r=shell_exec("./test_shell.sh $args1 $args2");

echo $r;

?>

3.test_shell.sh程序代码是

#!/bin/sh

JAVA_HOME=/usr/local/jdk

CLASSPATH=.:/usr/local/jdk/jre/lib/rt.jar:/usr/local/apache/htdocs/test_shell/test_shell.class

PATH=$PATH:$JAVA_HOME/bin

export JAVA_HOME CLASSPATH PATH

cd /usr/local/apache/htdocs/test_shell

java test_shell

#shell代码结束

以下是三个程序的存放路径和运行次序。
1.三个文件都必须在同一目录下,比如在/usr/local/apache/htdocs/test_shell/下,不然php很难调到java程序。

2.把test_shell.java程序编译成test_shell.class,然后把test_shell.class文件存放到CLASSPATH中。如果系统配置了那些环境变量,这里在配置一次是没有坏处的,也不会影响配置好的系统环境变量。这里设置的好处是当没有配置jdk环境配置,只有jre时,则需把jre放到/usr/local/jdk下就以。

二、下面先介绍在windows服务器下,php调用java程序是通过bat文件来的。分别是以下三个文件: test_bat.php test_bat.java test_bat.sh 他们的源代码如下:

1.java程序

public class test_bat {

public static void main(String[] args) {

System.out.println("你输入的参数是:"+args[0]+"t"+args[1]);

}

}

2.test_bat.php程序代码

<?php

/*

* 该函数是用来执行shell命令的,其实还可以使用:exec(),system(),
* popen()和pclose(),passthru() 函数。最长用的是前面两个和例中使
* 用的shell_exec()。

*/

$args1="我喜欢你";

$args2="我很爱你";

// 注意空格

$r=shell_exec("./test_shell.sh $args1 $args2");

echo $r;

?>

3.test_bat.sh程序代码是

@echo off
set path=%path%;%cd%jrebin
set CLASSPATH=.;%cd%jrelibrt.jar;%cd%test_bat.class
java test_bat %1 %2

#bat代码结束

1.三个文件都必须放在同一目录下,比如在/usr/local/apache/htdocs/test_bat/下,不然php很难调到java程序。

2.把test_bat.java程序编译成test_bat.class,然后把test_bat.class文件存放到CLASSPATH中。如果系统配置了那些环境变量,这里在配置是没有坏处的,也不会影响配置好的系统环境变量。这里设置的好处是当没有配置jdk环境配置,只有jre时,则需把jre放到跟跟test_bat.java同一目录下就行了。

三、上面两个例子中,test_shell.sh用的绝对路径,test_bat.bat是用的相对路径。不管是绝对还是相对,只要路径对了就行了。

C. java如何调用php接口

java那边用个http客户端,
请求php这边的应用就可以了,
不过两个系统还是要约定好
通信协议
(输入/输出数据格式)!
希望回答能给你带来帮助~
如果满意,请采纳,如还有疑问,可继续追问!
您也可以向我们团队发出请求,会有更专业的人来为您解答!

D. JAVA程序(不是JAVASCRIPT)可以在PHP里运行吗如果可以的话,怎么将JAVA程序“嵌”入PHP

可以肯定的说,
可以,
只不过你需要通过PHP外部调用的方式来和java程序交互,一般是通过socket,或者file来传送消息。
我不知道你的java程序是什么类型的,
是j2se的?还是J2EE的,
不同的程序交互方式不同。

E. java 怎么调用php的api接口

这个看你的需求了 如果你是底层调用 你可以自己写参考php的源码写c接口,如果不是底层,就php让把数据上传xml json格式 java处理。。。

F. java能不能远程调用php,并传输数据,如果能怎么实现

都是支持网络通信的程序语言,当然可以。

最简单、常用的方法就是通过HTTP协议,此种方法使用现有web service比较多;
如果需要大量传输数据可以使用FTP;
如果客户端比较多,也可以使用P2P通信。
------------------------------------->
都是HTTP的内容,很好弄,直接用PHP解析接收到的信息就可以了。

G. java怎么调用php的语句是什么

可以通过 include 或 require 语句调用另一个php文件。以include为例,如: require也是一样的语法。 区别在于: require 会生成致命错误并停止脚本。 include 只生成警告,并且脚本会继续。

H. 如何在java程序中调用php文件

publicStringexecPHP(StringscriptName,Stringparam){
StringBuilderoutput=newStringBuilder();
BufferedReaderinput=null;
StringphpPath="D:/xampp/php/php.exe";
try{
Stringline;
Processp=Runtime.getRuntime().exec(phpPath+""+scriptName+""+param);
input=newBufferedReader(newInputStreamReader(p.getInputStream()));
while((line=input.readLine())!=null){
output.append(line);
//p.destroy();//根据系统不同可能需要
}
p.destroy();
}catch(Exceptionerr){
err.printStackTrace();
}finally{
if(input!=null){
try{
input.close();
}catch(IOExceptione){
e.printStackTrace();
}
}
}
returnoutput.toString();
}

//调用php算法

conclusion=runPHP.execPHP(ALGORITHM_RESIDUES_URL,imageResiesId);

//php接收

$id=$argv[1];

因为此方法是java开进程直接调用php,因此是以内存方式传参

热点内容
ug设置服务器地址 发布:2024-05-01 06:26:47 浏览:864
离散数学关系矩阵算法 发布:2024-05-01 05:53:48 浏览:400
androidgithub开源项目 发布:2024-05-01 05:30:13 浏览:618
凯思奇指纹锁初始密码多少 发布:2024-05-01 05:26:05 浏览:628
电脑设置禁止配置怎么取消 发布:2024-05-01 05:07:43 浏览:409
算法应该是 发布:2024-05-01 04:53:36 浏览:528
如何远程服务器软件 发布:2024-05-01 04:37:05 浏览:395
保定编程家教 发布:2024-05-01 04:00:28 浏览:377
qq客户端源码 发布:2024-05-01 03:37:01 浏览:844
山西时间同步服务器云空间 发布:2024-05-01 03:27:20 浏览:549