1、定义:DWR is a Java library that enables Java on the server and JavaScript in a browser to interact and call each other as simply as possible.
也就是说DWR给我们提供了一种框架,这种框架使得我们能够在客户端使用JavaScript代码和服务器端的Java代码进行通信,提供了一种更加方便的AJAX实现方法。
2、用法:
(1)首先下载:选择最新版本的DWR,dwr.jar
地址:http://directwebremoting.org/dwr/downloads/index.html#devRelease
将下载的.jar包放到WEB-INF/lib 下 …
(2)由于DRW的实现其实是通过Servlet实现的(明天记录实现原理),所以需要在web.xml中进行如下配置:
<!-- 配置DWR的核心Servlet -->
<servlet>
<servlet-name>dwr-invoker</servlet-name>
<!-- 类名不能改变,框架提供的核心类 -->
<servlet-class>org.directwebremoting.servlet.DwrServlet</servlet-class>
<init-param>
<!-- 初始化参数,名字必须为debug。开发阶段是设置为true,正式发布之后使用false -->
<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)编辑实现业务逻辑的Java类,定义前台js调用的类和方法:Hello.java
package com.bjoracle.dwr;
public class Hello {
private String name;
public Hello(){}
public String getName() {
return name;}
public void setName(String name) {
this.name = name}
public String sayHello(String name){
return "Hello,"+name}
}
(4)对上一步生成的Java类进行封装和配置,在WEB-INF/目录下新建dwr.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 3.0//EN" "http://getahead.org/dwr/dwr30.dtd">
<!-- 前端的js和后端的类之间的映射关系 -->
<dwr>
<allow>
<!-- 页面引入的对象,名字必须和 commentDwr相同-->
<create creator="new" javascript="commentDwr">
<param name="class" value="com.bjoracle.dwr.CommentDwr" />
</create>
<!-- 作用就是将js对象转换成java对象 -->
<convert converter="bean" match="com.bjoracle.domain.*"></convert>
</allow>
<allow>
<create creator="new" javascript="Hello">
<param name="class" value="com.bjoracle.dwr.Hello"/>
</create>
</allow>
</dwr>
(5)编写前台页面,hello.html
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Hello World</title>
<!-- engine.js/util.js是DWR类库中的脚本代码, Hello.js是根据服务器端的Java代码
生成的脚本代码。路径dwr/interface是自动生成的。注意:这里一定要保证
将engine.js/util.js的引用写在前面,否则无法调用生成的.js代码,
具体的原因应该和DWR的原理有关,回头补上-->
<script type='text/javascript' src='dwr/engine.js'></script>
<script type='text/javascript' src='dwr/util.js'></script>
<script type='text/javascript' src='dwr/interface/Hello.js'></script>
</head>
<body>
<div>
<input type="text" id="name"/>
<input type="button" value="alert" onClick="helloTest()"/>
</div>
</body>
<script type="text/javascript">
function helloTest(){
/*
调用服务器端的方法时候,格式如下:
.method(param1,...paramn,callback(msg));
callback用来处理服务器端返回的信息,也可以不写参数,默认取arg0
*/
var name=document.getElementById("name").value;
Hello.sayHello(name,function(msg){
alert(msg);
});
}
</script>
</html>
(6)测试:
点击按钮,弹窗显示 Hello,“你输入的名字”
说明我们的前台已经能够调用了后台的Java代码,完成测试。
- 大小: 8.4 KB
分享到:
相关推荐
spring-dwr-2.0.xsd spring 与 DWR进行配置
AJAX-dwr实现增删改查的示例代码是一个非常实用的学习资源,对于初学者来说,它可以帮助理解DWR的工作原理和配置方式,以及如何在实际项目中利用DWR进行动态数据交互。通过这个例子,开发者可以进一步掌握AJAX技术,...
DWR(Direct Web Remoting)则是一个开源JavaScript库,它使得Java开发者可以轻松地在浏览器端使用Java对象,实现了Ajax的核心功能。 在"Ajax实例-dwr实现"这个项目中,我们将深入探讨如何利用DWR框架来创建一个...
struts2与dwr结合的工具之一,这个是新从官方网站下载的,与大家分享,希望对你们有效。
本项目名为"ext-dwr-hibernate",其核心是将三个重要的Java Web开发组件——EXT(一个富客户端JavaScript库)、Direct Web Remoting (DWR) 和 Hibernate(一个对象关系映射框架)进行整合。下面我们将详细探讨这三个...
\第五部分ajax\第15章 AJAX--dwr开发及应用\第15章 AJAX--dwr开发及应用.ppt )
ExtJS 是一个流行的JavaScript库,用于构建富客户端的Web应用程序,而DWR(Direct Web Remoting)则是一种在客户端JavaScript和服务器端Java之间进行实时通信的技术。这篇博客文章"Extjs--DWR做的动态树"可能探讨了...
在这个实验中,我们将重点探讨如何使用AJAX和DWR(Direct Web Remoting)来实现这种功能。 首先,我们需要了解AJAX,它是一种不刷新整个网页的情况下更新部分网页内容的技术。通过XMLHttpRequest对象,我们可以向...
DWR通过提供一套简单易用的API,使得开发人员可以轻松地在浏览器中调用Java方法,实现了Web应用的富客户端功能。以下是对DWR中文文档中关键知识点的详细解释: 1. **DWR的基本概念**: - **反向Ajax(Reverse Ajax...
Struts2-DWR带进度条文件上传是一种在Web应用程序中实现大文件上传并显示实时进度条的技术组合。Struts2是一个流行的Java MVC框架,用于构建企业级Web应用,而DWR(Direct Web Remoting)是一个JavaScript库,允许在...
DWR(Direct Web Remoting)是一个开源的Java框架,它使得在Web应用程序中实现Ajax(异步JavaScript和XML)功能变得更加简单。DWR允许JavaScript在客户端与服务器端Java对象之间进行交互,仿佛它们都在同一页面上...
在IT行业中,SSH-DWR是一种常见的技术组合,用于构建高效且功能丰富的Web应用程序。SSH代表Spring、Struts和Hibernate,这三个框架分别负责控制层、视图层和持久层的管理,而DWR(Direct Web Remoting)则是一个...
DWR (Direct Web Remoting) 是一个开源的Java库,它允许在Web应用程序中实现JavaScript和服务器端Java代码之间的直接、异步通信。DWR简化了Ajax(Asynchronous JavaScript and XML)开发,使得前端开发者可以像操作...
具体到这个示例的文件结构,"JavaSource"可能包含了Spring的配置文件(如`applicationContext.xml`)、服务接口和实现类,以及DWR的配置(如`dwr.xml`)。"WebContent"目录则可能包含了EXT的JS库、CSS样式、HTML模板...
这个"HelloWorld-Dwr"示例是一个基础教程,展示了如何使用DWR来实现简单的远程方法调用。 首先,我们需要在项目中导入必要的库。DWR的核心库是dwr.jar,还需要commons-logging-1.0.4.jar,这是一个日志处理库,通常...
### DWR在AJAX中的应用及注意事项 #### 一、DWR简介与配置 DWR(Direct Web Remoting)是一种简化Ajax开发的技术框架,它可以让JavaScript像调用本地方法一样直接调用服务器端的方法,从而简化了前端和后端之间的...
struts2-dwr-plugin-2.1.6.jar
是一种在无需重新加载整个网页的情况下更新部分网页的技术,而Direct Web Remoting (DWR) 是一个Java库,它使得在JavaScript和Java之间进行交互变得简单,允许Web应用程序实现类似桌面应用的用户体验。这个学习资料...
【SSH-DWR】框架组合是Java Web开发中的经典选择,主要由Spring、Hibernate和Struts2以及Direct Web Remoting (DWR)四个组件构成。这是一个高效且灵活的架构,广泛应用于企业级应用开发,尤其是人力资源管理系统。...