`
stephen4留雨
  • 浏览: 18991 次
文章分类
社区版块
存档分类
最新评论

论DWR在Java Web快速开发中的重要性

阅读更多

前言

功能需要我们调用大量的Ajax ,怎么才能有效率地实现?在Java Web开发中,我通常使用Spring + jQuery .

但是jQuery 的ajax方法相比于DWR,个人认为DWR更能快捷地开发。


一、代码比较

举个例子:异步得到一个实体类

jQuery 实现:

Java:

	@RequestMapping("/getEntity")
	public String getEntity()
	{
		return "stephen";
	}

JS:

$.ajax({
      url:"/getEntity",
      success:function (data){
              alert(data);
      }
});


DWR实现:


Java:

@RemoteProxy(name = "personController")
public class PersonController {

	@RemoteMethod
	public String getEntity() {
             return "stephen";
	}

}


JS:

    personController.getEntity(callBack);

    function callBack(data){ 
      
         alert(data);  
    }



二、DWR 的优势

便捷:上面的代码量比较似乎微乎其微,但一旦上了一个数量级就不同了;比如要写10个功能,jQuery就要做10次url映射,而DWR只是在写好Java代码后直接在JS调用这些方法,personController.xxx ,回调函数的参数接受后台的返回值。

形象:JS调用写好的Java代码 (形式上),使得浏览器跟服务器端的交互关系变得非常强,便于理解。


三、如何使用DWR

官网:http://directwebremoting.org

如何使用,前人已经写过很多这样的帖子了, 感谢···

1)配置文件方式:

http://jc-dreaming.iteye.com/blog/564848


我的一个Myeclipse小例子,已测试通过:http://pan.baidu.com/s/11PDAZ


2)Spring集成

http://blog.csdn.net/geloin/article/details/7537148


Myeclipse小例子 :http://pan.baidu.com/s/1mqB49

四、对DWR的理解

官方给出的特征是:DWR is a RPC library which makes it easy to call Java functions from JavaScript and to call JavaScript functions from Java

它可以允许在浏览器里的代码使用运行在WEB服务器上的JAVA函数,就像它就在浏览器里一样。就是说:JS调用写好的Java代码。

反向Ajax,Java代码调用js函数。





分享到:
评论

相关推荐

    ajax dwr 2.0 框架 jar包 中文官方文档 天涯浪子

    把它看作一个黑盒子,这个 servlet 有两个主要作用:首先,对于公开的每个类,DWR 动态地生成包含在 Web 页面中的 JavaScript。生成的 JavaScript 包含存根函数,代表 Java 类上的对应方法并在幕后执行 ...

    dwr(文档及示例)

    把它看作一个黑盒子,这个 servlet 有两个主要作用:首先,对于公开的每个类,DWR 动态地生成包含在 Web 页面中的 JavaScript。生成的 JavaScript 包含存根函数,代表 Java 类上的对应方法并在幕后执行 ...

    DWR.xml配置文件说明书(含源码)

    当然还包括对应的对象形式Integerv,Boolean等等.DWR中在allow预定义了16个配置项目分别用于所有基本类型的转换.就象这样<convert converter="primitive" match="java.lang.Long"/>...

    dwr.Jar JS调后台

    DWR的作用:DWR是一个可以允许你去创建AJAX WEB站点的JAVA开源库。它可以让你在浏览器中的Javascript代码调用Web服务器上的Java代码,就像在Java代码就在浏览器中一样。

    struts2.0_Ajax

    <br>实现原理 基于不重新发明轮子的原则,Struts 2并没有开发新的AJAX框架,而是使用时下Java EE平台中比较流行的AJAX框架——Dojo和DWR。 <br>最近在Musachy Barroso等同志的无私奉献下,开发了Struts 2...

    iuhyiuhkjh908u0980

    一个组件可以有一个或多个支持它的数据库,因此,当装配两个或更多的组件时,我们希望能够保持在跨组件的多个数据库中进行的操作的原子性。J2EE服务器为这些组件提供了一个容器来保证事务原子性和跨组件独立性。如果...

    Spring攻略(第二版 中文高清版).part2

    11.4 在Grails环境中开发、生产和测试 449 11.4.1 问题 449 11.4.2 解决方案 449 11.4.3 工作原理 450 11.5 创建应用的领域类 452 11.5.1 问题 452 11.5.2 解决方案 452 11.5.3 工作原理 452 11.6 ...

    Spring攻略(第二版 中文高清版).part1

    11.4 在Grails环境中开发、生产和测试 449 11.4.1 问题 449 11.4.2 解决方案 449 11.4.3 工作原理 450 11.5 创建应用的领域类 452 11.5.1 问题 452 11.5.2 解决方案 452 11.5.3 工作原理 452 11.6 ...

    精通JS脚本之ExtJS框架.part2.rar

    《精通JS脚本之ExtJS框架》由浅入深地讲解了ExtJS在Web开发中的相关技术。本书共分17章,分别介绍了JavaScript的对象编程、JavaScript浏览器对象模型和事件机制、ExtJS的核心类库和组件、ExtJS的事件处理方式、设计...

    精通JS脚本之ExtJS框架.part1.rar

    《精通JS脚本之ExtJS框架》由浅入深地讲解了ExtJS在Web开发中的相关技术。本书共分17章,分别介绍了JavaScript的对象编程、JavaScript浏览器对象模型和事件机制、ExtJS的核心类库和组件、ExtJS的事件处理方式、设计...

    低清版 大型门户网站是这样炼成的.pdf

    2.5.1 在action中实现手动校验 90 2.5.2 调用校验框架进行自动校验 91 2.5.3 自定义国际化struts 2校验错误消息 92 2.5.4 struts 2的自带校验器 92 2.6 struts 2的拦截器 94 2.6.1 struts 2内建拦截器介绍 95 ...

    jquery插件使用方法大全

    Jquery是继prototype之后又一个优秀的Javascrīpt框架。...当然,也可以用来开发插件,但Resig强烈建议在开发插件之前,先考虑jQuery UI widget工厂。 值得注意的是,sub函数并不提供真正的隔离,所有方法、数据、...

Global site tag (gtag.js) - Google Analytics