×

dwr 框架

如何使用DWR框架?Java Web中dwr是什么技术,主要是作什么用

admin admin 发表于2022-09-06 05:43:19 浏览151 评论0

抢沙发发表评论

本文目录

如何使用DWR框架


DWR框架是一个可以允许你去创建AJAX WEB站点的JAVA开源库。它可以让你在浏览器的JavaScript代码中调用Web服务器的Java代码,就像Java代码在浏览器中一样。DWR工作原理是通过动态把Java类生成JavaScript,让使用者感觉调用就像发生在浏览器端。当我们的业务需要在页面不提交的情况下访问服务器端并实现页面数据局部刷新时,我们就可以使用DWR。 下面对如何使用DWR进行了归纳: 1.首先把dwr的类库jar包放入项目的lib路径下,这是废话。 2.在web.xml增加一段配置,因为dwr是靠一个Servlet来接收来至javascript的请求的 《servlet》 《servlet-name》dwr《/servlet-name》 《servlet-class》 org.directwebremoting.servlet.DwrServlet 《/servlet-class》《/servlet》《servlet-mapping》 《servlet-name》dwr《/servlet-name》 《url-pattern》/dwr/*《/url-pattern》 《/servlet-mapping》 3.在WEB-INF下面添加一个名为dwr.xml的配置文件,在这里配置需要在js里面访问的Java类和方法。下面以检查邮件地址是否占用的操作为例,《allow》标记表示了那些类需要转换为Ajax方式调用,create=“new“指定dwr引擎以何种方式创建要调用的类,还有jsf,struts,spring,none等选项,new 是比较适中的也是默认的创建方式。javascript=“CheckEmailService“指定该java类生成的js文件的名字(或者说在js里该类的名字)。如果你需要在js调用Java时传递对象如VO,可以如下指定一个《convert》,这表示你允许dwr帮你把Java类转换为js里模拟的对象,js里调用时可以传递这个VO. 《dwr》《allow》《create creator=“new“ javascript=“CheckEmailService“》 《param name=“class“ value=“com.xxx.CheckEmailService“ /》《/create》《convert converter=“bean“ match=“com.xxx.CallbackVo“ /》《/allow》《/dwr》4.在项目里编写Java类:一个VO类,一个用来AJAX执行的类,注意方法的参数可以是对象哦!!! import com.xxx.EmailVo; public class CheckEmailService{ public String checkEmail(EmailVo email){ //.....do something......}}public class EmailVo{ private String mail; //.....getter,setter,以及其他属性 }5.接下来就在jsp里面导入js文件了。任何使用dwr的jsp必须导入以下两个dwr已有的js: 《script type=’text/javascript’ src=“/dwr/engine.js“/》 《script type=’text/javascript’ src=“/dwr/util.js“/》 当然还必须导入dwr从CheckEmailService类生成而来的js文件,比如:《script type=’text/javascript’ src=“/dwr/interface/CheckEmailService.js“/》 注意了,这个地方有的人会迷惑,这些js在哪里?实际上你是找不到的,因为dwr把这些js文件输出到浏览器缓存里,文件系统没有。(如果你用firefox浏览器,可以安装JS Viewer插件来查看缓存里的js)。 6.好了,在jsp里面要以AJAX方式检查邮件是否占用可以这么写: 《script》 var emailVo={mail:document.getElementById(“mailInputText“),....}; CheckEmailService.checkEmail(emailVo, callback(returnValue){ alert(“邮件被占用!“);}});《/script》 看到了没,先以{ 属性1:属性值1, 属性2:属性值2...}方式创建一个数组来模拟对象,然后传给执行检查的checkEmail方法,checkEmail的第二个参数是一个js函数,用来回调。也就是服务器端Java类的checkEmail执行完返回后,来调用这个回调的函数处理结果。 7.总结:我这里给出了一个解释原理的示意性例子,要会用dwr,主要是理解其原理。其原理就是通过Java反射机制生成对应于Java类的js文件,在客户端模拟Java调用;由engine.js里的execute()函数向服务器发送,提交到Servlet后转给Java类执行。理解,切记。共勉!

Java Web中dwr是什么技术,主要是作什么用


DWR(Direct Web Remoting)是一个用于改善web页面与Java类交互的远程服务器端
Ajax开源框架,可以帮助开发人员开发包含AJAX技术的网站.它可以允许在浏览器里的代码使
用运行在WEB服务器上的JAVA函数,就像它就在浏览器里一样。
DWR包含两个主要的部分:允许JavaScript从WEB服务器上一个遵循了AJAX原则的Servlet
中获取数据.另外一方面一个JavaScript库可以帮助网站开发人员轻松地利用获取的数据来
动态改变网页的内容.
dwr其实就是javascript框架调用你项目的service方法 也就是通过脚本直接调用java方法

请问dwr的用法


DWR是一个框架,简单的说就是能够在javascript直接调用java方法,而不必去写一大堆的javascript代码。它的实现是基于ajax的,可以实现无刷新效果。
网上有不少DWR的例子,但大都只是某种方法的调用,本文只在使用层面上介绍DWR,并不涉更多的技术与设计,其目的是让初学者能够很快的学会各种java方法在javascript中是如何调用的。
本文以DWR 1.1 为基础,对于DWR 2.0,因为还没有正式发布版,故不做介绍。
一、dwr配置篇之web.xml
1、最小配置
Xml代码
《servlet》
《servlet-name》dwr-invoker《/servlet-name》
《servlet-class》uk.ltd.getahead.dwr.DWRServlet《/servlet-class》
《/servlet》
《servlet-mapping》
《servlet-name》dwr-invoker《/servlet-name》
《url-pattern》/dwr/*《/url-pattern》
《/servlet-mapping》
2、当我们想看DWR自动生成的测试页(Using debug/test mode)时,可在servlet配置中加上
Xml代码
《init-param》
《param-name》debug《/param-name》
《param-value》true《/param-value》
《/init-param》
这个参数DWR默认是false。如果选择true,我们可以通过
dwr 输入,输出参数用法
Javascript代码
function testmethod()
{
var ym;
ym=document.queryForm.year.value;
if(ym==““)
{
alert(“请选择提取数据的月份“);
return false;
}
ym=ym.substring(0,6);
payoutmanage.createtempdata(ym,callbackfun);
//输入参数放到前面,回调函数放到最后位置
}
function callbackfun(data)
{
alert(data);
}
类为单态的,dwr中的实例化用法
实例化用法,单态的
《param name=“language“ value=“beanshell“/》
《param name=“script“》
import xxx类;
return xxx类.getInstance();
《/param》
原文:http://blog.sina.com.cn/86star
-dwr

dwr是什么意思


DWR(Direct Web Remoting)是一个WEB远程调用框架。

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

它的最新版本DWR0.6添加许多特性如:支持Dom Trees的自动配置,支持Spring(JavaScript远程调用spring bean),更好浏览器支持,还支持一个可选的commons-logging日记操作。-dwr

深水跑步的背后

深水跑步(Deep water running,DWR)是指在水浮力的辅助下,在水池的深部模拟跑步。水中跑步的跑姿和陆地上一样。但是,在DWR过程中,你可以不触底,完全的悬浮,也就是“踩水”跑步。因此不会产生和陆上跑步的负面影响,许多研究已经证明了此类训练的好处。-框架

对于DWR训练者来说,最明显的优势是训练时下肢几乎没有压力。在一些辅助手段之下,深水跑步已被证明是一种与陆上跑步同等有效的训练方法,因此有助于维持有氧运动。


关于DWR 的 REQUEST


request当然是dwr调用 java 方法时发起的请求啦,你通过dwr调用方法时,dwr会通过ajax发起请求,请求dwr的servlet。基本的细节如下:
触发调用dwr的方法--》dwr核心js进行ajax请求Servlet(请求参数包含调用目标对象名称,方法名称以及方法参数等)--》servlet受理请求,调用请求的java方法--》以json形式返回调用结果--》dwr核心js处理结果并把调用返回值传入到调用dwr的方法时指定的回调函数中--》触发调用dwr结束。
这里主要用在被调用的方法中需要用request获取信息的时候,比如获取session中的数据。
-dwr

dwr框架的原理是什么


dwr框架是服务器端的ajax框架,那么最基础的还是XMLHttpRequest,我们在服务器端的dwr.xml文件中配置好后,dwr框架会把根据配置内容生成相应的js文件,在这个js文件里,它提供了访问服务器端的请求。可以想象,这js文件中有使用XMLHttpRequest请求服务器。其可以使用这样一种方式来处理:使用XMLHttpRequest去访问一个jsp文件,在这个jsp文件中,会使用《%java语句%》来访问在dwr.xml文件定义要访问的方法。并且将返回结果格式化为xml形式发送回给客户端。在客户端,我们使用XMLHttpRequest的reponseXML去接收这个xml(当然是在XMLHttpRequest的onreadystatechange事件指定的方法中接受),然后使用XML DOM对象来解析这个xml文件,生成一个对象或数组。然后,把生成的对象或数组传给要处理的回调函数,使用HTML DOM显示页面动态效果。
-框架

dwr是做什么用的


DWR(Direct Web Remoting)是一个用于改善web页面与Java类交互的远程服务器端Ajax开源框架,可以帮助开发人员开发包含AJAX技术的网站.它可以允许在浏览器里的代码使用运行在WEB服务器上的JAVA函数,就像它就在浏览器里一样。
它包含两个主要的部分:允许JavaScript从WEB服务器上一个遵循了AJAX原则的Servlet中获取数据.另外一方面一个JavaScript库可以帮助网站开发人员轻松地利用获取的数据来动态改变网页的内容.   DWR采取了一个类似AJAX的新方法来动态生成基于JAVA类的JavaScript代码.这样WEB开发人员就可以在JavaScript里使用Java代码就像它们是浏览器的本地代码(客户端代码)一样;但是Java代码运行在WEB服务器端而且可以自由访问WEB 服务器的资源.出于安全的理由,WEB开发者必须适当地配置哪些Java类可以安全的被外部使用.   这个从JAVA到JavaScript的远程功能方法给DWR的用户带来非常像传统的RPC机制,就像RMI或者SOAP一样,而且拥有运行在WEB上但是不需要浏览器插件的好处.   DWR不认为浏览器/WEB服务器协议是重要的,而更乐于保证编程界面的简单自然.对此最大的挑战就是把AJAX的异步特性和正常JAVA方法调用的同步特性相结合.在异步模式下,结果数据在开始调用之后的一段时间之后才可以被异步访问获取到.DWR允许WEB开发人员传递一个回调函数,来异步处理Java函数调用过程.   另处 .dwr还是文件的一种格式: 比如以Dreamweaver软件里有查找和替换,经常用的查找和替换内容可以保存,保存的文件就是以 .dwr结尾的文件。这种文件用记事本打开后可以看到它的内容。
-dwr

什么是DWR


DWR 是什么?
DWR是Direct Web Remoting 的缩写。

DWR 是一个开放源码的使用 Apache 许可协议的解决方案,它包含服务器端 Java 库、一个 DWR servlet 以及 JavaScript 库。虽然 DWR 不是 Java 平台上唯一可用的 Ajax-RPC 工具包,但是它是最成熟的,而且提供了许多有用的功能。
从最简单的角度来说,DWR 是一个引擎,可以把服务器端 Java 对象的方法公开给 JavaScript 代码。使用 DWR 可以有效地从应用程序代码中把 Ajax 的全部请求-响应循环消除掉。这意味着客户端代码再也不需要直接处理 XMLHttpRequest 对象或者服务器的响应。不再需要编写对象的序列化代码或者使用第三方工具才能把对象变成 XML。甚至不再需要编写 servlet 代码把 Ajax 请求调整成对 Java 域对象的调用。
DWR 是作为 Web 应用程序中的 servlet 部署的。把它看作一个黑盒子,这个 servlet 有两个主要作用:首先,对于公开的每个类,DWR 动态地生成包含在 Web 页面中的 JavaScript。生成的 JavaScript 包含存根函数,代表 Java 类上的对应方法并在幕后执行 XMLHttpRequest。这些请求被发送给 DWR,这时它的第二个作用就是把请求翻译成服务器端 Java 对象上的方法调用并把方法的返回值放在 servlet 响应中发送回客户端,编码成 JavaScript。DWR 还提供了帮助执行常见的用户界面任务的 JavaScript 工具函数。
-框架

openwrt,ddwrt,tomato这些路由器固件是怎么开发出来的


openwrt,ddwrt,tomato都是源于思科Linksys系列产品的源代码
思科Linksys基于Linux内核,所以按照GPL协议,思科公司公开了源代码。之后有人根据思科的源代码开发了很多固件,比较出名的就是openwrt,ddwrt,tomato这三个
至于思科为什么能开发出来,因为思科是网络设备行业技术最牛的。其实路由器就是思科发明的
-dwr