DWR 是一个开放源码的使用 Apache 许可协议的解决方案,它包含服务器端 Java 库、一个 DWR servlet 以及 JavaScript 库。虽然 DWR 不是 Java 平台上唯一可用的 Ajax-RPC 工具包,但是它是最成熟的,而且提供了许多有用的功能。
从最简单的角度来说,DWR 是一个引擎,可以把服务器端 Java 对象的方法公开给 JavaScript 代码。使用 DWR 可以有效地从应用程序代码中把 Ajax 的全部请求-响应循环消除掉。这意味着客户端代码再也不需要直接处理 XMLHttpRequest 对象或者服务器的响应。不再需要编写对象的序列化代码或者使用第三方工具才能把对象变成 XML。甚至不再需要编写 servlet 代码把 Ajax 请求调整成对 Java 域对象的调用。
DWR 是作为 Web 应用程序中的 servlet 部署的。把它看作一个黑盒子,这个 servlet 有两个主要作用:首先,对于公开的每个类,DWR 动态地生成包含在 Web 页面中的 JavaScript。生成的 JavaScript 包含存根函数,代表 Java 类上的对应方法并在幕后执行 XMLHttpRequest。这些请求被发送给 DWR,这时它的第二个作用就是把请求翻译成服务器端 Java 对象上的方法调用并把方法的返回值放在 servlet 响应中发送回客户端,编码成 JavaScript。DWR 还提供了帮助执行常见的用户界面任务的 JavaScript 工具函数。
例子一:
一,下载dwr.jar
配置web.xml
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app id="dwr">
<servlet>
<servlet-name>dwr-invoker</servlet-name>
<servlet-class>uk.ltd.getahead.dwr.DWRServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>dwr-invoker</servlet-name>
<url-pattern>/dwr/*</url-pattern>
</servlet-mapping>
</web-app>
编写dwr.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>
<allow>
<create creator="new" javascript="JDate">
<param name="class" value="java.util.Date"/>
</create>
</allow>
</dwr>
test.html
<html>
<head>
<title>DWR - Test Home</title>
<script type='text/javascript' src='dwr/interface/JDate.js'></script>
<script type='text/javascript' src='dwr/engine.js'></script>
<script>
function init(){
JDate.toString(load);
}
function load(data){
window.alert("Current Time:"+data);
}
</script>
</head>
<body onload="init()">
</body>
</html>
JDate.js 是 dwr 根据配置文件自动生成的,java.util.Date转化为javascript函数。, engine.js 是 dwr 自带的脚本文件。
dwr demo登陆 :
dwr.xml,
<create creator="new" javascript="CheckName">
<param name="class" value="com.CheckName"/>
<include method="isExists"/>
</create>
<script type='text/javascript' src='dwr/interface/CheckName.js'></script> //调用在dwr.xml中定义的javascript
<script type='text/javascript' src='dwr/engine.js'></script>
<script type='text/javascript' src='dwr/util.js'></script>
<script type="text/javascript">
function checkNames()
{
var name = document.getElementById('name').value;
//CheckName.isExists(name,getResult);
// 那个CheckName是表示咱导入的dwr.xml中javascript这个属性
// isExists表示CheckName这个对象里面一个方法
// (name,getResult)中name表示你要传入的参数,getResult表示回调函数
CheckName.isExists(name,getResult);
}
function getResult(text)
{
if(text)
{
document.getElementById('show').innerHTML="用户名存在";
}else
{
document.getElementById('show').innerHTML="用户名可以使用";
}
}
</script>
用户名:<input type="text" id="name" onblur="checkNames()"><span id="show"></span>
package com;
public class CheckName{
public boolean isExists(String loginName)
{
if(loginName.equals("admin"))
{
return true;
}
else
{
return false;
}
}
}
分享到:
相关推荐
在标题中提到的"DWR一个例子(包括下拉菜单)",这表明我们将研究一个使用DWR来动态更新页面元素的场景,特别是涉及到下拉菜单的选择。DWR使得开发者能够直接调用服务器端的Java方法,而无需刷新整个网页,提高了用户...
这个“Spring+ibatis+Dhtmlx+dwr一个简单的例子”提供了使用这些技术进行集成的实例,这对于初学者来说是一份宝贵的参考资料。下面将详细解释这些技术及其在项目中的作用。 1. **Spring**:Spring 是一个开源的Java...
dwr技术,怎样配置参照网上,这里提供前台页面和dwr配置文件。这里返回的是list数组和对象等,及怎样在页面进行展现。如果你没有用到spring ,则在dwr配置文件中creator="spring" 该为其他的生成方式。
DWR (Direct Web Remoting) 是一个开源的Java库,它允许Web应用程序在客户端和服务器之间进行实时的、异步的通信,无需使用插件或框架如Flash或Silverlight。这个"一个简单DEMO"是关于如何使用DWR在实际项目中实现...
**DWR (Direct Web Remoting) 是一个开源的Java库,它允许JavaScript在客户端与服务器端之间进行直接的异步通信,从而实现AJAX(Asynchronous JavaScript and XML)应用程序的功能。DWR使得开发者无需手动编写复杂的...
DWR (Direct Web Remoting) 是一个开源的Java库,它允许JavaScript在浏览器端与服务器端的Java对象进行直接交互,实现动态Web应用。通过DWR,开发者可以在不刷新整个页面的情况下更新部分网页内容,提高了用户体验。...
DWR (Direct Web Remoting) 是一种开源Java技术,它允许Web应用程序在浏览器和服务器之间进行实时、双向通信,使得JavaScript可以直接调用服务器端的Java方法,极大地简化了客户端和服务器端的数据交换。本笔记将...
DWR(Direct Web Remoting)是一种Java库,它允许JavaScript在客户端与服务器端进行直接的交互,从而实现在Web应用程序中的Ajax功能。DWR的主要目标是简化前后端的数据交换,提高用户体验,使得Web应用能够像桌面...
**DWR(Direct Web Remoting)**是一种Java技术,它允许Web应用程序在客户端与服务器之间进行实时通信,而无需刷新整个页面。通过DWR,我们可以使用JavaScript直接调用服务器端的Java方法,实现Ajax(Asynchronous ...
DWR (Direct Web Remoting) 是一个开源的Java库,它允许JavaScript在浏览器端与服务器端的Java对象进行交互,实现动态的Web应用。DWR简化了AJAX(Asynchronous JavaScript and XML)的开发,使得开发者可以像调用...
Direct Web Remoting (DWR) 是一个开源Java库,它允许JavaScript在Web浏览器中与Java服务器端进行交互,实现AJAX功能。这个压缩包包含了DWR的三个主要版本:DWR1.0、DWR2.0和DWR3.0的jar包,这些jar包是运行DWR应用...
DWR(Direct Web Remoting)是一种Java库,用于在Web应用程序中实现实时的JavaScript到服务器端Java对象的通信。这个技术允许开发者在浏览器中直接调用服务器端的方法,极大地简化了AJAX(Asynchronous JavaScript ...
DWR(Direct Web Remoting)是一种Java库,用于在Web应用程序中实现JavaScript和服务器端Java代码之间的双向通信。这个教程包含了一系列的文档和资源,帮助开发者深入理解和使用DWR。 首先,"DWR学习笔记"提供了对...
DWR (Direct Web Remoting) 是一个开源Java库,它允许Web应用程序在浏览器和服务器之间进行实时通信,无需使用插件或复杂的JavaScript框架。DWR简化了AJAX(Asynchronous JavaScript and XML)开发,使开发者可以像...
DWR(Direct Web Remoting)是一个开源的Java库,它为Web应用程序提供了强大的Ajax功能。通过DWR,前端JavaScript可以直接调用后端Java方法,从而实现动态、实时的Web交互,提升用户体验。这个主题主要围绕DWR的两个...
Direct Web Remoting (DWR) 是一个开源的Java库,允许Web应用程序在浏览器和服务器之间进行实时通信,绕过传统的Ajax限制。这个压缩包包含了DWR的三个关键组件:DWR3.0.jar,DWR的实例war文件,以及DWR2.0的中文说明...
#### 一、DWR简介 **DWR(Direct Web Remoting)** 是一个开源的类库,旨在帮助开发者轻松构建包含AJAX技术的网站。其核心价值在于允许浏览器中的JavaScript代码能够直接调用运行在Web服务器上的Java函数,如同这些...
DWR (Direct Web Remoting) 是一种开源的Java库,它允许JavaScript在浏览器端与服务器端的Java代码进行直接交互,实现动态Web应用。在这个"第一个DWR HelloWorld例子"中,我们将深入理解DWR的基本原理和操作流程,...
DWR(Direct Web Remoting)是一种JavaScript到Java的远程调用技术,允许Web应用程序在客户端与服务器之间进行实时通信,而无需刷新整个页面。DWR的出现极大地提升了Web应用的用户体验,因为它允许开发者在前端与...
DWR(Direct Web Remoting)是一种Java库,用于在Web应用程序中实现实时的JavaScript到服务器端Java对象的通信。这个“DWR中文教程(外带DWR包)”为初学者提供了一个全面的入门指南,帮助理解并掌握DWR的基本概念和...