DWR入门教程:配置与简单开发实践
需积分: 3 19 浏览量
更新于2024-09-29
收藏 6KB TXT 举报
"DWR(Direct Web Remoting)是一种JavaScript库,它允许Web应用程序与服务器端的Java代码进行交互,实现实时的双向通信。本教程主要针对DWR的入门配置和开发,非常适合初学者了解并掌握DWR的基本用法。"
在DWR的配置与开发中,首先我们需要了解DWR的核心配置文件`dwr.xml`。这个文件用于定义哪些Java类和方法可以被客户端的JavaScript调用。以下是一个简单的`dwr.xml`配置示例:
```xml
<dwr>
<allow>
<create creator="new" javascript="testClass">
<param name="class" value="com.dwr.TestClass"/>
<include method="testMethod1"/>
</create>
</allow>
</dwr>
```
在这个例子中,我们创建了一个名为`testClass`的JavaScript对象,它映射到Java类`com.dwr.TestClass`。`testMethod1`是这个Java类中可被JavaScript调用的一个方法。
为了在客户端使用DWR,我们需要引入三份JavaScript文件:
1. `dwr/interface/testClass.js`:这是由DWR自动生成的,包含了`testClass`对象的JavaScript接口,允许你调用`testMethod1`。
2. `dwr/engine.js`:DWR的核心引擎文件,提供了与服务器通信的基础功能。
3. `dwr/util.js`:DWR提供的实用工具函数集,可以帮助处理常见的JavaScript任务。
在JavaScript中,你可以像下面这样调用Java方法:
```javascript
function callTestMethod1() {
testClass.testMethod1();
}
```
这会直接调用服务器上的`testClass`实例的`testMethod1`方法。
对于返回值处理,如果Java方法有返回值,我们可以提供一个回调函数来接收。例如,增加一个新方法`testMethod2`:
```xml
<allow>
<create creator="new" javascript="testClass">
<param name="class" value="com.dwr.TestClass"/>
<include method="testMethod2"/>
</create>
</allow>
```
然后在JavaScript中调用:
```javascript
function callTestMethod2() {
testClass.testMethod2(callBackForTestMethod2);
}
function callBackForTestMethod2(result) {
// 处理testMethod2的返回结果
console.log(result);
}
```
在这里,`callBackForTestMethod2`是接收`testMethod2`返回值的回调函数。
DWR通过简单的配置和JavaScript调用,使得开发者能方便地在Web页面上实现与服务器的交互,极大地提高了Web应用的动态性和用户体验。通过学习这个入门教程,开发者可以理解DWR的基本工作原理,并能够开始尝试在自己的项目中运用DWR进行开发。
2009-09-10 上传
2019-05-29 上传
2019-03-21 上传
2019-03-21 上传
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
fanstars
- 粉丝: 28
- 资源: 5
最新资源
- SSM Java项目:StudentInfo 数据管理与可视化分析
- pyedgar:Python库简化EDGAR数据交互与文档下载
- Node.js环境下wfdb文件解码与实时数据处理
- phpcms v2.2企业级网站管理系统发布
- 美团饿了么优惠券推广工具-uniapp源码
- 基于红外传感器的会议室实时占用率测量系统
- DenseNet-201预训练模型:图像分类的深度学习工具箱
- Java实现和弦移调工具:Transposer-java
- phpMyFAQ 2.5.1 Beta多国语言版:技术项目源码共享平台
- Python自动化源码实现便捷自动下单功能
- Android天气预报应用:查看多城市详细天气信息
- PHPTML类:简化HTML页面创建的PHP开源工具
- Biovec在蛋白质分析中的应用:预测、结构和可视化
- EfficientNet-b0深度学习工具箱模型在MATLAB中的应用
- 2024年河北省技能大赛数字化设计开发样题解析
- 笔记本USB加湿器:便携式设计解决方案