`
zengbo0710
  • 浏览: 415193 次
社区版块
存档分类
最新评论

读了遍DWR1.1官方文档,提取的些东西

阅读更多
1、java的方法避免用 java 和 javascript的关键字。 如 try()方法 或 delete()方法。
2、在你的java类中不要出现重载 avoid overloaded methods.
3、在生产环境下,你可以把deprecated.js engine.js util.js 合并成一个,并放到web容器内,直接在htm,jsp中引用。(对于java代码转换成的javascript代码也可以这么做,免得每次生成javascript代码浪费时间)
4、研究一下Bean Converters。POJOjava对象必须严格按照 getProperty() setProperty()定义。Bean Converters是按照 java对象的 get set方法工作的。DWR1.1加了Object Converters,是按private int property;这类属性工作的。
<convert converter="bean" match="example.Fred"/>
<param name="exclude" value="property1, property2"/>
</convert>
当你这样配置时,java对象转化成的javascript对象不包括property1和property2。
<convert converter="bean" match="example.Fred"/>
<param name="include" value="property1, property2"/>
</convert>
反过来java对象转化成的javascript对象直包括property1和property2。
5、<convert converter="collection" match="java.util.Collection"/>
<convert converter="map" match="java.util.Map"/>
这也是容易出问题的地方.

package example;
public class Person{
private String name;
get ... set
private List relationPerson;
public List setRelationPerson(List relationPerson){
this.relationPerson=relationPerson;
}
}
<convert converter="bean" match="example.Person"/>
</convert>
<signatures>
<![CDATA[
import java.util.Set;
import example.Person;

Person.setRelationPerson(List<Person>);
]]>
</signatures>

在jdk1.5泛型中有写法区别


6、另外在Set,List等做为方法参数时也会出现混淆。返回集合类型不会出现问题,想想就知道了。
如在Test类中有 public Set testBeanSetParam(Set test) 这个方法,客户端得到的javascript方法可能是Test.testBeanSetParam(p0,callback);当我们 javascript调用这个方法时,鬼才知道怎么确定p0的类型,也不可能知道Set集合中该放什么类型的java对象,所以dwr的 special signatures syntax 确定这些集合和内容的类型
<signatures>
<![CDATA[
import java.util.Set;
import example.Test;

Test.testBeanSetParam(Set<TestBean>);
<!--Test.stringStringMapParam(Map<String, String>);-->
]]>
</signatures>
7、Creators
<allow>
<create creator="..." javascript="..." scope="...">
<param name="..." value="..."/>
<auth method="..." role="..."/>
<exclude method="..."/>
<include method="..."/>
</create>
...
</allow>
为了更少的暴露业务方法,最好配置include属性。
dwr支持new ,script,struts....几种集成方法,也支持static方法的调用,我觉得最好的是spring,其他感觉是处理遗留问题处理。
8、engine_js 作为dwr框架客户端核心,主要完成xmlHttp或iframe的构造,我们没必要关心它如何实现。有几点创新的我们可以学习下。
Call Batching 我们可以把几个客户端请求一起放送到服务器端,减少了网络交互,但要注意依存关系和他们处理的顺序。
Call Ordering 同步异步调整。一般用默认的就好了。注意依存关系。
Remoting Hooks 钩子,"small AOP"
依存关系解释。 如果 request1() request2()两个业务逻辑方法,request2方法需要用到request1方法从服务器端返回的结果。如果调用request2时,request1还没处理或还没请求。 下拉框连动可能有这个问题。
9、util.js propotype.js有些重复,这让我很难受。只能改代码了,可别坏了开元协议。
10、如果你的回调方法想加其他参数
var dataFromBrowser = ...;
var callbackProxy = function(dataFromServer) {
callbackFunc(dataFromServer, dataFromBrowser);
};
var callMetaData = { callback:callbackProxy };
Remote.method(params, callMetaData);
11、dwr1.1
1.1只能算一个bug消除版本,没有什么大的功能调整。源代码结构做了些调整。2.0有新的特征加入。

It has a far broader scope; the major new features are accessibility enhancements, and what now appears to be called 'Comet'. 在文档中提到了“Comet”,估计与DWR2.0作者想法类似。

http://forum.iteye.com/viewtopic.php?t=19089

楼主叫server push。

http://alex.dojotoolkit.org/?p=545 给正名了,叫 Comet
 

分享到:
评论

相关推荐

    DWR中文官方文档-打包下载

    这个“DWR中文官方文档-打包下载”包含了一系列详细资源,帮助开发者深入理解和应用DWR框架。 1. **DWR概述**: DWR是一种基于AJAX(Asynchronous JavaScript and XML)技术的开源框架,它简化了JavaScript和Java...

    DWR中文官方文档

    DWR的中文官方文档,以及V0.9的文档一共两份 在网站不容易找到合适的说明.这个包里是整合网站的dwr所有帮助信息下载下来的,因为时间缘故没有及时做成电子文档,希望有时间了在做一份. 如果还是看着不方便建议到...

    DWR中文帮助文档(最好的DWR中文帮助文档)

    这个“DWR中文帮助文档”是为开发者提供详细指南和技术支持的资源,尤其对于中文使用者来说,它是一个极其宝贵的工具。 文档可能涵盖了以下几个核心知识点: 1. **DWR的基本概念**:DWR的核心是通过AJAX技术实现...

    DWR中文文档DWR

    这份“DWR中文文档”将深入探讨DWR的核心概念、配置、API以及实际应用。 1. **核心概念**: - **Reverse Ajax**:DWR的核心特性是反向Ajax,即服务器可以主动向客户端发送数据,而不仅仅局限于客户端发起请求。 -...

    DWR3.0 jar包API文档

    6. **API文档**:DWR3.0的文档详细介绍了如何配置和使用DWR,包括设置、配置文件、安全设置、API接口以及各种示例,帮助开发者快速上手。 在使用DWR3.0的过程中,开发者通常会遇到以下几个关键知识点: - **配置...

    DWR2.0中文文档

    这本书的内容既包含了作者的原创思考和整理,也包含了对官方文档的精心翻译,旨在为J2EE开发者提供一个全面理解DWR的平台。 在**Ajax**部分,读者将学习到如何利用Ajax技术创建富客户端应用。Ajax的核心在于通过...

    dwr3api+DWR文档.pdf

    《dwr3api+DWR文档.pdf》提供了关于DWR 3.x版本的详细信息,包括API参考和初级入门指南。这份文档可能涵盖了以下关键知识点: 1. **安装与配置**:如何在你的Java应用服务器上集成DWR,配置DWR的XML配置文件(dwr....

    DWR中文文档 (DWR 2.0)

    ### DWR中文文档知识点概述 #### 一、DWR简介 **DWR(Direct Web Remoting)** 是一个开源的类库,旨在帮助开发者轻松构建包含AJAX技术的网站。其核心价值在于允许浏览器中的JavaScript代码能够直接调用运行在Web...

    关于dwr的api的中文官方文档

    官方中文文档是理解DWR的最佳途径,涵盖了从安装、配置到高级特性的详细说明。通过阅读这份文档,开发者可以快速掌握如何在项目中有效地使用DWR,解决实际开发中的问题。 总的来说,DWR是一种强大的工具,它简化了...

    DWR中文文档v0.9PDF

    《DWR中文文档v0.9PDF》是一个关于Direct Web Remoting (DWR)技术的中文版指南,主要面向希望了解和使用DWR框架的开发者。DWR是一种JavaScript库,它允许Web应用程序与服务器端Java代码进行实时交互,实现AJAX...

    dwr3.0以及相关中文文档

    DWR 3.0的中文文档对于中国开发者来说是一个宝贵的资源,它可以帮助开发者快速理解和掌握如何使用DWR来构建Web应用。文档通常包括以下几个部分: 1. **介绍**:解释DWR的基本概念,其工作原理,以及为什么在项目中...

    DWR中文文档

    DWR(Direct Web Remoting)是一个开源的Java...通过学习这份DWR中文文档,你将能够理解和掌握DWR的工作原理,有效地在Web应用中使用DWR进行AJAX开发,提升用户体验,并了解如何在实际项目中安全、高效地运用这一技术。

    DWR_中文文档 DWR_中文文档

    DWR(Direct Web Remoting)是一种Java库,用于在Web应用程序中实现JavaScript和服务器端Java代码之间的直接远程方法调用(RPC)。这个技术允许开发者在客户端浏览器上利用服务器端的数据和逻辑,使得Web应用能够...

    DWR3.0帮助文档

    DWR Version 3.0.0.116.rc1 帮助文档

    DWR中文文档(pdf)

    ### DWR中文文档知识点概述 #### 一、DWR简介 **DWR**(Direct Web Remoting)是一种简化Ajax应用程序开发的技术。它提供了一种简单的方式,使得客户端JavaScript可以直接调用服务器端Java方法,就像调用本地方法...

Global site tag (gtag.js) - Google Analytics