`
wu_quanyin
  • 浏览: 208257 次
  • 性别: Icon_minigender_1
  • 来自: 福建省
社区版块
存档分类
最新评论

DWR基础介绍

阅读更多

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

 二,配置 

1、拷贝dwr.jar文件
2、修改web.xml文件,添加dwr servlet配置:
  <servlet>
    <servlet-name>dwr-invoker</servlet-name>
    <servlet-class>org.directwebremoting.servlet.DwrServlet</servlet-class>/

    <!--以上用这个类也可以uk.ltd.getahead.dwr.DWRServlet--!>  
    <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><!--每一个文件在访问时,程序会自动加/dwr..-->
  </servlet-mapping>
3、在web-inf下面添加dwr.xml配置文件

//作用:Java代码运行在WEB服务器端而且可以自由访问WEB 服务器的资源.出于安全的理由,WEB开发者必须适当地配置哪些Java类可以安全的被外部使用。

4、创建页面
需引入以下javascript:

  <script src='dwr/interface/testClass.js'></script>//在配置文件中以怎么为对象就以怎么为命名,为dwr自动产生(    <create creator="new" javascript="testClass.js">)

<script src='dwr/engine.js'></script>
  <script src='dwr/util.js'></script>
  其中TestClass.js是dwr根据配置文件自动生成的,engine.js和util.js是dwr自带的脚本文件。


与spring结合使用

 <create creator="spring" javascript="Intro">
  <param name="beanName" value="id" />//beanName为固定形式,id为bean中配置的<bean id=""..>
  </create>

在jsp中对javascript调用函数时,function dwr()不能以dwr命名

基础部分:

  dwr.util.getValue("id");//可以获取到值

1,  object.method1(para1,para2,..,);//这种是进行赋参,2

2, object.method1(para1,function(data){

   alert(data);//这个为返回值,自行处理

});

3, object.method1(para1,method2);

     function method2(data){

     alert(data);

}//2,3为两种不同的返回值 类型


dwr的配置文件详解(指明标签中包括可以暴露给javascript访问的东西。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 2.0//EN" "http://getahead.org/dwr/dwr20.dtd">
<dwr>
  <allow>
    <create creator="new" javascript="T3">
      <param name="class" value="com.wqy.DataBaseHandle"/>

     <include method="testMethod1"/>//说明了这个T3在javaScrip中只能访问这个方法,没有声明时,代表全部可以。

 <exclude method="testMethod2">//标签指定要防止被访问的方法。

    </create>

<!--

<converter>标签则负责这些方法的参数和返回类型。convert元素的作用是告诉DWR在服务器端Java 对象表示和序列化的JavaScript之间如何转换数据类型。DWR自动地在Java和JavaScript表示之间调整简单数据类型。这些类型包括Java原生类型和它们各自的封装类表示,还有String、Date、数组和集合类型,

如当一个集合中加了User的自定义类对象,则要进行声明。bean是有getter setter类型,还有object类型

其他的array,list...是默认开放的。

-->
       <convert converter="bean" match="com.wqy.User" javascript="user"/>


  </allow>
</dwr>

2,进行传对象

//进行传一个Bean ,User(string username,string password)的对象

如以下:因满足条件,

1,必须要有set方法

2,必须在convert里面进行转化<convert match="com.wqy.User" converter="bean" ></convert>

3,java方法中void testMethod5(User user)相对应的传进来

Function callTestMethod5(){

//定义要传到java方法中的参数
  var data;
  
//构造参数,data实际上是一个object
  data1 = { username:"user", password:"password" }
  testClass.testMethod5(data);
  }

3,如果传的参数是数组、List
 Function callTestMethod7(){
  //定义要传到java方法中的参数
  var data;
  //构造参数,data实际上是一个object数组,即数组的每个元素均为object
  data = [
  {
  username:"user1",
  password:"password2"
  },
  {
  username:"user2",
  password:" password2"
  }
  ];
  testClass.testMethod7(data);
  }

  function callBackFortestMethod(data){
  //其中data接收方法的返回值
  for(var property in data){
  var bean = data[property];
  alert(bean.username);
  alert(bean.password);
  }
  }

4,如果返回值为map的值/或者传的参数为Map
function test2(){
    T5.hello(
        function(datas){
            //循环获取Map中的内容
            for(var prop in datas){
                alert("key="+prop+",value="+datas[prop]);
            }
        }
    );
}、、可以以这种形式获取值
//可以以这种方式传map参数进去
如果java的方法的参数为Map(假设其key为String,value为TestBean),则在调用该方法的javascript函数中用如下方法构造要传递的参数:
  function callTestMethod (){
  //定义要传到java方法中的参数
  var data;
  //构造参数,date实际上是一个object,其属性名为Map的key,属性值为Map的value
  data = {
  "key1":{
  username:"user1",
  password:"password2"
  },
  "key2":{
  username:"user2",
  password:" password2"
  }
  };
  testClass.testMethod(data);
  }
  并且在dwr.xml中增加如下的配置段
  <signatures>
  <![CDATA[
  import java.util.List;
  import com.dwr.TestClass;
  import com.dwr.TestBean;
  TestClass.testMethod7(Map<String,TestBean>);
  ]]>
  </signatures>
//标签是用来声明java方法中List、Set或者Map参数所包含的确切类,以便java代码作出判断。

 

 

分享到:
评论

相关推荐

    dwr基础_dwr兼容三大框架+视频

    在这个“dwr基础_dwr兼容三大框架+视频”资源中,重点是介绍如何在MyEclipse环境中使用DWR与Spring、Struts2和Hibernate这三大主流Java框架集成。这三大框架分别是: 1. **Spring**:是一个全面的Java应用框架,...

    J2EE的ajax的DWR框架视频

    1. **DWR基础介绍**: 介绍DWR的概念、优点和工作原理。 2. **环境搭建**: 演示如何在J2EE项目中集成DWR,配置相关文件。 3. **创建可调用的Java服务**: 展示如何定义Java类和方法,以及如何在`dwr.xml`中暴露它们...

    dwr搜索商品实例DWRshop.rar

    一、DWR基础介绍 DWR的核心功能在于提供了一种简单的方式,让JavaScript可以调用服务器端的Java方法,就像调用本地函数一样。这通过AJAX(Asynchronous JavaScript and XML)技术实现,使得Web应用程序能够异步更新...

    DWR基础教程 开发案例

    **DWR基础教程 开发案例** DWR,全称Direct Web Remoting,是一个开源的Java库,用于在Web应用程序中实现Ajax(异步JavaScript和XML)功能。它简化了JavaScript和服务器端Java代码之间的交互,使得开发者能够在...

    dwr基础范例 MyEclipse

    总结来说,"dwr基础范例 MyEclipse"这个示例涵盖了DWR的基本使用,包括在MyEclipse中的配置、Java方法的暴露、JavaScript的调用以及与数据库的交互。通过学习这个示例,开发者可以快速掌握DWR在实际项目中的应用,...

    dwr基础学习书籍新手必备

    ### DWR基础学习知识点详解 #### 一、DWR概览与入门 DWR(Direct Web Remoting)是一种简化客户端JavaScript调用服务器端Java方法的技术,它使得远程过程调用(RPC)变得像本地调用一样简单。DWR通过AJAX技术在...

    DWR 教程 中文API DWR.xml配置文件说明 DWR学习笔记

    首先,"DWR学习笔记"提供了对DWR基础概念、核心功能以及实际应用的概述。这些笔记可能包含了DWR的基本架构,如它如何通过AJAX技术实现实时的Web交互,以及如何创建和调用服务器端的Java方法。 "DWR中文API"是DWR库...

    dwr3api+DWR文档.pdf

    2. **基本概念**:解释了Reverse Ajax、C/sweetalert、Batching和Caching等核心概念,这些是DWR实现其功能的基础。 3. **使用DWR生成的JavaScript API**:DWR自动生成JavaScript接口,使得前端可以直接调用服务器端...

    dwr小项目及资料

    3. **dwr.ppt** - 这可能是一个PPT演示文稿,可能包含了DWR的基础概念、工作原理、配置教程以及一些示例,有助于快速理解DWR的使用。 4. **dwr** - 这可能是DWR的源码或者示例项目的文件夹,用户可以通过查看这些...

    DWR2.0中文文档

    - **简单的回调函数**:介绍如何使用DWR进行异步调用,并在调用完成后执行回调函数。 - **调用元数据对象**:元数据对象包含关于服务和方法的信息,可以用来动态生成客户端调用代码。 DWR2.0中文文档不仅是一份详尽...

    dwr的jar包

    3. **DWR的API介绍**:讲解DWR的主要接口,如`Util`、`Call`、`Engine`等,以及它们在实际应用中的用法。 4. **安全配置**:讲解如何通过配置白名单和过滤器来确保DWR的安全性。 5. **DWR的高级特性和实践**:包括...

    DWR使用方法-step by step

    这一步是使用DWR进行Ajax开发的基础准备。 #### 三、编辑配置文件 配置DWR涉及到对`web.xml`文件的修改以及创建`dwr.xml`文件。 ##### 修改`web.xml` 在`web.xml`文件中,需添加以下内容: ```xml ...

    dwr和ajax技术

    JavaScript作为Web开发中的基础语言,是实现DWR和Ajax功能的关键。 **压缩包文件解析** - **dwr.jar**:这是DWR的核心库文件,包含了所有必要的类和资源,用于在浏览器和服务器之间建立通信。 - **standard.jar**...

    DWR框架基础(实现helloword)

    在“DWR框架基础(实现helloworld)”中,我们将学习如何搭建DWR的基本环境,并通过一个简单的“Hello, World”示例来理解其工作原理。以下是一个详尽的步骤和知识点介绍: 1. **安装与配置**: - **Eclipse集成**...

    dwr与struts2

    #### Struts2的Ajax支持介绍 **Struts2** 是一个流行的MVC(Model-View-Controller)架构框架,它主要用于构建Java Web应用程序。Struts2提供了强大的功能来帮助开发者简化开发流程并提高效率。其中,**Ajax支持**...

    dwr 详细介绍

    下面将详细介绍DWR的相关知识点。 **1. DWR基本概念** DWR的核心功能是提供一种安全、高效的机制,让JavaScript可以调用服务器上的Java方法,就像它们是本地函数一样。这种双向通信技术使得开发者可以在不刷新整个...

    DWR介绍

    ### DWR介绍与知识点梳理 #### 一、DWR概览 **DWR** (Direct Web Remoting) 是一种简化Ajax编程的技术框架。它通过在客户端JavaScript和服务器端Java之间建立一个透明的桥梁,使得开发者可以直接从JavaScript调用...

    dwr实战,Practical DWR 2 Projects,PDF书籍及源码

    1. **DWR基础**:介绍DWR的基本概念,如Reverse Ajax、远程对象(Remote Objects)以及如何在项目中集成DWR框架。 2. **安装与配置**:讲解如何在Web应用程序中配置DWR,包括添加依赖、配置XML文件(dwr.xml)以及...

    dwr中文文档,dwr例子

    1. **DWR基础概念**:DWR的核心组件包括一个服务器端的引擎(DWR Engine),一个处理客户端请求的Servlet(DWRServlet),以及一系列JavaScript库,如Util、Create、Call等,用于在客户端进行AJAX调用。 2. **DWR与...

Global site tag (gtag.js) - Google Analytics