`
shyf12054213
  • 浏览: 34132 次
  • 性别: Icon_minigender_1
  • 来自: 无锡
社区版块
存档分类
最新评论

dwr学习笔记之dwr.xml

    博客分类:
  • dwr
阅读更多

dwr.xml是你用来配置DWR的文件,默认是将其放入WEB-INF文件夹。
创建一个dwr.xml文件
dwr.xml有如下的结构:
     <?xml version="1.0" encoding="UTF-8"?>
     <!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting
     2.0//EN" "http://www.getahead.ltd.uk/dwr/dwr20.dtd">
     <dwr>
    <!-- 仅当需要扩展DWR时才需要 -->
    <init>
        <creator id="..." class="..." />
        <converter id="..." class="..." />
    </init>
    <!-- 没有它DWR什么也做不了 -->
    <allow>
        <create creator="..." javascript="..." />
        <convert converter="..." match="..." />
    </allow>
    <!-- 有必要告诉DWR方法签名 -->
    <signatures>...</signatures>
    </dwr>

每一个在类中被调用的方法需要一个<create …>有若干类型的creator,使用“new”关键字或者Spring 框
架等。
create元素是如下的结构
     <allow>
         <create creator="..." javascript="..." scope="...">
             <param name="..." value="..." />
             <auth method="..." role="..." />
             <exclude method="..." />
             <include method="..." />
         </create>
         ...
     </allow>
2).none: 它不创建对象,看下面的原因。 (v1.1+)
none创建器不创建任何对象,它会假设你不须要创建对象。有2个使用的原因:
?  你可能在使用的scope不是"page"(看上面),并在在前面已经把这个对象创建到这个scope中了,
   这时你就不需要再创建对象了。
?  还有一种情况是要调用的方法是静态的,这时也不需要创建对象。DWR会在调用创建器之前先检
   查一下这个方法是不是静态的。
对于上诉两种情况,你仍然需要class参数,用来告诉DWR它是在操作的对象类型是什么。

     Converter
我们需要确认所有的参数能被转换。许多JDK提供的类型使你能够使用,但是你如果要转换你自己的代码,
就必须告诉DWR。一般是指JavaBean的参数需要一个<convert…>标签作为入口。
你不需要在dwr.xml中<allow>部分的<convert>中定义。它们默认支持。
 所有主要的类型,boolean, int , double等等。
?
 包装类,Boolean, Integer等等。
?
 java.lang.String
?
 java.util.Date 和 java.sql.Times,java.sql.Timestamp。
?
?数组(存放以上类型的)
 集合类型 (List, Set, Map, Iterator等等) (存放以上类型的)
?
 DOM对象(来自于DOM, XOM, JDOM和DOM4J)
两个没有默认打开的转换器是Bean 和 Object 转换器。Bean转换器可以把POJO转换成Javascript的
接合数组(类似与Java中的Map),或者反向转换。这个转换器默认情况下是没打开的,因为DWR要获得
你的允许才能动你的代码。
Object转换器很相似,不同的是它直接应用于对象的成员,而不是通过getter和setter方法。下面的例子
都是可以用object来替换bean的来直接访问对象成员。
如果你有一个在 <create ...> 中声明的远程调用Bean。它有个一参数也是一个bean,并且这个bean有
一个setter存在一些安全隐患,那么攻击者就可能利用这一点。
你可以为某一个单独的类打开转换器:
    <convert converter="bean" match="your.full.package.BeanName"/>
就像你可以在creator的定义中剔出一些方法一样,converter也有类似的定义。
限制属性转换仅仅对于Bean有意义,很明显原生类型是不要需要这个功能的,所以只有
BeanConverter及其子类型(HibernateBeanConverter))有这个功能。
语法是这样的:
<convert converter="bean" match="com.example.Fred">
    <param name="exclude" value="property1, property2" />
</convert>
这就保证了DWR不会调用 fred.getProperty1() 和fred.getProperty2两个方法。


 

分享到:
评论

相关推荐

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

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

    dwr学习笔记和总结

    ### dwr学习笔记和总结 #### 一、DWR简介 DWR (Direct Web Remoting) 是一个简化Ajax开发的框架,它使得JavaScript能够直接调用服务器端的Java方法成为可能,无需编写复杂的Ajax代码。这极大地提高了开发效率,并...

    ajax dwr学习笔记和jar文件

    DWR简化了Ajax(Asynchronous JavaScript and XML)应用的开发,使得开发者可以轻松地调用服务器上的Java方法,就像它们是本地JavaScript函数一样。 一、DWR的基础概念 1. **远程方法调用(RMI)**:DWR的核心功能是...

    DWR学习笔记及经验总结

    在“DWR学习笔记及经验总结”中,我们可以期待找到以下关键知识点: 1. **DWR的基本概念**:了解DWR的核心理念,包括远程方法调用(Remote Method Invocation)、反向Ajax以及它如何通过JSON或XML格式传递数据。 2...

    DWR学习笔记和与spring整合练习

    **DWR(Direct Web Remoting)**是一种JavaScript库,它允许Web...通过深入学习和实践"DWR学习笔记和与spring整合练习",开发者可以掌握DWR的精髓,熟练运用其与Spring的整合,打造出高效、安全、易维护的Web应用程序。

    DWR学习笔记-HelloWorld篇

    【标题】:“DWR学习笔记-HelloWorld篇” 在IT领域,DWR(Direct Web Remoting)是一个开源的Java框架,它允许JavaScript在浏览器端直接调用服务器端的Java方法,实现了网页与服务器的实时交互,类似于Ajax技术,但...

    DWR学习笔记

    ### DWR学习笔记知识点 #### 一、DWR简介与安装配置 **DWR (Direct Web Remoting)** 是一种开放源代码的JavaScript库,它可以让客户端的JavaScript代码直接调用服务器端的Java方法,实现远程过程调用(RPC)功能。...

    DWR 2.0M3 学习笔记

    阅读"DWR学习笔记.doc"文件将有助于系统地掌握这些知识点,通过实践操作加深理解,从而更好地利用DWR构建交互性强、用户体验良好的Web应用。在学习过程中,结合源码分析可以更深入地理解DWR的工作机制,提升自己的...

    DWR学习笔记(附带很详细的例子)

    DWR的创新之处在于它的"Reverse AJAX"技术,它自动生成基于Java类的JavaScript代码,使得开发者可以在JavaScript中无缝使用Java代码,同时保持Java代码在服务器端运行并能访问服务器资源。为了安全,开发者需要配置...

    dwr学习笔记pdf文件

    ### dwr学习笔记pdf文件知识点概述 #### 一、DWR框架简介 - **DWR**(Direct Web Remoting)是由GetAhead公司开发的一款用于实现Ajax应用的框架。该框架的核心价值在于允许客户端JavaScript直接调用服务器端Java类...

    dwr学习笔记

    《DWR学习笔记详解》 DWR(Direct Web Remoting)是一种开源JavaScript库,它允许在Web浏览器和Java服务器之间进行实时、双向通信,极大地增强了Web应用的交互性。DWR使得开发者能够像操作本地对象一样操作服务器端...

    DWR的学习资料,DWR学习必备

    DWR使用笔记.chm:这可能是一份详细的DWR使用手册,包含了如何集成DWR到项目中、配置DWR引擎、创建远程接口以及处理各种交互的实例。通过阅读这份笔记,你可以了解到DWR的基本概念、配置步骤以及实际应用技巧。 dwr...

    DWR学习笔记(如何配置DWR和工程实例)

    2. **创建DWR配置文件**:DWR的核心配置文件是`dwr.xml`,它定义了哪些Java类和方法可以被远程调用。在该文件中,你可以设置安全策略、错误处理、转换器等。 3. **配置Servlet**:在`web.xml`配置文件中,你需要...

    dwr 例子,jar包,engine.js util.js 学习笔记

    总之,这个压缩包提供了一个完整的DWR学习环境,包括了必要的库文件和示例代码,对于想要深入了解DWR和AJAX开发的开发者来说,是一个非常宝贵的资源。通过深入学习和实践,你可以掌握如何利用DWR创建高效、互动的Web...

    DWR学习笔记(下载)

    **DWR(Direct Web Remoting)学习笔记** DWR是一种Java技术,用于在浏览器和服务器之间实现双向通信,使得Web应用程序能够实时更新和交互。它允许JavaScript直接调用服务器端的Java方法,就像它们是本地函数一样,...

    dwr笔记 dwr自学资料

    本笔记将深入探讨DWR的核心概念、工作原理以及实际应用。 一、DWR简介 DWR的主要目标是消除传统的HTTP请求-响应模式的局限性,提供一种更加高效、灵活的远程调用机制。通过DWR,开发者可以在浏览器中编写JavaScript...

    学习dwr详细笔记

    1. **引入DWR库**:在项目中添加DWR的JAR文件,并在Web.xml中配置DWR Servlet。 2. **创建Java类和方法**:定义可以在客户端调用的Java类和方法。 3. **配置DWR**:在dwr.xml配置文件中声明可被远程调用的Java类和...

Global site tag (gtag.js) - Google Analytics