### DWR.xml配置文件详解 #### 一、概述 DWR (Direct Web Remoting) 是一种简化 AJAX 应用程序开发的技术,它使得浏览器端的 JavaScript 函数可以直接调用服务器端的 Java 方法,从而实现更加高效的数据交互。DWR.xml 配置文件是配置 DWR 应用的重要组成部分,它定义了哪些服务器端的对象(即“远程 Bean”)可以通过 JavaScript 被客户端调用,以及如何处理这些对象和它们的方法调用。 #### 二、DTD 声明 任何有效的 DWR 配置文件都需要包含 DTD (Document Type Definition) 的声明行。DTD 声明行指定了文档遵循的DTD版本,确保配置文件的结构符合预期。例如: ```xml <!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD DirectWebRemoting 1.0//EN" "http://www.getahead.ltd.uk/dwr/dwr10.dtd"> ``` #### 三、配置文件结构 DWR 配置文件的大体结构如下: ```xml <dwr> <init> <!-- 定义创建远程 Bean 和转换对象所需的类 --> </init> <allow> <!-- 指定哪些类可以创建或转换 --> </allow> <signatures> <!-- 定义方法签名 --> </signatures> </dwr> ``` #### 四、关键术语解释 - **Converted**:指的是需要转换的参数类型。 - **Created**:指的是远程 Bean 类型,即服务器端可以被客户端通过 JavaScript 调用的对象。 #### 五、`<init>` 部分 `<init>` 部分主要用于定义创建远程 Bean 和转换参数所使用的类。虽然不是必须的,但如果需要自定义 `Creator` 或 `Converter` 类,则需要在这里声明。 ```xml <init> <creator id="" class=""/> <converter id="" class=""/> </init> ``` #### 六、`<allow>` 部分 `<allow>` 部分定义了哪些类可以被创建或转换。对于每个被允许的类,需要配置 `<create>` 或 `<convert>` 行。 ```xml <allow> <create creator="" javascript="" scope=""> <param name="" value=""/> </create> <convert convertor="" match=""/> </allow> ``` #### 七、默认支持的类型 DWR 默认支持以下几种类型的转换,无需额外配置即可直接使用: 1. 所有基本类型,如 `boolean`, `int`, `double` 等等。 2. 基本类型的包装类,如 `Boolean`, `Integer` 等等。 3. `java.lang.String` 4. `java.util.Date` 及其三个 SQL 派生类。 5. 上述类型的所有数组形式。 6. 上述类型的所有集合形式,包括 `List`, `Set`, `Map`(注意某些 Map 的使用可能有限制)。 #### 八、`Converter` 类定义 DWR 已经预定义了一些常用的 `Converter` 类,用于处理特定类型的数据转换。这些 `Converter` 如下所示: - `NullConverter`: 处理 `null` 值。 - `PrimitiveConverter`: 处理基本类型及其包装类。 - `BigNumberConverter`: 处理大数值类型如 `BigInteger` 和 `BigDecimal`。 - `StringConverter`: 处理字符串类型。 - `DateConverter`: 处理日期类型。 - `ArrayConverter`: 处理数组类型。 - `MapConverter`: 处理 Map 类型。 - `CollectionConverter`: 处理集合类型。 - `BeanConverter`: 处理普通的 Java Bean 类型。 - `HibernateBeanConverter`: 特别用于 Hibernate 对象的转换。 #### 九、总结 通过上述对 DWR.xml 配置文件的详细解析,我们可以看出 DWR 在处理远程对象调用时的灵活性与便捷性。通过合理的配置 `<init>` 和 `<allow>` 部分,开发者可以根据实际需求定义和管理远程 Bean 以及它们的方法调用。此外,利用预定义的 `Converter` 类,可以有效地处理各种数据类型,使得数据交换过程更为顺畅。理解并掌握 DWR.xml 的配置规则,对于提高基于 DWR 技术的 AJAX 应用程序的性能至关重要。
- 粉丝: 33
- 资源: 17
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助