dwr使用步骤

DWR(Direct Web Remoting)是一个用于改善web页面与Java类交互的远程服务器端Ajax开源框架,可以帮助开发人员开发包含AJAX技术的网站。它可以允许在浏览器里的代码使用运行在WEB服务器上的JAVA函数,就像它就在浏览器里一样。

一:基本步骤:
    1.为工程添加jar包:dwr.jar   common-logging.jar
    如果本工程使用struts,则struts内置了common-logging.jar,不需要重复引入
    2.web.xml部分,添加dwr的servlet配置
        <servlet>
            <servlet-name>dwr-invoker</servlet-name>
            <servlet-class>org.directwebremoting.servlet.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>
        注意:
            <init-param>
                <param-name>debug</param-name>
                <param-value>true</param-value>
            </init-param>
            该配置项是开启dwr控制台的开关,如果该项为false,则dwr控制台失效.
    3.在/WEB-INF下建立dwr.xml
        <?xml version="1.0" encoding="UTF-8"?>
        <!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 2.0//EN" "http://getahead.ltd.uk/dwr/dwr20.dtd">
        <dwr>
            <allow>
                <create creator="new" javascript="test">
                    <param name="class" value="test.TestDao" />
                </create>
                <!-- 如果需要实体类,则需要配置为如下  match:类路径 converter="bean":固定参数 -->
                <convert match="bean.*" converter="bean"></convert>
            </allow>
        </dwr>
        注意:creator="new" 代表本类的创建方式
        javascript="test" 代表本类在javascript中的名称
        name="class" 代表把某个类配置到dwr中 value="":代表类路径
    4.建立相关的类:
        package test;
        public class TestDao {
            public void hello(){
                System.out.println("Hello JavaScript . . .");
            }
            public void sayHello(String name){
                System.out.println("Hello " + name);
            }
            public int add(int a , int b){
                return a+b;
            }
        }
    5.把工程部署到tomcat中,通过下列地址测试dwr环境是否完成:
        http://ip:port/appName/dwr
        如果看到控制台,点击进入,测试方法是否可以正常运行
    6.在需要调用dwr相关资源的页面中,按照控制台的提示cope资源:
        <script type=‘text/javascript‘ src=‘${pageContext.request.contextPath }/dwr/interface/test.js‘></script>
        <script type=‘text/javascript‘ src=‘${pageContext.request.contextPath }/dwr/engine.js‘></script>
    7.调用dwr资源的脚本写法:
        dwr名称.方法名称(参数... ,{
            callback:function(返回值){
                处理返回的逻辑块
            }
        })
        例如:
            test.hello();
            test.sayHello("诡异小孩");
            test.add(10,10,{
                    callback:function(data){
                        alert(data);
                    }
                });
            test.add(10,10,callback);
            function callback(data){
                alert(data);
            }

二:基本应用:
    返回数据解析:
        1.简单对象:
            test.getTest({
                callback:function(data){
                        alert(data.id+":"+data.name+":"+data.age+":"+data.sex+":"+data.birthday);
                }
            });
        2.简单列表:
            test.queryForList({
                callback:function(data){
                    for(var i=0;i<data.length;i++){
                        alert(data[i]);
                    }
                }
            });
        3.对象列表:
        test.queryAll({
            callback:function(data){
                for(var i=0;i<data.length;i++){
                    alert(data[i].id+":"+data[i].name+":"+data[i].age+":"+data[i].sex+":"+data[i].birthday);
                }
            }
        });
        4.向后台传对象:
            var myObject={‘id‘:108,‘name‘:‘小

白‘,‘age‘:24,‘sex‘:‘女‘,‘birthday‘:‘1989-11-01‘};
            test.setObject(myObject);
           
    参数解析:
        preHook:交互结束之前执行
        callback:交互结束之后返回
        postHook:在返回结束之后执行
        timeout:设置响应超时时间
        errorHandler:设置异常捕获
        test.query({
                    callback:function(data){alert("处理返回"+data);},
                    preHook:function(){alert("返回之前...");},
                    timeout:4000,
                    errorHandler:function(msg){alert("如果响应时间超过timeout的值,则服务器超时...");}
                });

dwr使用步骤

时间: 2024-08-02 20:24:51

dwr使用步骤的相关文章

DWR入门教程

