`
zfq0714
  • 浏览: 16235 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

dwr

阅读更多

     DWR(Direct Web Remoting)是一个开源的类库,可以帮助开发人员开发包含AJAX技术的网站.它可以允许在浏览器里的代码使用运行在WEB服务器上的JAVA函数,就像它就在浏览器里一样.

     DWR采取了一个类似AJAX的新方法来动态生成基于JAVA类的JavaScript代码.这样WEB开发人员就可以在JavaScript里使用Java代码就像它们是浏览器的本地代码(客户端代码)一样;但是Java代码运行在WEB服务器端而且可以自由访问WEB 服务器的资源.出于安全的理由,WEB开发者必须适当地配置哪些Java类可以安全的被外部使用.

要使用dwr要先下载http://getahead.org/dwr/
    下载内容
    DownloadVersion 2.0.3Size
    JAR File: dwr.jar(489Kb)
    WAR File:dwr.war(2.14Mb)
    Sources:dwr-2.0.3-src.zip (20.78Mb)

  首先看下工程里面:

.....

 

  多了dwr.jar(dwr jar包),dwr.xml(dwr的配置文件),dwr20.dtd(在编辑xml配置文件时,提供自动提示功能),其实web.xml配置文件也配置了dwr的servlet,来看下:

dwr框架(菜鸟入门)

  至于这个url为什么还要用"/dwr/*"还不是很清楚,我想的是如果客户端有请求过来经过dwr的都被指定的servler处理(个人理解)。

  在来看下dwr.xml的配置:

dwr框架(菜鸟入门)

  红线框的是关于dwr智能提示的配置,里面蓝线框的是上面提到的dwr20.dtd的路径,如果路径或者文件名不对,那么前面就会出现警告:

dwr框架(菜鸟入门)

 如果出错了也无所谓,只不过是不能智能提示,如果你能把这写节点记住的话,那就不需要了,否则就把dwr20.dtd拷贝到与dwr.xml相同的目录下。

  在看重要的部分dwr的节点:

           <allow>标签中包括可以暴露给javascript访问的东西。

           <create>标签中指定javascript中可以访问的java类 , 并定义DWR应当如何获得要进行远程的类的实例。creator="new"属性指定java类实例的生成方式,new意味着DWR应当调用类的默认构造 函数来获得实例,其他的还有spring方式,通过与IOC容器Spring进行集成来获得实例等等。javascript="sayHello"属性指 定javascript代码访问对象时使用的名称。

            <param> name这里一般用class指一个类,value指类的全名,包括包名。

  好了配置文件我们算做好了,在来看看jsp中在JavaScript中所做的配置。

dwr框架(菜鸟入门)

  第一个是dwr的引擎js文件,第二个是用户自己要访问java的类的js文件。

在来看看JavaScript调用java类的方法

dwr框架(菜鸟入门)

  注意这里的sayHell o还有上面配置的sayHello .js(文件名)要和dwr.xml中配置JavaScript的名字要相同 ,否则就报错。

下来看下java类中的方法。

dwr框架(菜鸟入门)

 

  在上面的JavaScript中有人就想问,为什么调用Hello的方法时要传入一个函数。来说下,第一个是java方法的参数,第二个方法是回调函数,这个函数是负责接受JavaScript调用java类后返回的结果。

  到这里一个简单的dwr框架就搞完了,来先看下是否成功,启动jsp的服务器,然后下图:

dwr框架(菜鸟入门)

  点击查看文件,先把里面所有的东西删除了,然后浏览你的jsp页面,就出出现一下2个文件

dwr框架(菜鸟入门)

  就是我们刚才配置的两个js文件,如果客户端通过JavaScript调用sayHello.Hello的话,那么就会由sayHello.js处理,然后转交给engine引擎,之后由引擎向服务器请求。

 来看下效果,

dwr框架(菜鸟入门)

  很好,看来运行很好,但是发现个问题,我刚才在配置文件里配置的com.dwr.sayHello中所有的方法我们都可以访问的嘛?其实并不是这样的,要是不设置的话,就默认允许调用所有的方法,要是想要指定的方法允许访问,那么就要在dwr.xml中配置了。来看:

dwr框架(菜鸟入门)

  好了,具体配置就是这样的。到此为止才是菜鸟入门,呵呵(我也是菜鸟,刚学的。)

 

原文地址:http://blog.sina.com.cn/s/blog_5a39b0c70100bgdh.html

分享到:
评论

相关推荐

    dwr源码包,dwr.jar包下载

    1、 导入dwr.jar包 2、 在web.xml中配置dwr,如下: &lt;!-- 配置DWR --&gt; &lt;servlet-name&gt;dwr-invoker org.directwebremoting.servlet.DwrServlet &lt;init-param&gt; &lt;param-name&gt;debug&lt;/param-name&gt; ...

    SpringBoot整合DWR3.0.2-RELEASE独立部署示例代码以及修改过的DWR3.0.2-RELEASE资源JAR包

    该示例资源主要解决如下两个问题,其一就是解决SpringBoot集成DWR3.0.2-RELEASE版本,无配置文件快速简洁完成集成工作,省去dwr.xml等DWR框架初始化需要的配置文件;其二就是解决了集成后的SpringBoot项目在开发环境...

    dwr_jar包下载

    **标题:“DWR Jar包下载”** DWR (Direct Web Remoting) 是一个开源Java库,它允许在浏览器和服务器之间进行实时、双向通信。DWR使得JavaScript可以直接调用Java方法,就像是本地对象一样,极大地简化了Web应用...

    dwr所需要的jar包

    DWR (Direct Web Remoting) 是一个开源Java库,它允许Web应用程序在浏览器和服务器之间进行实时通信,无需使用插件或复杂的JavaScript框架。DWR简化了AJAX(Asynchronous JavaScript and XML)开发,使开发者可以像...

    dwr实例,从后台取数据显示

    Direct Web Remoting (DWR) 是一种开源的Java库,它允许JavaScript在浏览器端与服务器端的Java对象进行交互,从而实现动态Web应用程序。DWR的主要功能是通过AJAX技术在客户端和服务器之间进行实时通信,使得用户界面...

    DWR3实现服务器端向客户端精确推送消息

    DWR(Direct Web Remoting)是一种Java库,它允许JavaScript在Web浏览器中直接调用Java方法,从而实现实时的、双向的通信。在“DWR3实现服务器端向客户端精确推送消息”这一主题中,我们将深入探讨如何利用DWR3进行...

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

    DWR.xml配置文件说明书 1、 建立dwr.xml 配置文件 任何一个dwr.xml的文件都需要包含DWR DOCTYPE的声明行,格式如下: &lt;!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 1.0//EN" ...

    DWR中文文档DWR

    DWR(Direct Web Remoting)是一种Java库,它允许JavaScript在客户端与服务器端进行直接的交互,从而实现在Web应用程序中的Ajax功能。DWR的主要目标是简化前后端的数据交换,提高用户体验,使得Web应用能够像桌面...

    DWR实现的新消息定时提醒

    DWR(Direct Web Remoting)是一种JavaScript库,它允许JavaScript代码在客户端与服务器端进行直接交互,从而实现实时Web应用程序。在这个特定的场景中,我们利用DWR来实现一个新消息的定时提醒功能,这在许多Web...

    DWR(包括engine.js+util.js).rar

    这个压缩包包含了DWR的核心组件`engine.js`和辅助库`util.js`,它们是实现DWR功能的关键。 `engine.js`是DWR的核心脚本,它实现了JavaScript和Java之间的远程调用(Remote Procedure Calls, RPC)。这个文件处理了...

    DWR3.0.2-RELEASE修改版源码(解决资源加载问题导致的和SpringBoot整合后SpringBoot项目无法以独立JAR运行)

    DWR (Direct Web Remoting) 是一个开源的Java库,允许Web应用程序在浏览器和服务器之间进行实时通信。在本案例中,我们关注的是DWR 3.0.2-RELEASE的一个修改版,这个版本专门针对与Spring Boot 1.x集成时出现的问题...

    dwr和简单的文件上传

    DWR (Direct Web Remoting) 是一个开源的Java库,它允许JavaScript在浏览器端与服务器端的Java对象进行交互,实现动态的Web应用。在这个场景中,我们将讨论如何使用DWR来实现简单的文件上传功能。 文件上传是Web...

    DWR 初始,返回字符串&对象&列表

    DWR(Direct Web Remoting)是一种JavaScript到Java的远程调用技术,允许Web应用程序在客户端与服务器之间进行实时通信,而无需刷新整个页面。DWR的出现极大地提升了Web应用的用户体验,因为它允许开发者在前端与...

    dwr的例子 反向AJAX 实现时时提醒

    Direct Web Remoting (DWR) 是一个开源Java库,它允许在浏览器和服务器之间进行安全、高效的异步通信,即所谓的“反向AJAX”或“Comet”技术。DWR使得JavaScript能够调用服务器端的Java方法,就像它们是本地函数一样...

    dwr笔记 dwr自学资料

    DWR (Direct Web Remoting) 是一种开源Java技术,它允许Web应用程序在浏览器和服务器之间进行实时、双向通信,使得JavaScript可以直接调用服务器端的Java方法,极大地简化了客户端和服务器端的数据交换。本笔记将...

    dwr实现ajax功能ajax+dwr

    **DWR(Direct Web Remoting)**是一种Java技术,它允许Web应用程序在客户端与服务器之间进行实时通信,而无需刷新整个页面。通过DWR,我们可以使用JavaScript直接调用服务器端的Java方法,实现Ajax(Asynchronous ...

    dwr demo dwr简单使用

    DWR (Direct Web Remoting) 是一个开源的Java库,它允许JavaScript在浏览器端与服务器端的Java对象进行交互,实现动态的Web应用。DWR简化了AJAX(Asynchronous JavaScript and XML)的开发,使得开发者可以像调用...

    springMVC+dwr技术实现消息推送实例

    SpringMVC 和 DWR(Direct Web Remoting)是两种在Web开发中用于增强交互性的技术。SpringMVC作为Spring框架的一部分,主要用于构建后端服务,而DWR则是一种JavaScript库,允许JavaScript与Java服务器进行实时通信,...

Global site tag (gtag.js) - Google Analytics