DWR是一个开源的类库,可以帮助开发人员开发包含AJAX技术的网站.它可以允许在浏览器里的代码使用运行在WEB服务器上的JAVA函数,就像它就在浏览器里一样.
它包含两个主要的部分:允许JavaScript从WEB服务器上一个遵循了AJAX原则的Servlet(小应用程序)中获取数据.另外一方面一个JavaScript库可以帮助网站开发人员轻松地利用获取的数据来动态改变网页的内容.
DWR采取了一个类似AJAX的新方法来动态生成基于JAVA类的JavaScript代码.这样WEB开发人员就可以在JavaScript里使用Java代码就像它们是浏览器的本地代码(客户端代码)一样;但是Java代码运行在WEB服务器端而且可以自由访问WEB 服务器的资源.出于安全的理由,WEB开发者必须适当地配置哪些Java类可以安全的被外部使用.下面是我在项目中应用的一个例子:
首先在WEB-INF下建立dwr.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 2.0//EN" "http://www.getahead.ltd.uk/dwr/dwr20.dtd">
<dwr>
<allow>
<create creator="new" javascript="Test">
<param name="class" value="com.Test"/>
</create>
</allow>
</dwr>
接着在web.xml中加入DWRServlet配置
<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> //此处是在项目运行用到dwr后生成脚本的所在的目录,以后用的时候根据相对路径引入。
</servlet-mapping>
接着创建java类
package com;
public class Test{
public String getArea(String city)
{
StringBuffer sb=new StringBuffer("");
sb.append("<select name='area' style='width:120'>");
sb.append("<option value='0'>全部</option>");
if(city.equals("aaa"))
{
sb.append("<option value='111>111</option>");
sb.append("<option value='222>222</option>");
sb.append("<option value='333>333</option>");
}
if(city.equals("bbb"))
{
sb.append("<option value='444>444</option>");
sb.append("<option value='555>555</option>");
}
if(city.equals("ccc"))
{
sb.append("<option value='666>666</option>");
sb.append("<option value='777'>777</option>");
}
sb.append("</select>");
return sb.toString();
}
}
建立test.jsp
<%@ page language="java" contentType="text/html; charset=GBK"%>
<title>dwr.jsp</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<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>
<script language="javascript">
function update() {
var city = document.getElementById("city").value;
Test.getArea(city, function(data) {
document.getElementById("demoReply").innerHTML=data;
});
}
</script>
<body>
<p>
Name:
<select style="width:120" id="city" name="city" onchange="update()">
<option value="aaa">aaa</option>
<option value="bbb">bbb</option>
<option value="ccc">ccc</option>
</select>
<span id="demoReply">
<select style="width:120" id="area" name="area">
<option value="0">全部</option>
</select>
</span>
</p>
</body>
分享到:
相关推荐
本文将详细讲解DWR的快速配置过程,帮助初学者迅速上手。 1. **安装DWR** 首先,你需要从DWR官方网站下载最新版本的DWR库,然后将其解压到你的项目中。通常,这会包含`dwr.jar`和其他相关的库文件。将这些文件添加...
#### 二、DWR 快速上手 本节主要介绍如何快速开始使用 DWR 框架进行开发。 - **安装与配置**: - 下载 DWR 并将其包含在项目中。 - 配置 web.xml 文件,添加 DWR 的 Servlet。 - 在项目中创建一个简单的 ...
本资料集合提供了DWR的详细信息,包括其工作原理、快速上手教程以及测试类,旨在帮助开发者迅速掌握并应用到实际项目中。 一、DWR的工作原理 DWR的核心是通过JavaScript API在浏览器端与服务器端Java对象进行交互。...
DWR (Direct Web Remoting) 是一个开源的Java框架,它允许开发者在客户端的JavaScript代码中直接调用服务器端的Java方法,实现了无刷新的Web...通过适当的配置和使用,开发者可以快速上手并构建高效、动态的Web应用。
- **示例和教程**:提供实例代码和逐步指导,帮助快速上手。 DWR的主要优势在于它的易用性和灵活性,允许开发者几乎无痛地将服务器端的Java逻辑暴露给客户端JavaScript。然而,需要注意的是,虽然DWR简化了Ajax...
3. **易用性**:DWR提供丰富的API,使得开发者可以快速上手。 **四、注意事项** 1. **性能优化**:虽然DWR方便了开发,但过多的实时通信可能影响性能,需合理设计通信策略。 2. **版本兼容性**:确保DWR版本与...
9. **例子和教程**:文档中可能包含了一系列逐步指导的示例,帮助初学者快速上手DWR。 10. **高级特性**:如批量调用(Batching)、缓存(Caching)、心跳检测(Heartbeat)和Push技术,这些都是DWR提供的高级功能...
Direct Web Remoting (DWR) 是一个开源的Java库,它允许JavaScript在浏览器端与服务器端的Java对象进行交互,从而实现动态Web应用程序。...这个简单的例子可以帮助你快速上手DWR,为后续深入学习和实践打下基础。
源代码还包含了一些示例和测试用例,帮助开发者快速上手。 3. **dwr.zip**: 这可能是一个重复的文件,或者包含了与dwr.jar和dwr-2.0.5-src.zip不同的内容,比如可能是DWR的配置文件、文档或者特定环境的构建版本...
9. **示例和文档**:这个资源包可能包含了各种示例应用和详细的API文档,有助于快速上手。 在使用这个资源包时,首先需要将其解压,然后根据提供的文档了解如何配置DWR框架,通常包括在服务器端添加DWR的jar文件、...
6. **API文档**:DWR3.0的文档详细介绍了如何配置和使用DWR,包括设置、配置文件、安全设置、API接口以及各种示例,帮助开发者快速上手。 在使用DWR3.0的过程中,开发者通常会遇到以下几个关键知识点: - **配置...
3. **示例代码**:DWR的示例代码可以帮助开发者快速上手,通过实际运行的示例理解DWR的工作原理。这些示例可能包括简单的AJAX请求,复杂的数据绑定,以及错误处理等。 4. **配置文件示例**:在DWR3.0中,配置文件...
这些文件对于理解和使用DWR来说是非常有价值的,特别是对于初学者,可以快速上手并理解DWR的工作流程。 总的来说,DWR是一个强大的工具,它简化了前后端交互的复杂性,使得开发者能够更高效地构建动态、交互性强的...
1. **简单易用**:DWR提供了一种直观的方式来调用服务器端的方法,使得开发人员能够快速上手,就像案例中提到的“Hello, World”一样简单。 2. **类型安全**:DWR支持Java对象到JavaScript对象的自动转换,保证了...
Direct Web Remoting (DWR) 是一个开源的Java库,它允许JavaScript在浏览器端与...这个简单的示例将帮助你快速上手DWR,并理解其工作原理。记住,实践是最好的老师,动手尝试并修改这个示例,将加深你对DWR的理解。
这份文档可以帮助开发者快速上手,解决在实际开发中遇到的问题,同时也是查阅API和最佳实践的重要资源。 `dwr.xml` 文件是DWR的配置文件,用于设置DWR的行为,如允许访问的Java类和方法、安全性设置、错误处理等。...
### DWR使用方法详解:逐步指南 #### 一、引言 DWR(Direct Web Remoting)是一种简化Ajax开发的框架,它允许在浏览器端直接调用服务器端的方法,如同...遵循上述步骤,你可以快速上手DWR,实现更高级的Ajax功能。
#### 二、DWR快速入门指南 1. **安装与配置** - **环境准备**:首先确保已经安装了JDK,并配置好Tomcat或类似的Java应用服务器。 - **集成DWR**:下载DWR框架,并将其添加到项目中。可以通过Maven或直接下载DWR...
这个"DWR小例子_DEMO"是帮助开发者理解并快速上手DWR的一个实践项目,其中包含了说明文件和必要的代码示例。 DWR的核心功能是允许前端JavaScript直接调用后端Java方法,仿佛它们是在同一环境中运行一样,消除了传统...