
DWR配置与实例详解学习指南
下载需积分: 3 | 283KB |
更新于2025-06-08
| 4 浏览量 | 举报
收藏
DWR(Direct Web Remoting)是一个开放源代码的库,用于在浏览器中直接运行Java代码。它允许开发者从Web页面的JavaScript中调用Java方法,并且可以将Java方法的返回值直接传回前端页面,实现前后端的交互。DWR特别适合于开发富互联网应用(RIA)。以下是关于DWR配置和工程实例的详细知识点介绍。
### DWR配置
#### 1. 引入DWR依赖
首先,为了使用DWR,需要在项目中添加DWR的依赖。如果你使用的是Maven构建项目,则可以在`pom.xml`中添加DWR的依赖,如下所示:
```xml
<dependency>
<groupId>org.directwebremoting</groupId>
<artifactId>dwr</artifactId>
<version>版本号</version>
</dependency>
```
#### 2. 配置web.xml
在`web.xml`中配置DWR的Servlet,定义DWR使用的URL和初始化参数。以下是一个基本的配置示例:
```xml
<servlet>
<servlet-name>dwr-invoker</servlet-name>
<servlet-class>org.directwebremoting.servlet.DwrServlet</servlet-class>
<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>
</servlet-mapping>
```
#### 3. 创建dwr.xml文件
在`WEB-INF`目录下创建`dwr.xml`文件,用来配置允许从JavaScript调用的Java类和方法。一个简单的`dwr.xml`示例如下:
```xml
<configuration>
<create creator="new" javascript="YourClass">
<param name="class" value="com.yourpackage.YourClass"/>
</create>
</configuration>
```
在这里,`YourClass`是您希望在JavaScript中通过DWR调用的Java类,而`com.yourpackage`是该类所在的包。
#### 4. JavaScript调用
在前端JavaScript中,可以直接调用配置在`dwr.xml`文件中的Java方法。以下是一个简单的JavaScript调用示例:
```javascript
var myObject = new YourClass();
myObject.methodYouWantToCall("some argument", someOtherArg, function(result){
// 这里是回调函数
console.log(result);
});
```
### 工程实例
#### 1. 创建Java类
首先,创建一个简单的Java类,包含你想要在Web页面上调用的方法。例如:
```java
package com.yourpackage;
public class YourClass {
public String methodYouWantToCall(String arg1, int arg2) {
return "Your return value";
}
}
```
#### 2. 配置dwr.xml
在`WEB-INF/dwr.xml`文件中,配置该Java类,使其可以被DWR调用:
```xml
<configuration>
<create creator="new" javascript="YourClass">
<param name="class" value="com.yourpackage.YourClass"/>
</create>
</configuration>
```
#### 3. 编写前端页面
在HTML页面中,通过DWR提供的JavaScript引擎调用Java方法。示例如下:
```html
<html>
<head>
<script src="/dwr/engine.js"></script>
<script src="/dwr/util.js"></script>
<script type="text/javascript">
dwr.engine.setDebug(true);
// 初始化DWR的回调函数
function YourClass() {
this.methodYouWantToCall = function(arg1, arg2, callback) {
// 调用Java后端方法
YourClass.methodYouWantToCall(arg1, arg2, callback);
};
}
dwr.util.addLoadListener(function() {
var myObject = new YourClass();
myObject.methodYouWantToCall("Hello", 123, function(result) {
// 显示返回结果
alert("Result: " + result);
});
});
</script>
</head>
<body>
</body>
</html>
```
#### 4. 测试
部署你的应用并打开Web页面。如果配置正确,调用Java方法后,应该能够在弹出的对话框中看到从Java方法返回的结果。
### 总结
通过上述配置和实例,可以看出DWR是一个非常方便的库,能够让开发者在浏览器中直接调用Java后端代码,实现前后端的无缝交互。需要注意的是,DWR虽然方便,但安全问题不容忽视,开发者在使用DWR时需要注意对Java方法的权限控制,防止恶意调用。此外,随着现代前端框架的发展,如React、Vue和Angular等,DWR的使用场景有所减少,但在一些传统项目中,DWR仍然是一个快速构建前后端交互的优秀选择。
相关推荐










唔系小老虎
- 粉丝: 14
最新资源
- C# WinForm 实现右下角提示框功能源码分享
- 构建高效ASP.net+Extjs后台框架解决方案
- 全面解读C语言函数库的使用与实例
- Drupal6专业开发配套源代码解析
- 深入探讨项目开发过程中的关键步骤
- Spring JDBC编程示例教程:提升代码可维护性
- 天财商龙餐饮娱乐管理系统打印样式详解
- 平台工具R09版windows安装包解析
- 自制MFC飞机大战游戏:不使用位图,纯手工绘制
- VisualAssist2008:提升Visual Studio 2008开发效率的利器
- DirectX 9.0 即时战略游戏编程源代码解析
- 飞思卡尔与清华大学合作开发的智能车仿真软件
- 网络游戏编程教程:C++代码实践与问题解决
- MFC进程锁定工具:源码解析与应用
- 网吧版网众无盘系统维护操作全攻略
- 网络版运动会管理系统开发使用ASP与NDB数据库
- 构建基于C#的简易VIP管理系统
- ASP.NET实现工作流批核系统关键技术解析
- iPhone/iPad游戏开发:Cocos2D引擎教程
- 24种漂亮通用分页样式集锦
- VC XML解析:探索CMarkup类的高效使用
- 深度解析spoolsv.exe及Win7 x86系统关联性
- 深入解析堆算法:最大堆与最小堆的实现和应用
- 东北大学软件学院面向对象课程大作业:Drugs For You软件开发