什么是DWR?
DWR是一个Open Source的 java项目。DWR可以让JavaScript调用运行在Web服务器里面的JAVA程序。简单一点或者专业一点就是Easy AJAX for JAVA.
下面将一步一步的介绍怎么完成一个简单DEMO
1,从官方网站下载DWR https://dwr.dev.java.net/files/documents/2427/32252/dwr.war把他直接放到TOMCAT_HOME/webapps 下面
2,编写一个Java类如下:
DWRTest.java
package com.test.ajax;
/**
*
* @author 方见华
*
*/
public class DWRTest {
public DWRTest(){
}
public String getMyName(){
return "James Fang";
}
}
3, 把DRWTest类配置在dwr.xml中,dwr.xml是DWR的配置文件,所有需要在JavaScript中调用的java的类都必须在这个文件中 描述。这个文件的位于TOMCAT_HOME/webapps/dwr/WEB-INF/dwr.xml. 在<allow>标签中添加以下内容
<create creator="new" javascript="MyTest" scope="application">
<param name="class" value="com.test.ajax.DWRTest"/>
</create>
4, 编写调用DWRTest类 getMyName的方法的HTML文件,test.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<title>DWR - My First AJAX</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<script type='text/javascript' src='/dwr/dwr/interface/MyTest.js'></script>
<script type='text/javascript' src='/dwr/dwr/engine.js'></script>
<script type='text/javascript' src='/dwr/dwr/util.js'></script>
<script language="javascript">
var mycall=function callBack(data){
DWRUtil.setValue("demo1",data);
}
function showMyName(){
MyTest.getMyName(mycall);
}
function clearName(){
demo1.value="";
}
</script>
</head>
<body>
<h1>Ajax Test Page</h1>
<input type="button" value="setMyName" onclick="javascript:showMyName()"><input type="button" value="Clear" onclick="javascript:clearName()"><br>
<input type="text" id="demo1"></select><br>
</body></html>
5, 运行,在浏览器中输入 http://localhost:8080/dwr/test.html
DWR让Ajax更简单
<servlet>
<servlet-name>dwr-invoker</servlet-name>
<display-name>DWR Servlet</display-name>
<description>Direct Web Remoter Servlet</description>
<servlet-class>uk.ltd.getahead.dwr.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>
5、在web.xml的所在目录下新建dwr.xml,内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<dwr>
<allow>
<create creator="new" javascript="Test">
<param name="class" value="com.wuahui.test.ajax.AjaxTest"/>
</create>
</allow>
</dwr>
6、创建服务器端的程序com.wuahui.test.ajax.AjaxTest.java,代码如下:
package com.wuahui.test.ajax;
import java.util.Date;
public class AjaxTest {
public String dispCurrentTime(){
return new Date().toString();
}
}
7、在web目录下创建前台页面myAjax.html,内容如下:
<html>
<head>
<title>DWR Test</title>
<!-- These paths use .. so that they still work behind a path mapping proxy. The fully qualified version is more cut and paste friendly. -->
<script type='text/javascript' src='dwr/interface/Test.js'></script>
<script type='text/javascript' src='dwr/engine.js'></script>
<script type='text/javascript' src='dwr/util.js'></script>
</head>
<body onload='DWRUtil.useLoadingMessage()'>
<input class='ibutton' type='button' onclick='Test.dispCurrentTime(reply0);' value='查看当前时间' title='查看服务器上的时间'/>
<script type='text/javascript'>
var reply0 = function(data)
{
if (data != null && typeof data == 'object') alert(DWRUtil.toDescriptiveString(data, 2));
else DWRUtil.setValue('timestr', DWRUtil.toDescriptiveString(data, 1));
}
</script>
<span id='timestr' class='reply'></span>
</body></html>
8、把项目部署到Tomcat上面运行http://localhost:8080/dwr/myAjax.htmlå³å¯ã
AJAX DWR基本使用向导
前言aJax也许很多人比较熟悉,但是dwr可以是应用ajax变得非常的简单,大大提高开发效率,而且dwr还提供了很多有用的js代码,可以说是如虎添翼。
应用解释可能有部分人根本不知道aJax和dwr是什么东西,用来做什么的?既然标题是基本使用,那我就从dwr有什么用来说说。一般来说,不管是jsp 或者是asp要访问数据库都得submit一个form,然后获取数据库或者执行部分逻辑,接着web跳了另外一页把执行的结果显示出来。这个过程web 相对于是刷新了一下。那么有什么办法可以令web不刷新,而页面又可以和数据库交互数据呢?有,就是ajax技术,利用web 对象把数据以xml方式submit到web server,然后返回结果,中间全部用javascript操作,页面不闪动或者刷新。但是自己操作xml对象未免有点小烦,能不能把这些工作集成到一个对象里面呢?能,就是dwr.下面开始教你如何使用。
如何使用
下载软件包http://getahead.ltd.uk/dwr/这里就可以
安装软件包解压软件包,把dwr.jar 文件拷贝到你web项目的WEB-INF/lib 目录中,同时编辑WEB-INF/web.xml文件,在此文件中加入
#
1. <servlet>
2. <servlet-name>dwr-invoker</servlet-name>
3. <display-name>DWR Servlet</display-name>
4. <servlet-class>uk.ltd.getahead.dwr.DWRServlet</servlet-class>
5. <init-param>
6. <param-name>debug</param-name>
7. <param-value>true</param-value>
8. </init-param>
9. </servlet>
10.
11. <servlet-mapping>
12. <servlet-name>dwr-invoker</servlet-name>
13. <url-pattern>/dwr/*</url-pattern>
14. </servlet-mapping>
另外,在WEB-INF目录中建立一个dwr.xml 文件,文件内容入下
1. <!DOCTYPE dwr PUBLIC
2. "-//GetAhead Limited//DTD Direct Web Remoting 1.0//EN"
3. "http://www.getahead.ltd.uk/dwr/dwr10.dtd">
4.
5. <dwr>
6. <allow>
7. <create creator="new" javascript="JDate">
8. <param name="class" value="java.util.Date"/>
9. </create>
10. <create creator="new" javascript="Demo">
11. <param name="class" value="your.java.Bean"/>
12. </create>
13. </allow>
14. </dwr>
这个可以说也是dwr的配置文件最后,重新启动你的tomcat或者resin等jsp web server.
# 测试安装效果在ie敲入http://localhost:8080/[YOUR-WEBAPP]/dwr/
# 如果成功显示页面,那说明你安装正确了。
# 应用于网页测试页会显示JDate (java.util.Date) ,这个是也是例子,通过javascript调用web server中的java.util.Date,也相当于调用web server里面的一个bean.那么我们如何使用他呢?
# 你可以在自己的html文件中加入
#
1. <script type='text/javascript' src='/sc/dwr/interface/JDate.js'></script>
2. <script type='text/javascript' src='/sc/dwr/engine.js'></script>
比如我们要用bean中的toLocaleString方法返回一个时间string.那么你可以在javascript中编写
1. function displayLocaleDate()
2. {
3. var str = JDate.toLocaleString();
4. alert(str);
5. }
当运行displayLocaleDate()方法就会弹出时间。
# 总结以上只是个调用服务器Date javabean的简单例子,你可以更加自己的需要写相应的bean,可以做出非常出色的基于web聊天网站,或者实时图表显示应用。
相关推荐
在"Dwr demo - Dwr简单使用"这个项目中,你可以通过以下步骤了解和学习DWR的基本用法: 1. **环境准备**:首先确保你有Eclipse IDE,并且已经安装了Java Development Kit (JDK)。由于DWR是一个Java库,所以你需要一...
在这个"简单使用DWR完整例子"中,我们将深入理解DWR的基本概念、配置、以及如何在SSH(Spring、Struts、Hibernate)技术框架下集成和应用DWR。 首先,了解DWR的核心概念至关重要。DWR通过JavaScript API使得Java...
DWR(Direct Web Remoting)是一种JavaScript库,它允许Web应用程序在客户端与服务器之间进行实时的、异步的通信,而无需使用XMLHttpRequest(Ajax)或其他插件。DWR简化了JavaScript与Java后端之间的交互,使开发者...
这个简单的例子展示了DWR如何使JavaScript能够异步调用Java方法。在实际开发中,你可以利用DWR处理更复杂的业务逻辑,如数据库操作、服务调用等。同时,DWR还提供了许多高级功能,如批量调用、错误处理、缓存策略等...
在"**dwr反推简单例子**"中,我们将会探讨如何使用DWR进行数据的反向推送,即由服务器主动向客户端推送数据,而不仅仅是响应客户端的请求。 首先,DWR的核心概念包括三个主要部分:`Engine`、`Configuration`和`...
通过学习这个简单的DWR例子,你可以了解到如何在实际项目中集成DWR,以及如何利用它来构建动态、交互性强的Web应用。这将有助于提升你的Web开发技能,尤其是对于那些希望增强前端和后端交互能力的开发者来说。
**JAVA-DWR简单例子** ...通过这个简单的JAVA-DWR例子,我们可以了解如何利用DWR实现JavaScript和Java的无缝交互,从而创建更富交互性的Web应用。理解并掌握DWR的使用,对于提升Web开发效率和用户体验具有重要意义。
总结来说,这个Java DWR的例子展示了如何设置一个简单的Ajax应用,包括客户端的HTML和JavaScript,服务器端的Java接口,以及必要的`web.xml`和`dwr.xml`配置。对于初学者来说,这是一个很好的起点,它涵盖了DWR基本...
很好的学习资料 很好的学习资料 很好的学习资料 很好的学习资料 很好的学习资料 很好的学习资料 很好的学习资料 很好的学习资料 很好的学习资料 很好的学习资料 很好的学习资料 很好的学习资料
在这个"Dwr最简单例子(2.0)"中,我们将探讨如何使用DWR 2.0设置一个基础的应用程序,以便理解其核心概念和工作原理。首先,我们需要了解DWR的基本组件: 1. **配置文件**:DWR的配置文件(通常为`dwr.xml`)定义了...
**AJAX DWR基本使用向导** DWR (Direct Web Remoting) 是一个开源JavaScript库,它允许在浏览器和服务器之间进行实时、安全且高效的通信,无需任何插件或框架。DWR使得开发者能够轻松地调用Java方法,就像它们是...
在“dwr2.0最简单例子实用亲测试”中,我们可以预期这是一个关于如何使用DWR 2.0版本的入门教程,包含了实际可运行的示例代码。下面将详细介绍DWR的基本概念和在这个实例中可能涉及的关键知识点: 1. **DWR的核心...
以下是一个简单的DWR实例,展示如何在页面上使用DWR调用服务器端的Java方法: 1. 创建一个Java类`MyService.java`,包含一个返回字符串的方法: ```java public class MyService { public String getGreeting() ...
在这个"**dwr简单的例子**"中,我们将深入探讨如何使用DWR框架来创建一个基础的示例应用。 首先,理解DWR的基本工作原理至关重要。DWR通过在服务器上运行一个Servlet,这个Servlet负责处理JavaScript与Java之间的...
通过实践一个简单的DWR实例,你可以更好地理解如何在实际项目中使用它来构建高效、响应式的Web应用。随着对DWR的深入理解和应用,你会发现它不仅可以提升开发效率,还能显著提升应用的用户体验。
本实例"DWRSpring实例"是一个使用DWR与Spring框架结合的消息发布系统,包含了基础的CRUD(Create、Read、Update、Delete)操作。通过这个例子,我们可以深入理解DWR和Spring如何协同工作,以及它们在实际开发中的...
总的来说,DWR提供了一种简单的方式来实现AJAX通信,它通过自动化的JavaScript接口生成和内置的错误处理机制,降低了开发和维护的复杂性。通过上述步骤,你可以配置和使用DWR在JSP页面中调用服务层的方法,实现动态...
这个"java dwr简单例子helloworld"是一个基础教程,旨在通过一个简单的HelloWorld示例,让你了解DWR的工作原理和基本用法。 首先,DWR的核心思想是提供一种安全且高效的方式,让JavaScript能够与服务器端的Java对象...
通过这个简单的例子和中文文档,你可以逐步学习如何设置DWR环境,创建可调用的Java类,编写JavaScript代码以调用这些类,并在网页中展示结果。这将帮助你掌握DWR的基本用法,从而在J2EE项目中实现更流畅的前端交互...
- 基本的AJAX调用:展示如何使用DWR进行简单的服务器端方法调用。 - 实时数据显示:例如,从服务器获取实时数据并在页面上动态更新。 - 表单数据提交:演示如何使用DWR无刷新地提交表单并处理服务器响应。 - 对象...