Java堂  


DWR文档之 网络上的资料

Filed under: JavaPlateform,RIA — Jet @ 11:42 上午
Tags: ,
原文出处: DWR文档之 网络上的资料
作者: Jet Mah from Java堂
声明: 可以非商业性任意转载, 转载时请务必以超链接形式标明文章原始出处、作者信息及此声明!

原文出处: http://www.javatang.com/archives/2006/10/24/424782.html
翻译: Jet Mah
声明: 请维持文章的完整性任意转载

网络上关于 DWR 的教程和文章

DWR 的各种教程开始出现在网络上。欢迎你对除此之外的其他教程或者任何包含下面文章的书刊进行评论。

连接 DWR 和其他技术
有很多是关于将 DWR 应用到其他技术的文章:

  • Mats Henricson 写的文章是关于 将DWR 应用到 Appfuse
  • Jorge Martín Cuervo 记录了他使用 DWR 的亲身经历 ,还有 JMeter.
  • Helge Tesgaard 基于 DWR 使用 Commons FileUpload 和 Acegi 创建了一个 Ajax 上传进度条.
  • Sujit Pal 写的使用 DWR 和 Velocity
  • Pinaki Poddar 为 BEA dev2dev 写了两篇关于 DWR 和 EJB3 的文章:第一部分第二部分
  • DWR 和 Confluence ,作者:Dan Hardiker.DWR 教程
    这一部分是一组介绍 DWR 的文章,大部分都是从 1.x 版本开始的。

    Sun: Hands-On DWR Labs

    来自于 Sun 的 Sang Shin from Sun 创建了一组 Hands on Labs 用来讨论各种 Ajax 技术。这里是 DWR 部分

    摘录:此文档从头教给你怎样快速使用 DWR 开发基于 Ajax 的 Web 程序。

    Java.net: DWR 聊天室演示程序

    由 DWR 的开发者 – Joe Walker 所创建。

    摘录: 文章演示了使用 DWR 创建一个多用户的网络聊天室。它说明将客户端浏览器中的 JavaScript 和服务端的 Java 连在一起是如果的容易。它的目标是在客户端和服务端都使用大概 100 行代码来创建这个完整的系统……

    IBM DeveloperWorks: 结合 Direct Web Remoting 使用 Ajax

    再也没有比这个更简单的连载文章了,作者是 Phil McCarthy
    (译注:中文版本的地址为:http://www-128.ibm.com/developerworks/cn/java/j-ajax3/

    摘录: Philip McCarthy 介绍了如何使用Direct Web Remoting(DWR)直接把 JavaBean 的方法公开给 JavaScript 代码并自动进行 Ajax 的繁重工作。… 虽然 DWR 不是 Java 平台中唯一的 Ajax-RPC 工具,但是它是其中一个特别成熟的工具,并且提供了一大堆有用的函数。

    BEA dev2dev: Ajax简介

    关于 Ajax 和 DWR 的简介,作者 David Teare
    (译注:中文版本的地址为:http://dev2dev.bea.com.cn/techdoc/2005110103.html

    摘录:DWR 真正的简洁在于,一旦你设置了公开于客户端的服务端代码,它将映射到被网页调用的 JavaScript 对象,这些对象也可以直接访问服务端。网页可以直接使用被映射的 JavaScript 对象,就好像直接使用服务端的代码一样;DWR 无缝地解决了实现这些功能的细节……

    JavaWorld: DWR 使开发 Ajax 如此简单
    一篇介绍 DWR 的文章,作者是 Cloves Carneiro Jr.

    摘录:文章介绍了使用开源项目 DWR(Direct Web Romoting)实现 AJAX(Asynchronous JavaScript and XML)来改善 Web 应用程序的优势。作者逐步操作来演示了 DWR 怎样简单而快速的实现 AJAX。(1,600 字;2005年6月20日)

    英文出处:
    http://getahead.org/dwr/elsewhere
    DWR文档翻译文档列表:
    http://www.javatang.com/dwr-chinese-documents/

  • DWR文档之范例

    Filed under: JavaPlateform,RIA — Jet @ 10:15 下午
    Tags: ,
    原文出处: DWR文档之范例
    作者: Jet Mah from Java堂
    声明: 可以非商业性任意转载, 转载时请务必以超链接形式标明文章原始出处、作者信息及此声明!

    原文出处: http://www.javatang.com/archives/2006/10/23/153481.html
    翻译: Jet Mah
    声明: 请维持文章的完整性任意转载

    范例

    官方站点上有 7 个指南或范例,他们主要用来理解 DWR 怎样工作而不是延伸 Ajax。

    在尝试自己创建这些例子之前,最好先理解 开始使用 DWR 部分。

  • 站点实例
  • 动态更新文本
  • 动态表单编辑
  • 表格编辑
  • 动态地址簿
  • 动态下拉列表
  • 动态验证
  • 简易聊天室
  • 操作 XML
  • 例子源代码英文出处:
    http://getahead.org/dwr/examples
    DWR文档翻译文档列表:
    http://www.javatang.com/dwr-chinese-documents/
  • DWR文档之开始使用 DWR

    Filed under: JavaPlateform,RIA — Jet @ 9:25 上午
    Tags:
    原文出处: DWR文档之开始使用 DWR
    作者: Jet Mah from Java堂
    声明: 可以非商业性任意转载, 转载时请务必以超链接形式标明文章原始出处、作者信息及此声明!

    原文出处: http://www.javatang.com/archives/2006/10/20/254879.html
    翻译: Jet Mah
    声明: 请维持文章的完整性任意转载

    开始使用 DWR

    有两种方法来开始 DWR 的学习,最简单的做法是下载官方提供的 WAR 文件然后对此深入研究。不过这种方式不能使你感到将 DWR 整合到你现有的 web 程序有多么的简单,所以我们推荐你跟随下面三个步骤:

    1. 安装 DWR JAR 包
    下载 dwr.jar 文件,然后将它放在 web 程序的 WEB-INF/lib 目录下面,很可能在这个目录下已经有一些 jar 文件了。

    2. 编辑 config 文件

    将下面的代码添加到 WEB-INF/web.xml 文件中,<servlet>需要放在另外的<servlet>之后,<servlet-mapping>也是如此。

    <servlet>
      <servlet-name>dwr-invoker</servlet-name>
      <display-name>DWR Servlet</display-name>
      <servlet-class>uk.ltd.getahead.dwr.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>

    接下来创建 dwr.xml 文件并将此放在 web.xml 所在的 WEB-INF 目录下。文件中类似下面的内容:

    <!DOCTYPE dwr PUBLIC
        ”-//GetAhead Limited//DTD Direct Web Remoting 1.0//EN”
        ”http://www.getahead.ltd.uk/dwr/dwr10.dtd”>

    <dwr>
      <allow>
        <create creator=”new” javascript=”JDate”>
          <param name=”class” value=”java.util.Date”/>
        </create>
        <create creator=”new” javascript=”Demo”>
          <param name=”class” value=”your.java.Bean”/>
        </create>
      </allow>
    </dwr>

    DWR 配置文件定义了由 DWR 创建和被 Javascript 远程使用的类。在上面的例子中我们在远程创建了2个类,并且给出了在 Javascript 中的类名。

    上面使用的 new creator 使用了所有的 JavaBeans 必须含有的公有(public)无参(no-args)的构造函数。值得一提的是, DWR 还有一些限制:

  • 避免使用 JavaScript 保留字;以保留字命名的方法将自动被排除。大多数 JavaScript 的保留字同时也是 Java 的保留字,因此无论如何你也不能使用一个名为 “try()” 的方法。但是最常用的一个词 “delete()”,在 JavaScript 中有特殊的含义而在 Java 中没有。
  • 重载方法(Overloaded methods)将会在调用的时候陷入未知的状况,因此应该避免重载方法。3. 访问下面的地址

    http://localhost:8080/[YOUR-WEBAPP]/dwr/

    你应该会看到一个页面,上面显示了刚才你在第二步所创建的类。进入一个链接之后你会看到所有等待调用方法的列表。这些动态产生的例子你也能通过 DWR 来实现。

    亲自尝试和体会下吧。

    怎样应用到你的 Web 程序中?

    在侧边栏有很多例子演示了怎样改变网页中的文本、更新列表、操作表单和动态修改表格。每一个例子都有详细的说明。

    另外一个开始方法就是从页面中查看源代码,这些页面你刚刚浏览过:

  • 进入 http://localhost:8080/[YOUR-WEBAPP]/dwr/ 然后点击你创建的类;
  • 查看源代码然后定位到你所感兴趣的方法的代码行;
  • 将这些文本粘贴到你 Web 程序的一个 HTML 或 JSP页面中;
  • 包含下面的 javascrip 文件:

    <script src=’/[YOUR-WEBAPP]/dwr/interface/[YOUR-SCRIPT].js’></script>
    <script src=’/[YOUR-WEBAPP]/dwr/engine.js’></script>

    你可以根据实际情况修改 /[YOUR-WEBAPP]/ 部分。

    关于怎样书写 DWR 控制的 Javascript 代码请查看 脚本简介

    不能运行怎么办?

    我们专门有一个 常见问题及解答,应该首先查看这个地方。

    如果依然有问题请 加入新闻组然后在此提问。

    英文出处:
    http://getahead.org/dwr/getstarted
    DWR文档翻译文档列表:
    http://www.javatang.com/dwr-chinese-documents/

  • 最流行的 Ajax/Java 框架

    Filed under: JavaPlateform,RIA — Jet @ 9:23 上午
    Tags: ,
    原文出处: 最流行的 Ajax/Java 框架
    作者: Jet Mah from Java堂
    声明: 可以非商业性任意转载, 转载时请务必以超链接形式标明文章原始出处、作者信息及此声明!

    最流行的 Ajax/Java 框架

    Filed under: DWR — Jet @ 9:23 am

    Ajaxian.com 上评出的2006最流行的 Ajax/Java 框架

    DWR文档之DWR总览

    Filed under: JavaPlateform,RIA — Jet @ 10:30 下午
    Tags:
    原文出处: DWR文档之DWR总览
    作者: Jet Mah from Java堂
    声明: 可以非商业性任意转载, 转载时请务必以超链接形式标明文章原始出处、作者信息及此声明!

    原文出处: http://www.javatang.com/archives/2006/10/19/301977.html
    翻译: Jet Mah
    声明: 请维持文章的完整性任意转载

    DWR:在Java 中使用Ajax如此简单

    DWR 是一个 Java 开源类库,专门用来开发 Ajax 网站。

    它可以使运行在服务端的 Java 方法好像运行在本地浏览器中一样。

    DWR 主要由两部分组成:

  • 一个运行在服务端的 Java Servlet,用来接收请求和发送响应到浏览器;
  • 运行在客户端的 JavaScript,用来发送请求和动态更新页面。DWR 依靠动态的 Javascript 来工作,这些 Javascript 脚本是基于 Java 类的。代码产生一些 Ajax 的动作使之看起来像是发生在浏览器中的客户端,但事实上是服务端在执行这些代码,然后由 DWR 来来回回的传输所产生的数据。

    这种从远程的 Java 方法到 Javascript 的方式给 DWR 使用者一个感觉,好像传统的 RPC 方式,比如 RMI 或者 SOAP,事实上与之相比 DWR 的优势在于它不需要任何浏览器插件。

    从根本上来讲,Java 是同步的但 Ajax 是异步的。因此,当调用一个远程方法的时候,你应该提供 DWR 一个回调函数用来在数据从网络传输过来之后被调用。

    图片显示了 DWR 怎样改变下拉列表的内容来作为 Javascript 事件(比如 onclick )的结果。

    DWR 动态地在 Javascript 中生成一个 AjaxService 来匹配对应的服务端代码,这个 AjaxService 被 eventHandler 调用。然后 DWR 处理所有的远程细节,包括转换所有的参数和在 Javascript 和 Java 之间返回数值。接下来它将执行例子中所提供的回调函数(populateList),该回调函数使用 DWR 工具函数来改变网页页面。

    通过提供一些 Javascript 类库和范例,DWR 帮助你制作较强交互性的站点。

    更多关于 DWR 入门的资料请参考 开始使用 DWR下载使用说明

    英文出处:
    http://getahead.org/dwr/overview/dwr
    DWR文档翻译文档列表:
    http://www.javatang.com/dwr-chinese-documents/

  • 遍历JavaScript对象的所有属性

    Filed under: RIA — Jet @ 11:44 上午
    Tags:
    原文出处: 遍历JavaScript对象的所有属性
    作者: Jet Mah from Java堂
    声明: 可以非商业性任意转载, 转载时请务必以超链接形式标明文章原始出处、作者信息及此声明!

    现在网上充斥着大量关于所谓JavaScript的参考手册或参考资料,大部分都是真对于微软所推出的JScript的,而不是现在我们使用Ajax使用到的JavaScript。然而关于JavaScript的参考资料非常的有限,并且解释的也不是很全面,这样在做JavaScript脚本程序的时候往往要查询大量的资料,很是耗时。
      今天无意中在网上找到了一个用来遍历JavaScript某个对象所有的属性名称和值的方法,这样想使用方法的时候非常的直观和方便。我整理成了一个函数,代码如下:

    1. /*
    2. * 用来遍历指定对象所有的属性名称和值
    3. * obj 需要遍历的对象
    4. * author: Jet Mah
    5. * website: http://www.javatang.com/archives/2006/09/13/442864.html 
    6. */ 
    7. function allPrpos(obj) { 
    8.     // 用来保存所有的属性名称和值
    9.     var props = "";
    10.     // 开始遍历
    11.     for(var p in obj){ 
    12.         // 方法
    13.         if(typeof(obj[p])=="function"){ 
    14.             obj[p]();
    15.         }else{ 
    16.             // p 为属性名称,obj[p]为对应属性的值
    17.             props+= p + "=" + obj[p] + "\t";
    18.         } 
    19.     } 
    20.     // 最后显示所有的属性
    21.     alert(props);
    22. }

    真正的JavaScript而非JScript的参考手册可以看阿江整理的一些资料:http://www.ajiang.net/article/artview.asp?id=469

    参考资料:
    演示 for…in 循环语句示例
    http://www.blabla.cn/js_examples/042_js_for_in.html
    AJAX的JavaScript的反射机制
    http://tech.163.com/06/0621/09/2K4MLGA20009159V.html

    « 上一页