前言
功能需要我们调用大量的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函数。
分享到:
相关推荐
把它看作一个黑盒子,这个 servlet 有两个主要作用:首先,对于公开的每个类,DWR 动态地生成包含在 Web 页面中的 JavaScript。生成的 JavaScript 包含存根函数,代表 Java 类上的对应方法并在幕后执行 ...
把它看作一个黑盒子,这个 servlet 有两个主要作用:首先,对于公开的每个类,DWR 动态地生成包含在 Web 页面中的 JavaScript。生成的 JavaScript 包含存根函数,代表 Java 类上的对应方法并在幕后执行 ...
当然还包括对应的对象形式Integerv,Boolean等等.DWR中在allow预定义了16个配置项目分别用于所有基本类型的转换.就象这样<convert converter="primitive" match="java.lang.Long"/>...
DWR的作用:DWR是一个可以允许你去创建AJAX WEB站点的JAVA开源库。它可以让你在浏览器中的Javascript代码调用Web服务器上的Java代码,就像在Java代码就在浏览器中一样。
<br>实现原理 基于不重新发明轮子的原则,Struts 2并没有开发新的AJAX框架,而是使用时下Java EE平台中比较流行的AJAX框架——Dojo和DWR。 <br>最近在Musachy Barroso等同志的无私奉献下,开发了Struts 2...
一个组件可以有一个或多个支持它的数据库,因此,当装配两个或更多的组件时,我们希望能够保持在跨组件的多个数据库中进行的操作的原子性。J2EE服务器为这些组件提供了一个容器来保证事务原子性和跨组件独立性。如果...
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 ...
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框架》由浅入深地讲解了ExtJS在Web开发中的相关技术。本书共分17章,分别介绍了JavaScript的对象编程、JavaScript浏览器对象模型和事件机制、ExtJS的核心类库和组件、ExtJS的事件处理方式、设计...
《精通JS脚本之ExtJS框架》由浅入深地讲解了ExtJS在Web开发中的相关技术。本书共分17章,分别介绍了JavaScript的对象编程、JavaScript浏览器对象模型和事件机制、ExtJS的核心类库和组件、ExtJS的事件处理方式、设计...
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是继prototype之后又一个优秀的Javascrīpt框架。...当然,也可以用来开发插件,但Resig强烈建议在开发插件之前,先考虑jQuery UI widget工厂。 值得注意的是,sub函数并不提供真正的隔离,所有方法、数据、...