`

DWR入门教程之HelloWorld

    博客分类:
  • Ajax
阅读更多

说明:这本是林信良(良葛格)的专栏 的文章,但是受不了繁体字的折磨,改成中文了呵呵。

 

Java 开发人员与网页设计人员的桥梁 DWR… 呃!我懒得写简介了 直接来看看可以做什么吧!

请先到 http://getahead.ltd.uk/dwr/ 下载 dwr.jar ,放到 WEB-INF/lib

负责处理客户端请求,并呼叫 Java 对象的是 DWRServlet DWR 其实也有些 Model 2 的味道,只是 View 的这一层比较弱,因为放到客户端的 JavaScript 应用程序中

web.xml 中加入 DWRServlet…

<?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">
	<display-name>dwrtest</display-name>

	<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>

</web-app>

 

接下来写个简单的 Hello 吧!

package com.dwr;

public class HelloWorld {
	private String name;
	public HelloWorld(){
		
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public String sayHello(String name) {
        return "Hello, " + name;
    }

}
 

客户端要呼叫这个 Java 对象,传给它参数,而后传回一个字符串,客户端再显示这个字符串,神奇?其实是要告诉 DWRServlet 这件事,这需要一个 dwr.xml,在WEB-INF目录下建立这个这个文件:

<!DOCTYPE dwr PUBLIC
    "-//GetAhead Limited//DTD Direct Web Remoting 1.0//EN"
    "http://www.getahead.ltd.uk/dwr/dwr10.dtd">

<dwr>
  <allow>
    <create creator="new" javascript="JDate">
      <param name="class" value="java.util.Date"/>
    </create>
    <create creator="new" javascript="Hello">
      <param name="class" value="com.dwr.HelloWorld"/>
    </create>
  </allow>
</dwr>
creator 设定为 new ,表示使用 Hello 的无参数建构子来生成对象, javascript 设定为 Hello ,表示客户端 JavaScript 程序可以使用 Hello 来呼叫对应的 onlyfun.caterpillar.Hello 物件。

来写个客户端的网页,当中有一个输入字段,这里我们建立一个index.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=GB18030">
<title>DWR's  HelloWorld</title>
<script type='text/javascript' src='dwr/interface/Hello.js'></script>
<script type='text/javascript' src='dwr/engine.js'></script>
<script type='text/javascript' src='dwr/util.js'></script>
<script type='text/javascript' src='hello.js'></script>
</head>
<body>
<input id="user" type="text" /><input type='button' value='哈罗' onclick='hello();' />  <div id="result"></div>
</body>
</html>

 

 

dwr/interface/Hello.js 是由 DWRServlet 根据 dwr.xml 中的设定生成的, engine.js 负责客户端伺服端沟通, util.js 是一些好用的 JavaScript 程序,可以让您少写很多 JavaScript

hello.js 是我们自定义的函式,按下按钮后,会呼叫当中的 hello() 函式,因而 需要在当前文件夹下建立一个hello.js:

function hello(){
	var user = $('user').value;
	Hello.sayHello(user,callback);
}
function callback(msg){
	DWRUtil.setValue('result',msg);
}

 

${'user'} 取得输入字段的 DOM 对象, value 取得当中的域值,而后呼叫 Hello.hello() ,并将 value 当作参数传送 结果是呼叫 Server 端的 Hello Java 对象,当结果传回后,会呼叫 JavaScript callback 函式, DWRUtil setValue() 方法会将传回的 msg 设定给指定 id DOM ,结果就是 啥! AJAX 的功能在哪 就这个而言就是发出异步请求,而响应不用 Refresh 页面啦!  


 DWR HelloWorld

 

分享到:
评论
6 楼 氵壞男亼乀 2013-09-25  
我想请问下   你哪个html里面引入的几个js文件没看懂!你能不能把你的那个js的分布图截个啊!!
5 楼 bo_hai 2011-02-12  
谢谢。hello.js 可以代码一下:
function hello(){
var user = $('user').value;
Hello.sayHello(user,callback);
}

function callback(msg){

if (typeof window['DWRUtil'] == 'undefined')
    window.DWRUtil = dwr.util;
DWRUtil.setValue('result',msg);
}
4 楼 tom&jerry 2010-04-21  
引用
但是受不了繁体字的折磨,改成中文了呵呵

繁体不是中文?!
3 楼 nurenok 2009-12-22  
<create creator="new" javascript="JDate"> 
      <param name="class" value="java.util.Date"/> 
    </create> 
这个好像没用到吧
2 楼 hintcnuie 2008-05-05  
我做的是成功的,有什么出错信息么
1 楼 fangchaojun 2008-05-01  
[flash=200,200][/flash]哎,照着写了一次不成功哟!

相关推荐

    DWR入门教程之HelloWorld - 中文JAVA技术网.mht

    请先到 http://getahead.ltd.uk/dwr/ 下载 dwr.jar ,放到 WEB-INF/lib 下 … 负责处理客户端请求,并呼叫 Java 对象的是 DWRServlet , DWR 其实也有些 Model 2 的味道,只是 View 的这一层比较弱,因为放到客户端...

    DWR学习笔记-HelloWorld篇

    本“HelloWorld”篇主要介绍了如何入门DWR并实现简单的示例。 【描述】: 这篇学习笔记可能没有给出具体的描述,但通常“HelloWorld”教程会涵盖创建一个简单的DWR应用,包括配置DWR引擎、编写Java类、定义接口...

    第一个DWR HelloWorld例子(附:详细说明)

    除了基础的HelloWorld例子,DWR还可以用于更复杂的应用场景,比如表格数据的动态加载、实时图表的绘制、表单验证等。DWR的灵活性使其在构建交互丰富的Web应用时大有裨益。 通过这个简单的DWR HelloWorld例子,我们...

    Dwr2的HelloWorld

    **DWR2的HelloWorld详解** DWR (Direct Web Remoting) 是一个开源JavaScript库,它允许在浏览器和服务器之间进行直接的、实时的通信,从而实现Web应用程序的富客户端功能。DWR2是其第二个主要版本,相较于早期版本...

    DWR入门 helloworld源码

    DWR的初学者,初次配置时你们一定会遇到很多问题,所以一个很好的helloworld源码,一定对大家有所帮助。MyEclipse7.0测试,绝对运行

    DWR_HelloWorld之痛

    **标题:“DWR_HelloWorld之痛”** 这篇博客文章主要探讨了Direct Web Remoting (DWR)框架在实现一个简单的“HelloWorld”示例时可能遇到的问题和挑战。DWR是一个JavaScript库,允许Web应用在客户端和服务器之间...

    dwr_helloWorld

    "dwr_helloWorld"是一个理想的起点,可以帮助初学者快速入门DWR,理解其基本用法和概念。通过阅读博客和运行提供的示例代码,可以深入理解DWR如何工作,以及如何在实际开发中利用它来构建动态的、交互性强的Web应用...

    HelloWorld-Dwr

    这个"HelloWorld-Dwr"示例是一个基础教程,展示了如何使用DWR来实现简单的远程方法调用。 首先,我们需要在项目中导入必要的库。DWR的核心库是dwr.jar,还需要commons-logging-1.0.4.jar,这是一个日志处理库,通常...

    dwr的helloworld入门例子

    当用户点击按钮时,通过DWR调用服务器上的`HelloWorld`方法,并将返回的“Hello, World”显示在文本区域中。 7. **部署和测试**: 将DWR库添加到Web应用的类路径中,将Java和HTML文件部署到服务器,然后在浏览器中...

    dwr3.0的HELLOWORLD创建过程

    ### dwr3.0的HELLOWORLD创建过程详解 #### 一、准备工作:环境搭建与配置 ##### 1. 创建Web工程 - **步骤一**:新建一个Web应用程序工程。 - **步骤二**:导入DWR 3.0的相关jar包。确保包括`dwr-x.x.x.jar`在内的...

    DWR的环境搭建与第一个入门程序HelloWorld

    在 `dwr.xml` 文件中,`&lt;create&gt;` 元素定义了一个 JavaScript 对象 `service`,它对应于服务器端的 `helloWorld.Service` 类。这样,你就可以在 JavaScript 中直接调用 `service.sayHello()` 方法,并得到服务器端的...

    java dwr简单例子helloworld

    这个"java dwr简单例子helloworld"是一个基础教程,旨在通过一个简单的HelloWorld示例,让你了解DWR的工作原理和基本用法。 首先,DWR的核心思想是提供一种安全且高效的方式,让JavaScript能够与服务器端的Java对象...

    dwr helloworld

    要开始DWR的HelloWorld之旅,我们需要以下基础: - Java Development Kit (JDK):确保你的开发环境中已经安装了JDK,并且版本与你的DWR库兼容。 - Servlet容器:如Tomcat或Jetty,用于运行我们的Web应用。 - DWR库...

    DWR基础教程 开发案例

    例如,可以创建一个名为HelloWorld的Java类,并在dwr.xml中注册,这样JavaScript就可以通过`HelloWorld`对象调用服务器上的`sayHello`方法。 **DWR核心引擎** DWR的核心引擎负责处理所有与远程调用相关的工作,包括...

    DWR参考教程.docx

    第1章:DWR入门 * DWR是什么?DWR是一个基于Java的AJAX框架,旨在帮助开发人员快速构建基于Web的应用程序。 * 第一个DWR程序:Hello World。Hello World是一个经典的入门示例,用于演示DWR的基本使用方法。 * 将DWR...

    dwr入门 -- 01 -- Hello Word

    **DWR(Direct Web Remoting)入门教程 -- Hello World** DWR(Direct Web Remoting)是一种JavaScript库,它允许在浏览器和服务器之间进行实时、安全的双向通信,从而实现Web应用中的Ajax功能。通过DWR,开发者...

    dwr.helloworld:使用 dwr 创建第一个应用程序,HelloWorld

    通过这个简单的“HelloWorld”应用,我们可以了解DWR的工作原理和基础用法。它为我们提供了一个强大的工具,使Java开发者能够轻松地构建具有动态交互性的Web应用。在实际开发中,DWR还可以应用于更复杂的场景,如...

    dwr简单 实例 入门

    接下来,我们来看一个简单的DWR入门实例: 1. **环境准备**:确保你的项目已经集成了Servlet容器(如Tomcat),并添加了DWR的依赖库到类路径。 2. **创建Java类**:首先,创建一个简单的Java类,例如`HelloWorld....

Global site tag (gtag.js) - Google Analytics