导航:首页 > 编程语言 > php与web交互

php与web交互

发布时间:2023-03-23 03:05:41

php做客户端,java做服务端,用webservice怎么交互

.java编写webservice服务端,php作为客户端调用.
1.首先我们写一个简单的java类并发布webservice.
package com.php;
import java.util.Map;
/**
* @author yangjuqi
* @createdate 2009-5-18 下午04:43:09
*
*/
public class WebServiceImpl {
public String sendTransact(Map map) throws Exception {
System.out.println("::: Call testModel1 :::");

if(map!=null){
String bugmanifestid = StringUtil.getValue(map.get("bugmanifestid"));
String editedby = StringUtil.getValue(map.get("editedby"));
String dditeddate = StringUtil.getValue(map.get("dditeddate"));
String fullinfo = StringUtil.getValue(map.get("fullinfo"));
String action = StringUtil.getValue(map.get("action"));
System.out.println("bugmanifestid -$amp;>quot;$ +bugmanifestid);
System.out.println("editedby -$amp;>quot;$ +editedby);
System.out.println("dditeddate -$amp;>quot;$ +dditeddate);
System.out.println("fullinfo -$amp;>quot;$ +fullinfo);
System.out.println("action -$amp;>quot;$ +action);
}
return "success";
}
}
2.配置server-config.wsdd
<deployment xmlns=""
xmlns:java="">
<handler name="URLMapper"
type="java:org.apache.axis.handlers.http.URLMapper" />
<handler name="auth"
type="java:com.php.AuthenticationHandler" />
<handler name="URLLogging"
type="java:com.php.LogHandler">
<parameter name="filename" value="c:\\MyService.log" />
</handler>
<service name="IWebService" provider="java:RPC">
<parameter name="className"
value="com.php.WebServiceImpl" />
<parameter name="allowedMethods" value="*" />
<namespace>http://localhost:8088/testphpweb</namespace>
</service>
<transport name="http">
<requestFlow>
<handler type="URLMapper" />
<handler type="URLLogging" />
</requestFlow>
</transport>
</deployment>
3.发布到jboss后,访问http://localhost:8088/testphpweb/services/IWebService wsdl能看到xml文件就说明webservice发布好了。
4.写testphpweb.php文件
< php
/*
* @author juqi yang $amp;<amp;$gt;
* @create date 2009-05-18
*/
header("Content-Type: text/html; charset=GB2312");
echo " ::: PHP CALL JAVA-WEBSERVICE ::: <br$amp;>quot;$;
require_once("nusoap/lib/nusoap.php");
// 要访问的webservice路径
$NusoapWSDL="http://localhost:8088/testphpweb/services/IWebService wsdl";
// 生成客户端对象
$client = new soapclient($NusoapWSDL, true);
// 设置参数(注意:PHP只能以'数组集'方式传递参数,如果服务端是java,用Map接收)
$param = array( 'bugmanifestid' => 'E090500001',
'editedby' => '张三',
'dditeddate' => '2009-05-19',
'fullinfo' => '已联系刘德华,筹备今晚吃饭的事,等待回复',
'action' => '0');
echo "begin remote 。。。<br$amp;>quot;$;
// 调用远程方法
$result = $client->call('sendTransact', array($param));
echo "end remote 。。。<br$amp;>quot;$;
// 显示执行结果
if (!$err=$client->getError()){
echo '结果 : '.$result;
}else{
echo '错误 : '.$err;
}
>
5.启动apache,访问
php页面显示:
::: PHP CALL JAVA-WEBSERVICE :::
begin remote 。。。
end remote 。。。
结果 : success
jboss后台监视结果:
17:12:20,781 INFO [STDOUT] ::: Call testModel1 :::
17:12:20,781 INFO [STDOUT] bugmanifestid ->E090500001
17:12:20,781 INFO [STDOUT] editedby ->张三
17:12:20,781 INFO [STDOUT] dditeddate ->2009-05-19
17:12:20,781 INFO [STDOUT] fullinfo ->已联系刘德华,筹备今晚吃饭的事,等待回复
17:12:20,796 INFO [STDOUT] action ->0
到此,php作为客户端调用java写的webservice服务端完成.
二,php编写webservice服务端,java作为客户端调用.
1.编写php webservice
< php
/*
* @author juqi yang $amp;<amp;$gt;
* @create date 2009-05-18
*/
header("Content-Type: text/html; charset=GB2312");
require_once("nusoap/lib/nusoap.php");
function sendManifest($param)
{
//把接收到的数据显示出来
return "hello ".$param["projectid"]."<=$amp;>quot;$.$param["projectname"]."<=$amp;>quot;$.$param["moleid"];
}
$server = new nusoap_server();
//配置WSDL namespace
$server->configureWSDL('myservice', //服务名称
'', //tns指定的namespace,一般填写自己的URI
true, //endpoint url or false
'rpc', //服务样式
'', //传输协议,一直是这个。
'' //wsdl 'types'元素targetNamespace
);
// 注册web服务
$server->register('sendManifest', // 服务
array(
'projectid' => 'xsd:string',
'projectname' => 'xsd:string',
'moleid' => 'xsd:string',
'molepath' => 'xsd:string',
'bugtitle' => 'xsd:string',
'bugtype' => 'xsd:string',
'openedby' => 'xsd:string',
'openeddate' => 'xsd:string',
'assignedto' => 'xsd:string',
'assigneddate' => 'xsd:string',
'fixedtime' => 'xsd:string',
'fullinfo' => 'xsd:string',
'bugmanifestid' => 'xsd:string'), // 输入参数;数组,指定类型
array('resultCode' => 'xsd:string'), // 输出;数组,指定类型
'', // namespace of method
'', // soapaction
'rpc', // style
'encoded', // use
'serviceConsumeNotify' // documentation
);
$HTTP_RAW_POST_DATA = isset($HTTP_RAW_POST_DATA) $HTTP_RAW_POST_DATA : '';
$server->service($HTTP_RAW_POST_DATA);
>
2.启动apache后,访问 ,如果页面如下图所示,表示webservice发布好了。
3.编写java客户端CallPhpServer .java 并调用php webservice
package com.php;
import java.util.HashMap;
import java.util.Map;
import org.apache.axis.client.Call;
import org.apache.axis.client.Service;
/**
* @author yangjuqi
* @createdate 2009-5-18 下午05:31:06
*
*/
public class CallPhpServer {
/**
* 测试方法
* @return
* @throws Exception
*/
public static String callManifest() throws Exception {
System.out.println("0");
Service service = new Service();
Call call = (Call) service.createCall();
System.out.println("1");
call.setTargetEndpointAddress(new java.net.URL(""));
call.setOperationName("sendManifest");
System.out.println("2");
Map map=new HashMap();
map.put("projectid", "109");
map.put("projectname", new String("新MM国际物流平台".getBytes(),"iso-8859-1"));
map.put("moleid", "11");
map.put("molepath", new String("财务管理".getBytes(),"iso-8859-1"));
map.put("bugtitle", new String("关于总账报表数据的问题".getBytes(),"iso-8859-1"));
map.put("bugtype", "TrackThings");
map.put("openedby", "zhangsan");
map.put("openeddate", "2009-05-31");
map.put("assignedto", "liumang");
map.put("assigneddate", "2009-05-31");
map.put("fixedtime", "2009-06-03");
map.put("fullinfo", new String("现在总账报表页面下的合计数据不对,烦请抓紧事件核实确认更正,谢谢!".getBytes(),"iso-8859-1"));
map.put("bugmanifestid", "E090500001");
call.addParameter("param", org.apache.axis.Constants.SOAP_ARRAY,javax.xml.rpc.ParameterMode.IN);
call.setReturnType(org.apache.axis.Constants.XSD_STRING);
System.out.println("3");
Object obj=call.invoke(new Object[]{map});
return obj.toString();
}
public static void main(String[] args) throws Exception {
System.out.println("::: call php webservice :::");
String str = callManifest();
String result=new String(str.getBytes("iso-8859-1"),"GBK");
System.out.println(result);
}
}
控制台显示结果:
::: call php webservice :::
0
log4j:WARN No appenders could be found for logger (org.apache.axis.i18n.ProjectResourceBundle).
log4j:WARN Please initialize the log4j system properly.
1
2
3
hello 109<=>新MM国际物流平台<=>11
到此,java作为客户端调用php的webservice服务端完成.

⑵ Notice: Undefined index: title in C:\wamp\www\index.php on line 26 报错

当你请求的链接地址中没有title=abc这个参数时,
使滚哪用$_GET['title']获闷拦取title会有上面提示。

解决方法:
使用前先判断
$_GET['title']=empty($_GET['title'])?'':蚂备胡$_GET['title'];
再使用就没有报错了。

⑶ PHP如何处理Web请求流程

进程是操作系统分配资源和调度的功能单元亏激,一个进程里面有一个或者多个线程,线程是操作系统的一个独立运算单元。通常可以认为一个软件对应一个进程,并行是指多个软件一起运行,实际上分时复用而已,并发是指某个软件在运行的时候把计算分给多个CPU同时进行计算,是真正的同一时间内一起发生的事情。

PHP-fpm使用的就是多进程模型。
HHVM它选择的是多线程模型。

对于某个服务而言,譬如web服务,主要考虑它的并发能力,就是单位时间内能处理的请求数量。而并行计算就是为了提高并发能力的。脱离nginx或者apache来说,php的并行肢祥处理能力,既可以用多进销饥袜程的模型来提高,也可以用多线程的模型来提高。最简单的情况下,php提供单进程单线程的方式来提供服务,每次之处理一个请求,如果请求的处理速度足够快,一秒时间内并发能力也可以算是强的,但是这样比较浪费资源,所以往往会根据CPU、内存、网络的情况来设置多进程、多线程或者多服务器来提高并发能力。

⑷ 求《PHP动态网站开发》全文免费下载百度网盘资源,谢谢~

《PHP动态网站开发》网络网盘pdf最新全集下载:
链接: https://pan..com/s/1PInoWi_82K5nDgNypnI7KA

?pwd=ipjr 提取码: ipjr
简介:本书从AdobeDreamweaverCS6可视化设计与手工编码的结合上详细地介绍了基于PHP语言和MySQL数据库的动态网站开发技术。本书采用项目引领、任务驱动的教学方法,共分10个项目,包括:配置PHP开发环境、PHP语言快速入门、PHP面向对象编程、PHP数据处理、PHP与Web交互、PHP文件处理、PHP图像处理、MySQL数据库管理、PHP数据库编程、新闻发布系统设计。

⑸ 如何用实现php与前端的交互

PHP是什么文件? PHP,一个嵌套的缩写名称,是英文“超级文本预处理语言”(PHP:Hypertext Preprocessor)的缩写。PHP 是一种 HTML 内嵌式的语言,PHP与微软的ASP颇有几分相似,都是一种在服务器端执行的“嵌入HTML文档的脚本语言”,语言的风格有类似于C语言,现在被很多的网站编程人员广泛的运用。PHP 独特的语法混合了 C、Java、Perl 以及 PHP 自创新的语法。它可以比 CGI 或者 Perl 更快速的执行动态网页。用PHP做出的动态页面与其他的编程语言相比,PHP是将程序嵌入到HTML文档中去执行,执行效率比完全生成HTML标记的CGI要高许多;与同样是嵌入HTML文档的脚本语言JavaScript相比,PHP在服务器端执行,成分利用了服务器的性能;PHP执行引擎还会将用户经常访问的PHP程序驻留在内存中,其他用户在一次访问这个程序时就不需要诚信编译程序了,只要直接执行内存中的代码就可以了,这也是PHP高效率的体现之一。PHP具有非常强大的功能,所有的CGI或者JavaScript的功能PHP都能实现,而且支持几乎所有流行的数据库以及操作系统。如何打开PHP文件? 一般来说,用文本编辑工具都可打开PHP文件如notepad、emeditor、phpedit、Dreamwere,推荐使用Dreamwer编辑PHP文件上,如果您打开的PHP文件全是乱码,那么这个PHP文件就是经过zend加密过的php文件,无法再编辑和修改,但可以正常的运行,如果您要运行PHP文件那么您就得安装相应的php解释器和web服务支持才行。想知道如何运行PHP文件请要看PHP教程

明白了吗?建议楼主去后盾人那自学,听说他们那正在搞什么实训班培训的活动,你可以去看看

⑹ PHP开发与Web前端开发有什么区别

一、主体不同

1、PHP:是一种易于学习和使用的服务器端脚本语言。只需要很少的编程知识就能使用PHP建立一个真正交互的WEB站点。

2、Web前端:是创建Web页面或app等前端界面呈现给用户的过程。

二、过程不同

1、PHP:PHP网页文件被当作一般HTML网页文件来处理并且在编辑时可以用编辑卜拍HTML的常规方法编写PHP。

2、Web前端:通过HTML,CSS及JavaScript以及衍生出来的各种技术、框架、解决方案,来实现互联网产品的用户界面交蠢皮互。


三、学习的框架不同

1、PHP:可选的框架包括CakePHP、CodeIgniter、Zend等。

2、Web前端:熟悉掌握HTML、服务器端脚本语言、CSS和JavaScript之后,学习Web框架可以加快Web开发速度,节约时间。


⑺ PHP技术核心是什么

PHP技术核心是SAPI。
这是PHP与Web服务器交互的接口,非常庆闹重要。
PHP扩展等外部模块。 完成数据库调用,数据交换,数据誉弯罩加密等脚本大部分功能。
PHP内核。 php内核获取服务器传递的环境变量信息闹手,调用PHP函数,类,扩展模块,统筹PHP运行,为编译工作做准备。
Zend虚拟机。 完成词法分析,语法分析,语义分析,中间代码生成,代码优化,目标代码生成等核心功能,负责PHP代码编译执行。

⑻ 什么是php网站开发实战

搜词条
PHP开发实战
清华大学出版社出版的图书
《PHP开发实战》,是清华大学出版社出版的图书,作者是软件开发技术联盟。本书适合有志于从事软件开发的初学者、高等院校计算机相关专业的学生,也可作为软件开发人员的参考手册,或者高等院校的教学参考书。
作者
软件开发技术联盟 编着
ISBN
9787302318965
定价
96.00元
出版社
清华大学出版社
装帧
平装
相关图书
我的订单
 | 
更多图书
PHP开发实战 软件开发技术联盟
¥16.8
来自京东
去购买
PHP开发实战 软件开发技术联盟
¥17.9
来自京东
去购买
【正版书籍】 PHP开发实战 清华大学出版社 软件开发技术联盟 编
¥39
来自京东
去购买
PHP开发实战 软件开发技术联盟 编 清华大学出版社
¥81
来自京东
去购买
【RTZ】PHP开发实战(附光盘) 软件开发技术联盟 清华大学出版社 9787302318965
¥86.4
来自当当网
去购买
内容介绍作品目录TA说参考资料
内容介绍
《PHP开发实战》从初学者的角度讲述使用PHP语言进行程序开发应该掌握的各项技术,内容突出“基础”、“全面”、“深入”的特点,同时强调实战效果。在介绍技术的同时,书中都会提供实例,同时在各章的结尾部分安排实战内容,通过5~8个实战来综合应用本章所讲解的知识,做到理论联系实际;每篇的最后一章有一个综合实例,通过一个模块综合讲解本篇所讲解的知识内容;在本书的最后两章中提供了两个完整的项目实例,讲述从前期规划、设计流程到项目最终实施的整个实现过程。
全书共分33章,主要内容包括初识PHP、PHP环境搭建、PHP语言基础、流程控制语句、函数、字符串、正则表达式、PHP数组、日期和时间、综合实例(一)——注册登录、MySQL数据库基本操作、phpMyAdmin图形化管理工具、使用MySQL函数操作数据库、ADODB类库、PDO数据库抽象层、综合实例(二)——在线论坛、会话管理、图形图像、文件系统、面向对象、PHP加密技术、程序调试与异常处理、综合实例(三)——投票系统、PHP与Web页面交互、PHP与JavaScript交互、XML技术、Ajax技术、综合实例(四)——购物车、Smarty模板技术、ThinkPHP框架技术、综合实例(五)——明日导航网、博客管理系统、应用Smarty模板开发电子商务平台等,最后在附录中介绍了PHP的编码规则。所有知识都结合具体实例进行介绍,对涉及的程序代码给出了详细的注释,读者可以轻松领会PHP程序开发的精髓,快速提高开发技能。本书特色及丰富的学习资源包如下:
黄金学习搭配、专业学习视频、重难点精确打击、学习经验分享、学习测试诊断、有趣实践任务、专业资源库、学习排忧解难、获取源程序、提供习题答案、赠送开发案例。

⑼ web前端怎么与后端交互

个人理解,前端与后端的交互就是数据传递的过程.通过ajax请求获取需要的数据在自己的前岁氏端页面展现出此雀此来,或者将前端表单的数据通过请求发送森迅给后端.

⑽ 如何快速学会PHP

阅读全文

与php与web交互相关的资料

热点内容
ipad建文件夹怎么弄 浏览:833
iphone13对wap3加密 浏览:553
pdf文件打开失败 浏览:913
dubbo怎么调用不同服务器接口 浏览:38
全能解压王app历史版本 浏览:75
优先队列与拓扑排序算法 浏览:279
pdf转换formacbook 浏览:871
pdf文件内容怎么编辑 浏览:48
134压缩机排气温度多少 浏览:256
unity等待编译后 浏览:804
黑鲨手机锁屏视频在哪个文件夹 浏览:781
wow地图解压后怎么压缩 浏览:821
有pdf却打不开 浏览:460
七星彩软件app怎么下载 浏览:217
32单片机的重映射哪里改 浏览:816
为什么前端不用刷算法题 浏览:708
对称加密系统和公钥加密系统 浏览:428
历史地理pdf 浏览:606
物联网云服务器框架 浏览:648
sybaseisql命令 浏览:183