atitit.php中的dwr 设计模式

原创 2015年07月10日 21:19:54

atitit.php中的dwr 设计模式 

 

1. dwr的优点相对于ajax来说。。 1

2. DWR工作原理 1

3. phpdwr实现 1

4. 参考 3

 

1. dwr的优点相对于ajax来说。。

dwr是构建在ajax上的。。更加的dsl化。。

大大简化了编写ajax的工作量。 

 

 

2. DWR工作原理

是通过动态把Java类生成为Javascript。它的代码就像Ajax一样,你感觉调用就像发生在浏览器端,但是实际上代码调用发生在服务器端,DWR负责数据的传递和转换。这种从Java 到JavaScript的远程调用功能的方式使DWR用起来有种非常像RMI或者SOAP的常规RPC机制,而且DWR的优点在于不需要任何的网页浏览器插件就能运行在网页上。 

Java从根本上讲是同步机制,然 AJAX却是异步的。所以你调用远程方法时,当数据已经从网络上返回的时候,你要提供有反调 (callback) 功能的DWR。 

 

DWR在客户端放置了一个 engine.js作为客户端的引擎,在Server端放置了一个dwr.jar作为服务器端的引擎。 

然后,可以以RPC的方式来描述

 

作者:: 老哇的爪子 Attilax 艾龙,  EMAIL:1466519819@qq.com

转载请注明来源: http://blog.csdn.net/attilax

 

 

3. phpdwr实现

 

 

<script type="text/javascript" src="../com.attilax/dwr.js"></script>

var mp={};

// mp.id=85495; frm cookie   

mp.method="get-score";

dwrC.exec(mp,function(data){

//if ex then to ex process hadler

/* if(data)

alert("不能编辑,已经审核通过");

else

window.location.href="elemt_edit.jsp?id="+str;*/

$("#score").text(data+"");

$("#score-detail").text( "您的育儿指数总算及格了,还要继续....");

 

},"/lime");

 

 

 

--------------dwr.js

var dwrC={};

dwrC.exec=function(param,callback,approot)

{

//jQuery.get("dwr.php?param="+param, [data], [callback])

$.ajax(

                    {

                        type: "get",

                        url: approot+"/com.attilax/dwr.php",

                        data:param,

                        dataType: "text",

                        success: function(data) {

                          //  $("#divShow").html(data);

  callback(data);

                     }

 });

}

 

-------------dwr.php

 <?php 

 

 require_once(dirname(__FILE__).'/../iocx.php');

 

//$dwrEventContainer['b'] = 'char b'; 

 

 

 $method=   $_GET['method']; 

 $fun=$dwrEventContainer[ $method];

 $rzt=$fun($method);

 echo $rzt;

 

 

 ?>

 

 

 

------------iocx.php

$dwrEventContainer = array(); //定义一个数组

$dwrEventContainer['get-score'] =getScoreX;

 

 

4. 参考

DWR 工作原理 - ITeye问答.htm

php连接DWR是怎么做到的呢?谈下经验

php连接DWR是怎么做到的呢?大家都是用什么办法?其实,不少朋友都有这样的问题咯。...

服务端向客户端推送消息-Dwr实现

一、服务端推送技术 网页邮箱新邮件提醒、网页聊天、微信签到墙这些应用场景应该都有遇到过,那么这种功能又是怎么实现的呢?最开始可能会想到Ajax,它能够异步无刷新从服务器端加载最新的数据展示,但它无法...

Web端服务器推送技术原理分析及dwr框架简单的使用

1 背景 “服务器推送技术”(ServerPushing)是最近Web技术中最热门的一个流行术语。它是继“Ajax”之后又一个倍受追捧的Web技术。“服务器推送技术”最近的流行跟“Ajax ”有着密...

使用mongodb处理上亿级别数据

最近接到一个任务关于效能监控平台的开发,该效能平台要求监控日志的发送量以及成功率等信息,了解到需求,由于每天将会有平均200万的日志信息,最大接近400万,这数据还是十分庞大的,哪么半年下来起码有6亿...

Lucene同义词(一)

package com.yuan; import java.io.IOException; import java.util.HashMap; import java.util.Map; impor...

atitit.项目设计模式---ioc attilax总结

atitit.项目设计模式---ioc attilax总结     1. .IOC的之前 1 2. ioc后的实现 1 3. 认识引入IOC框架的缺点, 2 4. 自己实现ioc 3 4...
  • attilax
  • attilax
  • 2015年07月03日 00:03
  • 955

Atitit. 数据约束 校验 原理理论与 架构设计 理念模式java php c#.net js javascript mysql oracle

Atitit. 数据约束 校验 原理理论与 架构设计 理念模式java php c#.net js javascript mysql oracle     1. 主键1 2. uniq  in...
  • attilax
  • attilax
  • 2016年01月19日 00:04
  • 577

Atitit.设计模式-----触发器模式 trigger  详解

Atitit.设计模式-----触发器模式 trigger  详解 1. 触发器概念1 1.1. 触发器位置 after|before|instead of1 2. 数据库里面的触发...
  • attilax
  • attilax
  • 2016年04月07日 21:14
  • 666

Atitit.ati orm的设计and架构总结 适用于java c# php版

Atitit.ati orm的设计and架构总结 适用于java c# php版   1. Orm的目标 1 1.1. 动态obj 1 1.2. Hb的api(meger,save,upd...
  • attilax
  • attilax
  • 2015年08月20日 15:41
  • 590

Atitit. 数据库-----catalog与schema的设计区别以及在实际中使用 获取数据库所有库表 java jdbc php  c#.Net

Atitit. 数据库-----catalog与schema的设计区别以及在实际中使用 获取数据库所有库表 java jdbc php  c#.Net   1. -catalog与schema的设...
  • attilax
  • attilax
  • 2016年01月12日 00:11
  • 655
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:atitit.php中的dwr 设计模式
举报原因:
原因补充:

(最多只允许输入30个字)