`

DWR 修正Demo版

    博客分类:
  • DWR
阅读更多
接触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实现DEMO

    DWR(Direct Web Remoting)是一个web远程调用框架,利用这个框架可以让AJAX变得很简单,通过DWR可以在客户端通过JavaScript直接调用服务器的Java方法并返回值给JavaScript,整个过程就好像通过本地客户端调用一样,...

    dwr_demo_test

    下面是对DWR及其在`dwr_demo_test`中的应用进行的详细解释。 1. **DWR的基本概念**: DWR的核心功能是提供一种安全、高效的机制,让JavaScript可以调用Java对象的方法。这涉及到几个关键组件: - **Reverse AJAX*...

    dwr.demo dwr实例

    这个"**dwr.demo dwr实例**"很可能是用来展示如何在实际项目中集成和使用DWR的示例代码。在深入探讨之前,让我们先理解一下DWR的基本概念。 DWR的核心功能是提供了一个JavaScript API,使得JavaScript可以调用...

    DWR框架 DEMO

    在"DWR框架 DEMO"项目中,我们可以看到一个DWR的简单示例。`DWRDemo`可能包含以下组成部分: 1. **Java后端**:定义了一个或多个Java类,其中包含了可供客户端调用的方法。这些方法通常处理业务逻辑,比如数据库...

    DWR-demo.rar

    这个"DWR-demo.rar"文件包含了一个DWR的示例项目,帮助我们了解如何在实际开发中使用DWR。 DWR的核心功能在于提供一种安全、高效的AJAX解决方案,使得JavaScript可以调用服务器端的方法,更新页面内容而无需刷新...

    dwr-demo.rar_DEMO_DWR DE_dwr Demo_list set map

    在这个"DWR Demo"中,我们将会探讨如何使用DWR框架来处理和展示常见的数据结构,如List、Set和Map。 首先,让我们深入了解DWR的核心功能。DWR允许Java方法直接被JavaScript调用,就像它们是本地函数一样,无需手动...

    dwr demo dwr简单使用

    在"Dwr demo - Dwr简单使用"这个项目中,你可以通过以下步骤了解和学习DWR的基本用法: 1. **环境准备**:首先确保你有Eclipse IDE,并且已经安装了Java Development Kit (JDK)。由于DWR是一个Java库,所以你需要一...

    DWR框架DEMO下载

    DWR框架DEMO的下载提供了实践理解和学习DWR功能的机会。 DWR的核心特性包括: 1. **异步通信**:DWR通过AJAX(Asynchronous JavaScript and XML)技术实现了浏览器与服务器间的无刷新通信。用户在页面上的操作可以...

    DWR框架学习demo

    **DWR(Direct Web Remoting)框架学习指南** DWR,全称为Direct Web Remoting,是一种在Web应用程序中实现客户端与服务器端之间直接通信的技术。它允许JavaScript在浏览器端直接调用Java方法,实现了真正的Ajax...

    dwr和ajax使用demo

    【DWR(Direct Web Remoting)与Ajax技术详解】 DWR(Direct Web Remoting)是一种在Web应用程序中实现异步JavaScript和XML(Ajax)的方法,它简化了客户端和服务器之间的通信,使得动态更新网页变得更加简单。DWR...

    一个Dwr的demo

    在你提供的资源"一个Dwr的demo"中,这是一个面向初学者的教学示例,旨在展示如何使用DWR来实现动态网页功能。这个Demo将帮助你理解DWR的基本工作原理,以及如何在实际项目中集成和使用它。下面我们将深入探讨DWR的...

    dwr3.x demo 实例 例子

    在这个"Dwr3.x demo 实例 例子"中,我们可以学习到以下几个关键知识点: 1. **反转Ajax**:DWR的核心特性之一就是反转Ajax,它将传统的请求-响应模式反转过来,使得服务器可以直接调用客户端的JavaScript方法,而...

    dwr+demo+helloworld

    在这个"Dwr+Demo+helloworld"示例中,我们将探讨如何利用DWR轻松实现JavaScript与Java之间的交互,创建一个简单的"Hello, World!"应用程序。 首先,我们需要了解DWR的基本概念。DWR的核心功能是提供一个代理层,...

    DWR入门demo

    通过深入学习和实践这个"DWR入门demo",你将能够掌握如何在Web应用中集成DWR,以及如何利用它来构建更互动、更动态的用户界面。同时,你也将了解到DWR在实际项目中的应用和优势,为进一步的RIA开发打下坚实基础。

    Dwr入门Demo

    这个"Dwr入门Demo"是为初学者准备的一个简单示例,旨在帮助理解DWR的基本概念和用法。 首先,让我们了解DWR的核心功能: 1. **反向AJAX(Reverse Ajax)**:DWR实现了服务器端Java方法与客户端JavaScript之间的...

    dwr入门demo

    这个“dwr入门demo”是一个实例,可以帮助初学者理解并掌握DWR的基本用法。 DWR的核心功能在于它提供了一种方式,使得JavaScript可以直接调用服务器上的Java方法,就像调用本地函数一样,从而极大地增强了Web应用的...

    dwr实现的服务器推demo

    在这个"**dwr实现的服务器推demo**"中,我们看到一个实例,展示了如何利用DWR的技术来实现实时的、无需刷新的服务器推送功能。 服务器推是一种技术,它允许服务器主动地将数据发送到客户端,而不需要客户端(通常是...

    DWRDemo.rar_DEMO_dwr Demo

    DWRDemo.rar_DEMO_dwr Demo是一个关于DWR的实际应用示例,它可以帮助我们理解DWR的工作原理和如何在项目中集成DWR。 **1. DWR的基本概念** DWR的核心是远程方法调用(Remote Method Invocation, RMI),但它是在Web...

    dwr-demo:dwr测试项目

    在"**dwr-demo**"项目中,我们可以通过以下几个关键知识点来理解DWR的工作原理和应用: 1. **配置DWR**: 在Java项目中集成DWR通常需要在`web.xml`文件中配置DWR的servlet,例如`DWRServlet`。配置包括设置映射路径...

Global site tag (gtag.js) - Google Analytics