这就是在后端需要做的所有工作,现在可以开始在应用程序的前端使用DWR了。
DWR框架支持从JavaScript代码中直接调用Java类上的方法。
现在,我准备把dwr.xml部署到Web应用程序的WEB-INF目录,在那里DWRservlet会读取它。
对于此配置,我们将创建dwr.xml文件,并将其放置在应用程序的WEB-INF目录中。
三层复合软壳上部是水和防风,透气,以及与DWR(耐久拒水)完成治疗。
它是一个DWR注释,告知DWR此类可以自动整理,并作为Ajax响应的一部分发送。
DWR有许多我没有介绍的特性,文章源代码是把DWR投入使用的一个良好起点。
我们还需要配置DWR客户端引擎,以使用活动ReverseAjax,因此我们需要调用dwr.engine.setActiveReverseAjax(true)。
最后,需要记住:DWRAjax调用是异步的,所以不要期望它们会按照分派的顺序返回。
我们使用的最有前途、设计合理的一些工具包是:Dojo、Rico和DWR(请参见参考资料)。
通过更改DWR的配置,您可以自由地在Comet、轮询,甚至是piggyback方法之间进行切换。
您可以配置DWR在后台以同步或异步方式呼叫服务器。
在大型应用程序中,可以使用DWR的Spring集成提供Spring生成的bean。
DWR是一个开放源码的使用Apache许可协议的解决方案,它包含服务器端Java库、一个DWRservlet以及JavaScript库。
最妙的是,当运行在Jetty下时,DWR能够自动检测并切换为使用Contiuations,实现非阻塞Comet。
清单5所示的JSP文件fileupload-view.jsp展示了DWR如何有助于从服务器端检索文件上载过程。
DWR应用程序的起点是编写服务器端对象模型。
DWR自动地在Java和JavaScript表示之间调整简单数据类型。
从最简单的角度来说,DWR是一个引擎,可以把服务器端Java对象的方法公开给JavaScript代码。
为了克服这个问题,可以使用包装器类把额外的特定于DWR的方法添加到普通JavaBean。
使用DWR可以有效地从应用程序代码中把Ajax的全部请求-响应循环消除掉。
本文将展示如何结合使用Jettyservlet引擎和DWR简捷有效地实现一个CometWeb应用程序。
在这个版本的dwr.xml中,我添加了Cart的creator和convertor。
水资源部门执行并监督国家的水工程,包括加利福尼亚沟渠。
对于延迟,DWR在调用的批处理中有自己的解决方案(请参阅侧栏的调用批处理)。
在更详细地解释DWR之前,我要介绍一个简单的示例场景。