DWR框架入门教程:Ajax交互实例解析
"本文档提供了一个关于Ajax学习的实例,主要介绍了如何使用Direct Web Remoting (DWR)框架。DWR允许在JavaScript和Java之间进行实时通信,简化了Ajax应用的开发。提供的源代码包括一个简单的Java类`Person`以及一个处理DWR请求的`HelloDwr`类。" 在Web开发中,Ajax(Asynchronous JavaScript and XML)技术用于实现页面的部分更新,无需刷新整个页面即可与服务器进行数据交互。DWR(Direct Web Remoting)是一个开源Java库,它使得Ajax开发更加简单,通过在客户端JavaScript和服务器端Java之间建立直接的远程调用关系。 首先,我们看到的是一个名为`Person`的Java类,包含两个构造方法和getter、setter方法,用于创建和操作一个表示人的对象。这个类将在DWR调用中用于传递数据。 接着是`HelloDwr`类,这是DWR的核心部分。这个类有多个方法,如`hello()`, `sendObj()`, `getBean()` 和 `getObject()`,它们都是为了响应来自客户端的Ajax请求而设计的: 1. `hello(String name)` 方法接收一个字符串参数,并返回一个欢迎消息。这个方法展示了如何传递基本类型的参数。 2. `sendObj(Person p)` 接收一个`Person`对象,并返回一个带有该对象名称的消息,演示了如何处理JavaBean类型的参数。 3. `getBean(String name)` 创建一个新的`Person`对象并返回,这演示了服务器端创建对象并回传给客户端的能力。 4. `getObject(String name)` 类似于`getBean`,但返回的是一个名为`Cat`的对象。这表明DWR可以处理多种类型的Java对象。 5. `getPersonList()` 返回一个`Person`对象的列表,展示了如何处理和返回集合类型的数据。 在实际的Ajax应用中,这些方法将被客户端的JavaScript代码调用,例如通过DWR的API。客户端JavaScript可以创建一个`Person`对象,设置其属性,然后使用DWR调用`sendObj`方法将对象发送到服务器。服务器处理请求后,结果将被返回到JavaScript,从而更新网页内容。 为了使用DWR,开发者需要在服务器端配置DWR引擎,定义允许的Java方法,并在HTML/JavaScript中引用DWR生成的JavaScript库。这样,JavaScript就可以直接调用`HelloDwr`类的方法,仿佛它们是本地函数一样。 总结来说,DWR通过提供一种透明的方式来实现JavaScript和Java之间的交互,简化了Ajax开发,使得开发人员可以更专注于业务逻辑,而不是底层通信细节。提供的示例代码可以帮助初学者快速理解DWR的工作原理和用法。
![](https://csdnimg.cn/release/download_crawler_static/2196504/bg3.jpg)
剩余14页未读,继续阅读
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://profile-avatar.csdnimg.cn/default.jpg!1)
- 粉丝: 0
- 资源: 1
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![](https://csdnimg.cn/release/wenkucmsfe/public/img/voice.245cc511.png)
最新资源
- 构建Cadence PSpice仿真模型库教程
- VMware 10.0安装指南:步骤详解与网络、文件共享解决方案
- 中国互联网20周年必读:影响行业的100本经典书籍
- SQL Server 2000 Analysis Services的经典MDX查询示例
- VC6.0 MFC操作Excel教程:亲测Win7下的应用与保存技巧
- 使用Python NetworkX处理网络图
- 科技驱动:计算机控制技术的革新与应用
- MF-1型机器人硬件与robobasic编程详解
- ADC性能指标解析:超越位数、SNR和谐波
- 通用示波器改造为逻辑分析仪:0-1字符显示与电路设计
- C++实现TCP控制台客户端
- SOA架构下ESB在卷烟厂的信息整合与决策支持
- 三维人脸识别:技术进展与应用解析
- 单张人脸图像的眼镜边框自动去除方法
- C语言绘制图形:余弦曲线与正弦函数示例
- Matlab 文件操作入门:fopen、fclose、fprintf、fscanf 等函数使用详解
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035111.png)
![](https://csdnimg.cn/release/wenkucmsfe/public/img/green-success.6a4acb44.png)