`
finally_m
  • 浏览: 67329 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

AJAX技术之DWR框架入门

    博客分类:
  • AJAX
阅读更多

 

(1) 简介

官方:http://directwebremoting.org/dwr/download

最新版本:2.0.5

DWR (Direct Web Remoting)getahead公司开发的一个实现AJAX应用的框架。

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

一个运行在服务器端的Java Servlet,它处理请求并且向浏览器发回响应。

运行在浏览器端的JavaScript,它发送请求而且还能动态更新网页。

 

 

DWR工作原理是通过动态把Java类生成为Javascript。它的代码就像Ajax魔法一样,你感觉调用就像发生在浏览器端,但是实际上代码调用发生在服务器端,DWR负责数据的传递和转换。这种从JavaJavaScript的远程调用功能的方式使DWR用起来有种非常像RMI或者SOAP的常规RPC机制,而且DWR的优点在于不需要任何的网页浏览器插件就能运行在网页上。 Java从根本上讲是同步机制,然而AJAX却是异步的。所以你调用远程方法时,当数据已经从网络上返回的时候,你要提供有反调 callback 功能的DWR

 

 

 

DWR动态在JavaScript里生成一个AjaxService类,去匹配服务气端的代码。由eventHandler去调用它,然后DWR处理所有的远程细节,包括倒置 converting 所有的参数以及返回JavascriptJava之的值。在示例中,先在eventHandler方法里调用AjaxServicegetOptions() 方法,然后通过反调 callback 方法populateList(data) 得到返回的数据,其中data就是String[]{"1", "2", "3"},最后再使用DWR utility data加入到下拉列表。 好了,DWR介绍完了,现在大家肯定很想知道如何做出第一个DWR吧!然后我们在下一章节以一个HelloWorld示例带领大家入门。

 

(2) DWR Hello World入门

步骤:

l         新建工程,从官方网站下载dwr.jar包。然后将它放在你webappWEB-INF/lib目录下。

 

l         编辑配置web.xml文件加入以下配置:

 

 

<servlet> 
	<servlet-name>dwr-invoker</servlet-name> 
	<servlet-class> org.directwebremoting.servlet.DwrServlet </servlet-class> 
	<init-param> 
		<param-name>debug</param-name> 
		<param-value>true</param-value> 
	</init-param> 
</servlet> 
<servlet-mapping> 
	<servlet-name>dwr-invoker</servlet-name> 
	<url-pattern>/dwr/*</url-pattern> 
</servlet-mapping>

 

 

l         编写serivce

 

package com.dwrdemo;

/**
 * @deprecated: 
 * @author: vince
 * @version 1.0
 * @email finally_m@yahoo.cn
 */
public class Demo{
	public String sayHello(String name) {
		return "Hello, " + name;
	}
}

 

 

l         web.xml的同一目录下,创建dwr.xml,并且将要被调用的java类写入其中

<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 2.0//EN" "http://www.getahead.ltd.uk/dwr/dwr20.dtd"> 
<dwr> 
	<allow> 
		<create creator="new" javascript="Demo"> 
			<param name="class" value="com.dwrdemo.Demo" />
		</create>
	</allow> 
</dwr>

 

l         编写JSP测试页面

        <1  引用dwr自动生成的jsdwr/interface/service.js,注意js名字要和dwr.xml配置的一样

        <2  js里的service.sayHellojava类的那个有一点区别,多了个参数,用来callback返回的

    数据

<script type="text/javascript" src="<%=path%>/dwr/util.js"></script>
<script type="text/javascript" src="<%=path%>/dwr/engine.js"></script>
<script type='text/javascript' src='<%=path%>/dwr/interface/Demo.js'></script>
<script type="text/javascript">   
function update() {    	
var name = dwr.util.getValue("demoName");    	
Demo.sayHello(name,function(data){  
dwr.util.setValue("demoReply",data);    	
});      
}
</script>

<body>
	<h2>示例</h2>
	<p>
		Name:<input type="text" id="demoName" />
		<input value="Send" type="button" onclick="update()" />
		<br />
		Reply:span id="demoReply"></span>
	</p>

</body>

   

 

<参考示例代码>

 

 

 

 

 

 

分享到:
评论

相关推荐

    ajax的DWR框架入门例子

    ajax的DWR框架入门例子,包含源代码和调试成功的例子

    Ajax框架DWR 入门例子

    提供一个能运行的Ajax框架dwr入门程序!共同学习!

    ajax的框架dwr整合jsf

    使用ajax的框架dwr整合jsf的简单例子,适合入门!!

    J2EE的ajax的DWR框架视频

    此视频从入门到提高会介绍在J2EE开发环境下使用ajax的DWR框架的操作方法

    ajax框架:dwr》实战(包括整合).pdf

    ajax框架:dwr 实战(包括整合) ,pdf电子书,有实例,容易入门

    Ajax框架之ExtJs、DWR入门书籍

    博文链接:https://myd.iteye.com/blog/244882

    Ajax的DWR入门例子

    Ajax技术越来越多的被用到开发项目中,如果不采用框架的前提下需要反复编写臃肿代码, 而框架则封装了这些代码,在框架上开发Ajax能减少页面的代码数,同时也降低了学习Ajax 的入门门槛! 该文档让你更容易理解掌握...

    dwr简单入门例子

    最近发现了一个java框架,这个框架已经...这个框架叫dwr,它可以在jsp页面编写js直接调用java的类的方法。原理其实就是它把你的java类发布成了接口服务,js的调用也是ajax的一些封装,有些地方使用这个框架真的很方便。

    DWR+dwr入门手册

    基于AJAX的流行框架DWR,实现无刷新,使web程序拥有更加丰富的用户体验!另外附带DER入门手册

    AJAX 入门视频之 Ext 2.0.1 & DWR 1表格实时编辑器实例

    AJAX 入门视频之 Ext 2.0.1 & DWR 1表格实时编辑器实例 AJAX 入门视频之 MyEclipse 6 开发的 Ext 2.0.1 & DWR 1表格实时编辑器示例 2008-1-27 说实话, 我也是特别懒的人, 很早就想看看 Ext, 尤其是做一个实时...

    dwr入门+springmvc实现

    利用这个框架可以让AJAX开发变得很简单.利用DWR可以在客户端利用JavaScript直接调用服务端的Java方法并返回值给JavaScript就好像直接本地客户端调用一样(DWR根据Java类来动态生成JavaScrip代码).它的最新版本DWR0.6...

    AJAX框架dwr文档

    这是RWR文档。入门的朋友可以下下来。里面大部是都文档看完也基本会用了。

    用javascript,jquery,dwr 实现ajax的入门例子

    分别用 最原始的javascript,jquery,dwr 来实现ajax的入门例子,验证账户名是否存在

    ajax dwr 例子

    eclipse 工程目录,ajax框架dwr的入门源代码, 当然也可以提取classes文件,放到servlet容器 中运行

    dwr学习资料,dwr 2.0学习,dwr入门实例.rar

    DWR(Direct Web Remoting)是一个用于改善web页面与Java类交互的远程服务器端Ajax开源框架,可以帮助开发人员开发包含AJAX技术的网站.它可以允许在浏览器里的代码使用运行在WEB服务器上的JAVA函数,就像它就在浏览器...

    web 2.0入门者 Ajax修炼之道-包含源码

    不仅教会你Ajax的技术细节,同时还带你了解各种功能强大的主流Ajax工具包(Dojo、Prototype、 Script.aculo.us、DWR、Backbase、SmartClient、Ajax.NET、SAJAX、JSON-RPC),掌握Ajax 实时查看源代码的方法以及进行...

    DWR中文文档.rar

    DWR是是关于开发web2.0网站实现动态交互性,增强用户体验度的一个Ajax框架技术,本文档共10章,其内容依次为:第1章.DWR入门,含3小节;第2章.web.xml配置,含6小节;第3章.dwr.xml配置,含4小节;第4章.整合,含8小节;...

Global site tag (gtag.js) - Google Analytics