`
iwfy
  • 浏览: 36254 次
  • 性别: 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的一个对象然后调用它中间的每一个方法

相关推荐

    AJAX与DWR框架的简单示例

    这是一个AJAX与DWR框架的简单示例,非常适合初学者!

    ajax框架dwr例子.rar

    dwr例子,一个非常十分初学者的dwr示例,dwr例子,一个非常十分初学者的dwr示例

    ajax框架:dwr与ext实践_.pdf

    该教程是学习ajax框架的标准参考书籍,长期以来帮助了数以万计的初学者。

    Ajax技术中dwr框架的配置

    非常详细的dwr框架配置说明,适合初学者使用

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

    dwr框架的基础知识,适合刚开始学习Ajax框架的人 包括ppt与pdf两个资料

    DWR入门例子(初学者可以参考一下,高手闪开)

    DWR是一个主要面向Java开发人员的开源Ajax框架。初学者可以参考一下这个例子,这是我初学Ajax时写的

    DWR中文文档.rar

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

    使用Dwr框架实现省级菜单联查

    本项目主要适合初学ajax的学者,通过学习ajax 实现无刷新效果的菜单联查,体验ajax带来的好处。

    dwr的使用步骤

    是初学者使用ajax的框架dwr来编写程序的的开发步骤和jar包

    struts+hibernate+ajax

    例子简单易学. ajax是用dwr框架开发的,这个框架是比较容易的,比较适合初学ajax的人,该例子开发IDE是myeclipse,数据库是mysql5.0,sql数据库代码已经放在例子下的mysql.txt中,例子用的jar文件全部都在里面,希望大家...

    纯ajax二级联动菜单

    纯ajax实现的二级联动菜单,未使用ajax的框架。可供初学ajax的人学习,也可用在使用dwr等框架出错的情况

    dwr技术详解.doc

    该教程是学习ajax框架的标准参考书籍,长期以来帮助了数以万计的初学者。

    DWR中文教程

    大家好,这是一本关于DWR开发不错的书,适合初学Ajax和没有用过DWR框架的人,如果还有什么需要,请和我本人联系

    DWR中文文档

    Dwr是一个不错的Ajax框架,本文简单的对其进行了介绍,很适合初学者。

    java程序中框架的验证

    dwr是框架中验证应用的,还有Ajax配置文件等等。真的很有用,初学者要好好学习哦

    DWR中各种java方法的调用

    DWR是一个框架,简单的说就是能够在javascript直接调用java方法,而不必去写一大堆的javascript代码。它的实现是基于ajax的,可以实现无刷新效果。  网上有不少DWR的例子,但大都只是某种方法的调用,本文只在使用...

    征服RIA:基于JavaScript的Web客户端开发卷三

    本篇除介绍Ajax原理和通用框架之外,还分别为从事Java和.NET开发的程序员安排了适合他们的DWR、Atlas框架。Ext篇:能否提供复杂用户界面,是RIA的一个重要判定标准。在本书中,笔者把这一重任交给了Ext。希望读者...

    征服RIA:基于JavaScript的Web客户端开发卷二

    本篇除介绍Ajax原理和通用框架之外,还分别为从事Java和.NET开发的程序员安排了适合他们的DWR、Atlas框架。Ext篇:能否提供复杂用户界面,是RIA的一个重要判定标准。在本书中,笔者把这一重任交给了Ext。希望读者...

    Ext 操作数据库,对数据的增删改查,包括数据库,Ajax请求和store请求的设置

    Ext框架学习,包括登录,以及登录后主页面的显示,采用美观的布局,一句对后台数据的增删改查,通过Ajax dwr异步获得数据和对store多种请求方式的分析,很适合初学者。欢迎下载

    JSON教程(初学者)

    现在很多网站在客户体验方面做得并不好,但很多JS的框架解决了这一问题,例如JSon,Dwr,JQuery,但我最喜欢的还是JSon,他们都各有优点,把JSon的资料分享。

Global site tag (gtag.js) - Google Analytics