接触dwr,运行网上相关的dwr实例中...总是这样那样的错误!
自己动手写吧!
1.新建web工程:DWRAgain
2.修改web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_ID" version="2.4"
xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<!-- DWR 相关配置 DWR servlet 的声明-->
<servlet>
<servlet-name>dwr-invoker</servlet-name>
<servlet-class>uk.ltd.getahead.dwr.DWRServlet</servlet-class>
<init-param>
<param-name>debug</param-name>
<param-value>true</param-value>
</init-param>
</servlet>
<!-- DWR 日志 配置 -->
<servlet-mapping>
<servlet-name>dwr-invoker</servlet-name>
<url-pattern>/dwr/*</url-pattern>
</servlet-mapping>
</web-app>
3. 新建一个文件dwr.xml, 跟web.xml放在同一个目录下:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE dwr PUBLIC
"-//GetAhead Limited//DTD Direct Web Remoting 1.0//EN"
"http://www.getahead.ltd.uk/dwr/dwr10.dtd">
<dwr>
<!-- 配置一个creator的创建和远程方法调用设置 : -->
<allow>
<create creator="new" javascript="Demo">
<param name="class" value="wujincheng.Demo" />
</create>
</allow>
</dwr>
dwr.xml 这里面配置的其实就是我们要用到的Java类,名字叫Demo。这个文件的作用就是可以将我们要用到的Java类转化成一个Javascript对象供我们在页面中使用。
4.那新建一个Demo类:
package wujincheng;
public class Demo {
public String sayHello(String name) {
return "Hi " + name + ",welcom to jc_dreaming's world ";
}
}
这个类的作用很简单,就是返回页面输入的相关信息。
5.修改index.jsp
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type"
content="text/html; charset=ISO-8859-1">
<title>Text Demo</title>
<script src='dwr/interface/Demo.js'></script>
<script src='dwr/engine.js'></script>
<script type='text/javascript' src='dwr/util.js'></script>
<script>
function update() {
//var name = document.getElementById("demoName");
var name = DWRUtil.getValue("demoName");
alert(name);
Demo.sayHello(name, function(data) {
DWRUtil.setValue("demoReply", data);
});
}
</script>
</head>
<body>
<p>
Name:
<input type="text" id="demoName" />
<input value="Send" type="button" onclick="update()" />
<br />
Reply:
<span id="demoReply"></span>
</p>
</body>
</html>
5.别忘了dwr.jar包。
这时DWR会为从你的HTML或Java服务器端页面(JSP)上调用所需方法作好准备,并不需要你创建JavaScript文件(Demo.js)。在index.jsp文件中, 我们还必须增加由DWR提供的JavaScript接口,还有DWR引擎,即以下三行代码:
<script src='dwr/interface/Demo.js'></script>
<script src='dwr/engine.js'></script>
<script type='text/javascript' src='dwr/util.js'></script>
在页面点击send button 时 ,触发update()函数
<script>
function update() {
//var name = document.getElementById("demoName");
var name = DWRUtil.getValue("demoName");
alert(name);
Demo.sayHello(name, function(data) {
DWRUtil.setValue("demoReply", data);[url][/url]
});
}
</script>
看看源码:
DWRUtil.getValue("demoName") == document.getElementById("demoName");
这段代码:
就是可以将我们要用到的Java类转化成一个Javascript对象供我们在页面中使用。
发布一下,我们可以测试dwr是否加载成功:
http://localhost:8080/DWRAgain/dwr/index.html
测试页面显示了可以测试的函数.
页面效果:
这里还要提一下就是回调函数的使用
等同于:
function callback(data) {
DWRUtil.setValue("demoReply", data);
alert(data);
}
function update() {
//var name = document.getElementById("demoName");
var name = DWRUtil.getValue("demoName");
Demo.sayHello(name,callback);
}
分享到:
相关推荐
DWR(Direct Web Remoting)是一个web远程调用框架,利用这个框架可以让AJAX变得很简单,通过DWR可以在客户端通过JavaScript直接调用服务器的Java方法并返回值给JavaScript,整个过程就好像通过本地客户端调用一样,...
下面是对DWR及其在`dwr_demo_test`中的应用进行的详细解释。 1. **DWR的基本概念**: DWR的核心功能是提供一种安全、高效的机制,让JavaScript可以调用Java对象的方法。这涉及到几个关键组件: - **Reverse AJAX*...
这个"**dwr.demo dwr实例**"很可能是用来展示如何在实际项目中集成和使用DWR的示例代码。在深入探讨之前,让我们先理解一下DWR的基本概念。 DWR的核心功能是提供了一个JavaScript API,使得JavaScript可以调用...
在"DWR框架 DEMO"项目中,我们可以看到一个DWR的简单示例。`DWRDemo`可能包含以下组成部分: 1. **Java后端**:定义了一个或多个Java类,其中包含了可供客户端调用的方法。这些方法通常处理业务逻辑,比如数据库...
这个"DWR-demo.rar"文件包含了一个DWR的示例项目,帮助我们了解如何在实际开发中使用DWR。 DWR的核心功能在于提供一种安全、高效的AJAX解决方案,使得JavaScript可以调用服务器端的方法,更新页面内容而无需刷新...
在这个"DWR Demo"中,我们将会探讨如何使用DWR框架来处理和展示常见的数据结构,如List、Set和Map。 首先,让我们深入了解DWR的核心功能。DWR允许Java方法直接被JavaScript调用,就像它们是本地函数一样,无需手动...
在"Dwr demo - Dwr简单使用"这个项目中,你可以通过以下步骤了解和学习DWR的基本用法: 1. **环境准备**:首先确保你有Eclipse IDE,并且已经安装了Java Development Kit (JDK)。由于DWR是一个Java库,所以你需要一...
DWR框架DEMO的下载提供了实践理解和学习DWR功能的机会。 DWR的核心特性包括: 1. **异步通信**:DWR通过AJAX(Asynchronous JavaScript and XML)技术实现了浏览器与服务器间的无刷新通信。用户在页面上的操作可以...
**DWR(Direct Web Remoting)框架学习指南** DWR,全称为Direct Web Remoting,是一种在Web应用程序中实现客户端与服务器端之间直接通信的技术。它允许JavaScript在浏览器端直接调用Java方法,实现了真正的Ajax...
【DWR(Direct Web Remoting)与Ajax技术详解】 DWR(Direct Web Remoting)是一种在Web应用程序中实现异步JavaScript和XML(Ajax)的方法,它简化了客户端和服务器之间的通信,使得动态更新网页变得更加简单。DWR...
在你提供的资源"一个Dwr的demo"中,这是一个面向初学者的教学示例,旨在展示如何使用DWR来实现动态网页功能。这个Demo将帮助你理解DWR的基本工作原理,以及如何在实际项目中集成和使用它。下面我们将深入探讨DWR的...
在这个"Dwr3.x demo 实例 例子"中,我们可以学习到以下几个关键知识点: 1. **反转Ajax**:DWR的核心特性之一就是反转Ajax,它将传统的请求-响应模式反转过来,使得服务器可以直接调用客户端的JavaScript方法,而...
在这个"Dwr+Demo+helloworld"示例中,我们将探讨如何利用DWR轻松实现JavaScript与Java之间的交互,创建一个简单的"Hello, World!"应用程序。 首先,我们需要了解DWR的基本概念。DWR的核心功能是提供一个代理层,...
通过深入学习和实践这个"DWR入门demo",你将能够掌握如何在Web应用中集成DWR,以及如何利用它来构建更互动、更动态的用户界面。同时,你也将了解到DWR在实际项目中的应用和优势,为进一步的RIA开发打下坚实基础。
这个"Dwr入门Demo"是为初学者准备的一个简单示例,旨在帮助理解DWR的基本概念和用法。 首先,让我们了解DWR的核心功能: 1. **反向AJAX(Reverse Ajax)**:DWR实现了服务器端Java方法与客户端JavaScript之间的...
这个“dwr入门demo”是一个实例,可以帮助初学者理解并掌握DWR的基本用法。 DWR的核心功能在于它提供了一种方式,使得JavaScript可以直接调用服务器上的Java方法,就像调用本地函数一样,从而极大地增强了Web应用的...
在这个"**dwr实现的服务器推demo**"中,我们看到一个实例,展示了如何利用DWR的技术来实现实时的、无需刷新的服务器推送功能。 服务器推是一种技术,它允许服务器主动地将数据发送到客户端,而不需要客户端(通常是...
DWRDemo.rar_DEMO_dwr Demo是一个关于DWR的实际应用示例,它可以帮助我们理解DWR的工作原理和如何在项目中集成DWR。 **1. DWR的基本概念** DWR的核心是远程方法调用(Remote Method Invocation, RMI),但它是在Web...
在"**dwr-demo**"项目中,我们可以通过以下几个关键知识点来理解DWR的工作原理和应用: 1. **配置DWR**: 在Java项目中集成DWR通常需要在`web.xml`文件中配置DWR的servlet,例如`DWRServlet`。配置包括设置映射路径...