`
iwfy
  • 浏览: 36884 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

初学DWR Ajax框架

阅读更多

初学Ajax开源框架DWR,使用2.0.5版本,新建web项目dwrtest
下载地址:http://directwebremoting.org/dwr/download
中文文档:http://wiki.javascud.org/display/dwrcn/Home

1.配置web.xml文件,配置一个servlet
 * <servlet-name>dwr</servlet-name>
     <servlet-class>org.directwebremoting.servlet.DwrServlet</servlet-class>
      <url-pattern>/dwr/*</url-pattern>
     
 * 复制dwr.jar和commons-logging-*.jar文件到lib目录

2.新建处理类,并把该类配置到dwr.xml文件里,dwr.xml文件从源代码中复制到WEB-INF目录
 * 处理类名UserAjax,一个方法:检查参数,然后返回结果如Boolean
  配置dwr.xml:页面端可以通过"userAjax"访问这个类方法并得到返回结果
   <allow>
  <create javascript="userAjax" creator="new">
   <param name="class" value="com.wfy.dwr.UserAjax"/>
  </create>
   </allow>

3.编写页面端jsp或html,利用JavaScript技术
 * 这里的配置格式固定,是约定src="dwr/engine.js"是必须的,它处理所有与服务器的通信
  这里使用了相对路径
  <script type="text/javascript" src="dwr/engine.js"></script>
  <script type="text/javascript" src="dwr/interface/userAjax.js"></script>
  <!-- 这里的dwr/interface/也是约定,userAjax.js也是框架自动生成我们只需在此引用就可以 -->
  
 * 还有一个可选配置util.js: 帮你使用从服务器取来的数据改变页面(还有一些灵巧的小功能)
  <script type="text/javascript" src="dwr/util.js"></script>

 * 用javascript脚本编写Ajax回调函数,接收返回值并处理
    function callback(boolean){
     if(boolean){
        ${"error"}.style.visibility="hidden";
     }else{
        ${"error"}.style.visibility="visible";
        form1.username.value="";
     }
    }

 * 用JavaScript脚本编写调用处理类的函数
    function validate(){
       var name = form1.username.value;
       //这个是调用dwr.xml配置里的处理类的方法
       userAjax.existUser(name,callback);
    }
    这条语句的主要功能:1.传递页面端的内容给服务端处理类的方法
    2.指明了回调函数是callback
 
 * 表单form1.username的onchange="validate()"
  当username输入框内容改变失去焦点后,这个方法就会执行,然后由框架动态生成的
  脚本方法就会把我们输入的值发送给服务端,服务端接收到request分析地址是/dwr/*
  找到我们在web.xml里配置的DWRservlet处理请求后将结果返回给页面端

 * 框架自动生成的脚本参见http://localhost:8080/dwrtest/dwr/
  dwr/interface/userAjax.js内容为:
  // Provide a default path to dwr.engine
  if (dwr == null) var dwr = {};
  if (dwr.engine == null) dwr.engine = {};
  if (DWREngine == null) var DWREngine = dwr.engine;
  
  if (userAjax == null) var userAjax = {};
  userAjax._path = '/dwrtest/dwr';
  userAjax.existUser = function(p0, callback) {
    dwr.engine._execute(userAjax._path, 'userAjax', 'existUser', p0, callback);
  }
  
dwr/engine.js关于此方法描述  
/**
 * @private Send a request. Called by the Javascript interface stub
 * @param path part of URL after the host and before the exec bit without leading or trailing /s
 * @param scriptName The class to execute
 * @param methodName The method on said class to execute
 * @param func The callback function to which any returned data should be passed
 *       if this is null, any returned data will be ignored
 * @param vararg_params The parameters to pass to the above class
 */
dwr.engine._execute = function(path, scriptName, methodName, vararg_params) {  

分享到:
评论
2 楼 iwfy 2008-11-13  
我也是初学,还不清楚具体的实现过程,但感觉不是转变成JavaScript对象,而是根据配置的类名、方法、参数等信息在页面端调用,页面端就知道用哪个类的哪个方法响应请求,替代了原来的Servlet的部分任务(分析请求地址、方法、参数,分发给响应的业务逻辑)就是包装了AJAX的发送请求、回调函数等操作,在请求到达服务器端后,处理基本跟Struts的方式差不多。
至于javabean对象的传递还没有了解。
1 楼 andylj511 2008-11-13  
DWR好像就是将JAVA的一个类转变成一个javaScript的一个对象然后调用它中间的每一个方法

相关推荐

    一个简单的dwr Ajax框架学习实列 java版的

    这个"一个简单的dwr Ajax框架学习实列 java版的"项目是为初学者设计的,目的是帮助理解如何使用DWR与Ajax技术来实现页面的局部刷新,从而提升Web应用的用户体验。 首先,我们需要理解Ajax(Asynchronous JavaScript...

    Ajax框架:简单的dwr实例

    DWR(Direct Web Remoting)是一种流行的Ajax框架,它简化了JavaScript和Java之间的通信,使得前端与后端的数据交换变得更加便捷。 在DWR中,主要涉及到以下几个核心概念: 1. **Reverse AJAX**:DWR的核心特性之...

    Ajax资料,DWR框架资料

    学习和理解Ajax及DWR框架,可以帮助开发者构建更加高效、互动性强的Web应用,提升用户在浏览网页时的体验。无论是前端的JavaScript编程,还是后端的Java服务,DWR都提供了强大的工具来简化这个过程。对于希望深入...

    dwr-Ajax框架开发所需的最新Jar包及源码和实例

    这个压缩包包含的资源是开发者使用DWR进行Ajax框架开发所需要的核心组件。 1. **DWR框架**:DWR的核心在于它提供了一种方式,使得JavaScript可以直接调用服务器上的Java方法,就像它们是本地函数一样。这极大地简化...

    Ajax框架DWR 入门例子

    DWR (Direct Web Remoting) 是一个开源的Ajax框架,它允许JavaScript在浏览器端与Java在服务器端进行直接通信,从而实现动态、无刷新的Web应用程序。本入门例子旨在帮助初学者快速理解并掌握DWR的基本用法和功能。 ...

    AJAX框架dwr文档

    DWR(Direct Web Remoting)是一个开源的AJAX框架,它允许开发者在JavaScript和Java之间进行直接的远程调用,使得Web应用能够实现更高效、更动态的用户交互。这份"RWR文档"(可能是误打,实际上应为"DWR文档")对于...

    ajax框架dwr例子.rar

    这个"ajax框架dwr例子.rar"是一个针对初学者的教程资源,旨在帮助理解如何在实际项目中使用DWR进行Ajax开发。 DWR的核心功能在于提供了一个简单的方法来调用服务器端的Java方法,并将结果直接返回到客户端的...

    DWR开源框架开发小练习

    这个小练习是初学者了解并实践DWR框架的好机会,它可以帮助你掌握如何将DWR集成到Web应用中,实现客户端与服务器端的高效交互。DWR允许前端JavaScript代码直接调用后端Java方法,仿佛它们是在同一环境中执行,从而...

    4.dwr框架Ajax学习haozl整理(非常全的了更新到2013.8.17)

    综上所述,"4.dwr框架Ajax学习haozl整理(非常全的了更新到2013.8.17)"是一个包含关于DWR框架的详细资料集合,包括笔记、PPT、文档和示例,适合初学者和有经验的开发者深入学习和理解DWR的使用和原理。这些资源可以...

    DWR:java ajax application

    DWR是一种强大且易于使用的Java Ajax框架,它极大地简化了前端与后端之间的交互过程,使得开发者能够更加专注于业务逻辑的实现而非底层的技术细节。无论是对于新手还是经验丰富的开发者来说,DWR都是构建高质量、高...

    ajax的框架dwr整合jsf

    本文将详细介绍如何使用DWR框架来整合JSF,为初学者提供一个入门指南。 1. **DWR简介**:DWR的核心功能是创建了一个JavaScript到Java的远程调用层,使得前端的JavaScript代码能够像调用本地函数一样调用服务器上的...

    DWR框架学习资料...

    - "DWR开发培训.ppt":可能包含了DWR的原理介绍、配置步骤、示例代码和最佳实践等内容,适合初学者快速入门。 - "DWR学习.ppt":可能深入探讨了DWR的高级特性,如批处理、安全控制和性能优化,适合对DWR有一定了解...

    Ajax之dwr框架应用

    这个“Ajax之dwr框架应用”示例是一个很好的起点,帮助开发者了解如何在实际项目中应用DWR。 首先,我们来探讨DWR的基本概念。DWR允许JavaScript代码调用Java方法,就像它们是本地函数一样。这意味着可以在不刷新...

    AJAX框架DWR的学习资料

    DWR(Direct Web Remoting)是基于AJAX的开源框架,它允许JavaScript与服务器端的Java对象直接通信,实现了浏览器与服务器之间的无缝交互。 DWR的核心功能在于简化客户端与服务器端的通信,通过自动处理JSON或XML...

    Ajax学习——DWR的参考书和实用案例学习总结

    DWR(Direct Web Remoting)是一种优秀的开源框架,专门用于简化Web应用程序中的Ajax(Asynchronous JavaScript and XML)开发。Ajax技术允许网页在不刷新整个页面的情况下与服务器进行交互,提高了用户体验。DWR...

    dwr学习资料,适合初学者学习

    DWR作为Ajax框架之一,提供了一种简单的方法来利用这些技术,使得开发者无需深入理解复杂的网络交互细节就能创建富客户端应用。 **DWR中文文档**通常包含以下内容: 1. **安装与配置**:讲解如何将DWR集成到Web项目...

    DWR框架的应用示例

    对于初学者来说,理解DWR的工作原理和应用场景,以及如何正确配置和使用它,将有助于提升开发效率并提供更优的用户界面。通过学习提供的"DWR框架的应用示例",新手可以快速上手并掌握DWR的核心功能。

    dwr框架简介PDF

    通过阅读"DWR.doc"和"DWR中文文档.pdf",初学者可以全面了解DWR框架,掌握其核心概念和使用技巧,进一步提升Web应用开发的能力。同时,文档中的例子和实践指导将有助于加深理解和实际操作,从而更好地将DWR应用于...

    ajax之DWR框架包,中文文档,无刷新分页,表单处理及其他

    1. **DWR框架**:DWR的核心功能是实现AJAX(Asynchronous JavaScript and XML)通信。它通过在服务器端运行Java对象,然后在客户端通过JavaScript调用这些对象的方法,使得用户可以在不刷新整个页面的情况下更新部分...

    dwr框架入门程序

    DWR(Direct Web Remoting)框架是一个开源的Java库,它允许在Web应用程序中实现JavaScript与服务器端Java代码之间的直接...对于初学者来说,"Hello World"程序是一个很好的起点,帮助理解DWR的工作原理和使用方式。

Global site tag (gtag.js) - Google Analytics