DWR(Direct Web Remoting)是一个WEB远程调用框架.利用这个框架可以让AJAX开发变得很简单.利用DWR可以在客户端利用JavaScript直接调用服务端的Java方法并返回值给JavaScript就好像直接本地客户端调用一样(DWR根据Java类来动态生成JavaScrip代码).它的最新版本DWR0.6添加许多特性如:支持Dom Trees的自动配置,支持Spring(JavaScript远程调用spring bean),更好浏览器支持,还支持一个可选的commons-

DWR之入门实例(一)

DWR(Direct Web Remoting)是一个WEB远程调用框架.利用这个框架可以让AJAX开发变得很简单.利用DWR可以在客户端利用JavaScript直接调用服务端的Java方法并返回值给JavaScript就好像直接本地客户端调用一样(DWR根据Java类来动态生成JavaScrip代码).它的最新版本DWR0.6添加许多特性如:支持Dom Trees的自动配置,支持Spring(JavaScript远程调用spring bean),更好浏览器支持,还支持一个可选的commons-

DWR入门的例子(一个)

DWR(Direct Web Remoting)是WEB远程调用框架.使用这种框架使AJAX发展至今已成为非常easy.使用DWR能client利用JavaScript直接调用服务端的Java方法并返回值给JavaScript就好像直接本地client调用一样(DWR依据Java类来动态生成JavaScrip代码).它的最新版本号DWR0.6加入很多特性如:支持Dom Trees的自己主动配置,支持Spring(JavaScript远程调用spring bean),更好浏览器支持,还支持一个可选

DWR组件——基于远程过程调用实现Ajax

转载请注明原文地址:http://www.cnblogs.com/ygj0930/p/6686115.html  一:DWR的用途 DWR(Direct Web Remoting)是一个Web远程调用框架,会根据java类动态生成javascript代码. 二:DWR实现Ajax的原理 DWR是基于远程过程调用的组件,可以在浏览器端远程调用服务端的业务函数,并获取返回结果.而我们知道,浏览器端是不能直接运行Java代码的,但是可以运行JavaScript代码.DWR的作用就是:把服务端的业务函数

[JavaEE] DWR入门教程

DWR(Direct Web Remoting)是一个WEB远程调用框架.利用这个框架可以让AJAX开发变得很简单.利用DWR可以在客户端利用JavaScript直接调用服务端的Java方法并返回值给JavaScript就好像直接本地客户端调用一样(DWR根据Java类来动态生成JavaScrip代码).它的最新版本 DWR0.6添加许多特性如:支持Dom Trees的自动配置,支持Spring(JavaScript远程调用spring bean),更好浏览器支持,还支持一个可选的commons

dwr学习第一天

DWR: 远程调用java代码 dwr是ajax调用应用的一种技术 使用步骤: 1.将dwr包拷到lib包中 2.配置web.xml <listener> <listener-class>org.directwebremoting.servlet.dwrlistener</listener-class> </listener> <!-- DWRServlet→来之与dwr.jar --> <servlet> <servlet-n

菜鸟调错(四)——Spring与DWR集成,配置文件报错

背景简介: 该项目是市信用办的一个系统,之前好像是一个石家庄的公司负责的.我属于是半路接手.拿到源码后,根据他们给的简(shao)单(de)明(ke)了(lian)的说明把项目搭起来.结果可想而知,项目文件一片红.于是就开始解决这些错误,好在很多错误都是类似的.经过一番捣鼓,大部分的错误都解决了,有一个Spring跟DWR集成配置的错误,错误信息如下: Multiple annotations found at this line: - schema_reference.4: Failed to

DWR实现服务器向客户端推送消息

原文链接 http://www.blogjava.net/stevenjohn/archive/2012/07/07/382447.html这片文章还是给了我很大帮助,再次表示感谢,下面我将这两天的研究详细记录下来备忘,也希望能帮助到像我一样的人.只写过程,不写原理(不是不写,而是有些地方我也不太懂),下面开始: 第一.在项目中引入dwr.jar,然后在web.xml中进行配置,配置如下: <servlet> <servlet-name>dwr-invoker</servle

关于DWR的运用

简单阐述下DWR框架的运用: 什么是DWR? DWR(Direct Web Remoting)是一个用于改善web页面与Java类交互的远程服务器端Ajax开源框架,可以帮助开发人员开发包含AJAX技术的网站.它可以允许在浏览器里的代码使用运行在WEB服务器上的JAVA函数,就像它就在浏览器里一样. 原理 它包含两个主要的部分:允许JavaScript从WEB服务器上一个遵循了AJAX原则的Servlet中获取数据.另外一方面一个JavaScript库可以帮助网站开发人员轻松地利用获取的数据来动