欢迎访问: www.ptcms.cn
相关配置和文档 如下:
---------------------------
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 2.0//EN" "http://getahead.org/dwr/dwr20.dtd">
<dwr>
<allow>
<!-- Loading demo -->
<create javascript="Loading" creator="new">
<param name="class" value="cn.lh.dwr.Loading" />
</create>
</allow>
</dwr>
---------------------------------
<%@ page language="java" import="java.util.*" pageEncoding="gbk"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>My JSP 'loading.jsp' starting page</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">
<!--引入dwr的js脚本-->
<script src="dwr/interface/Loading.js"></script>
<script src="dwr/engine.js" /></script>
<script src="dwr/util.js" /></script>
<script type="text/javascript">
function getuserinfor(){
//显示loading界面:
useLoadingMessage("正在与后台处理,请秒候. . .")
var textinfor = dwr.util.getValue("text_id");
Loading.getUser(textinfor,callback);
}
function callback(data){
dwr.util.setValue(result,data);
}
/**loading*/
var useLoadingMessage = function(message) {
var loadingMessage;
if (message) loadingMessage = message;
else loadingMessage = "Loading";
dwr.engine.setPreHook(function() {
var disabledZone = dwr.util.byId('disabledZone');
if (!disabledZone) {
disabledZone = document.createElement('div');
disabledZone.setAttribute('id', 'disabledZone');
disabledZone.style.position = "absolute";
disabledZone.style.zIndex = "1000";
disabledZone.style.left = "-400px";
disabledZone.style.top = "0px";
disabledZone.style.width = "100%";
disabledZone.style.height = "100%";
document.body.appendChild(disabledZone);
var messageZone = document.createElement('div');
messageZone.setAttribute('id', 'messageZone');
messageZone.style.position = "absolute";
messageZone.style.top = "0px";
messageZone.style.right = "0px";
messageZone.style.background = "blue";
messageZone.style.color = "red";
messageZone.style.fontFamily = "Arial,Helvetica,sans-serif";
messageZone.style.padding = "4px";
disabledZone.appendChild(messageZone);
var text = document.createTextNode(loadingMessage);
messageZone.appendChild(text);
dwr.util._disabledZoneUseCount = 1;
}
else {
dwr.util.byId('messageZone').innerHTML = loadingMessage;
disabledZone.style.visibility = 'visible';
dwr.util._disabledZoneUseCount++;
}
});
dwr.engine.setPostHook(function() {
dwr.util._disabledZoneUseCount--;
if (dwr.util._disabledZoneUseCount == 0) {
dwr.util.byId('disabledZone').style.visibility = 'hidden';
}
});
}
</script>
</head>
<body>
你的用户名:<br/>
<input type="text" id="text_id" onchange="getuserinfor();"/>
返回的结果:
<span id="result"></span>
</body>
</html>
--------------------------------
package cn.lh.dwr;
public class Loading {
public String getUser(String user){
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return "hello "+user+"当前服务器时间:"+System.currentTimeMillis() ;
}
}
----------------------------------------------
<?xml version="1.0" encoding="UTF-8"?>
<web-app 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 -->
<servlet>
<servlet-name>dwr-invoker</servlet-name>
<servlet-class>org.directwebremoting.servlet.DwrServlet</servlet-class>
<!-- This should NEVER be present in live -->
<init-param>
<param-name>debug</param-name>
<param-value>true</param-value>
</init-param>
<!-- Remove this unless you want to use active reverse ajax -->
<init-param>
<param-name>activeReverseAjaxEnabled</param-name>
<param-value>true</param-value>
</init-param>
<!-- By default DWR creates application scope objects when they are first
used. This creates them when the app-server is started -->
<init-param>
<param-name>initApplicationScopeCreatorsAtStartup</param-name>
<param-value>true</param-value>
</init-param>
<!-- This enables full streaming mode. It's probably better to leave this
out if you are running across the internet -->
<init-param>
<param-name>maxWaitAfterWrite</param-name>
<param-value>-1</param-value>
</init-param>
<!--
For more information on these parameters, see:
- http://getahead.org/dwr/server/servlet
- http://getahead.org/dwr/reverse-ajax/configuration
-->
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>dwr-invoker</servlet-name>
<url-pattern>/dwr/*</url-pattern>
</servlet-mapping>
<!-- /dwr -->
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
分享到:
- 2008-11-27 01:53
- 浏览 1364
- 评论(1)
- 论坛回复 / 浏览 (0 / 2689)
- 查看更多
相关推荐
总的来说,"学习dwr的一个例子"这个压缩包提供了一个实战平台,帮助初学者理解DWR的使用方法和它在实际项目中的应用,通过学习和研究这个例子,你将能够熟练地将DWR集成到你的Web应用中,提升Web应用的交互性和性能...
在这个名为“dwr例子”的压缩包中,包含了一个名为“dwrdemo1”的示例项目。这个项目可能是一个简单的DWR应用,用于展示如何配置和使用DWR框架。下面,我们将详细讨论DWR的关键概念和使用方法。 1. **DWR配置**: ...
通过"TestDWR"这个例子,你可以学习如何设置DWR的基本环境,编写可远程调用的Java类,以及在前端使用DWR提供的JavaScript API进行交互。这是一个很好的起点,可以帮助你理解DWR的工作原理,并逐步掌握其在实际项目中...
dwr技术,怎样配置参照网上,这里提供前台页面和dwr配置文件。这里返回的是list数组和对象等,及怎样在页面进行展现。如果你没有用到spring ,则在dwr配置文件中creator="spring" 该为其他的生成方式。
在这个"模拟DWR写的小例子"中,我们将探讨DWR的基本原理、核心功能以及如何通过一个简单的实例来理解和应用DWR。 DWR的核心思想是提供了一种安全、高效的方法,使得JavaScript可以调用服务器上的Java方法,就像是...
在这个"第一个DWR HelloWorld例子"中,我们将深入理解DWR的基本原理和操作流程,通过实践来学习如何搭建一个简单的DWR应用。 1. **DWR的基本概念** DWR的核心思想是创建一个安全的、高效的、易于使用的AJAX框架。...
这个"DWR小例子_DEMO"是帮助开发者理解并快速上手DWR的一个实践项目,其中包含了说明文件和必要的代码示例。 DWR的核心功能是允许前端JavaScript直接调用后端Java方法,仿佛它们是在同一环境中运行一样,消除了传统...
这个“一个DWR最简单的例子”为我们提供了一个直观的学习DWR如何工作的起点。 首先,DWR的核心概念是远程方法调用(Remote Method Invocation, RMI)。在传统的Web应用中,JavaScript主要处理前端交互,而服务器端...
这个"简单例子"是为初学者准备的,旨在快速理解DWR的基本工作原理和使用方法。 **一、DWR基础** 1. **安装与配置** 在开始DWR的使用之前,需要将其添加到项目依赖中,通常通过Maven或Gradle来管理。配置DWR的核心...
在创建一个DWR反推例子时,你需要遵循以下步骤: 1. **配置DWR**:在你的项目中,你需要创建一个名为`dwr.xml`的配置文件,用于定义DWR允许暴露给JavaScript的Java类和方法。例如,你可以将一个名为`MyService`的类...
标题"Dwr最简单小例子"指的是一个简化的DWR教程或示例项目,旨在帮助初学者快速理解和应用DWR。相比于官方文档可能涉及的复杂概念和配置,这个小例子以直观易懂的方式呈现了DWR的基本工作流程。 描述中提到"官网的...
总结来说,"dwr+springJdbc例子"展示了如何利用DWR实现实时的前后端交互,Spring提供依赖注入和数据访问抽象,而JDBC则负责与数据库的底层通信。这样的组合使得开发高效、灵活且易于维护的Web应用成为可能。理解并...
在“dwr2.0最简单例子实用亲测试”中,我们可以预期这是一个关于如何使用DWR 2.0版本的入门教程,包含了实际可运行的示例代码。下面将详细介绍DWR的基本概念和在这个实例中可能涉及的关键知识点: 1. **DWR的核心...
在这个"网页聊天例子"中,我们将深入理解DWR如何用于创建一个实时的在线聊天应用。 1. **DWR基础** DWR的核心功能是提供了一种安全、高效的机制,使得JavaScript可以调用服务器上的Java方法。它通过在服务器端部署...
这个"免积分"的例子可能是为了帮助开发者理解如何在DWR框架下实现实时的数据推送,而无需通过复杂的积分系统或者其他权限验证。这种推送技术在Web应用中非常有用,可以用来更新用户界面而无需手动刷新页面。 首先,...
下面我们将深入探讨DWR的工作原理、配置过程以及如何创建一个简单的测试例子。 1. DWR的工作原理: DWR的核心在于它提供了一种安全的、跨域的通信方式。它通过JavaScript接口(JSR-269或JSR-173注解)动态生成...
当用户访问这个页面时,DWR会自动调用`MyService.sayHello("John")`,并将返回的结果("Hello, John")通过回调函数显示出来。这就是DWR基本的Ajax通信过程。 **6. 错误处理和优化** 在实际应用中,你还需要考虑...
DWR(Direct Web Remoting)是一个开源的Java库,它允许Web应用程序在客户端JavaScript和服务器端Java之间进行双向通信,从而实现动态、实时的Web应用交互。DWR简化了Ajax开发,使得开发者可以轻松地调用服务器上的...
DWR提供了一个内置的调试工具——DWR Reverse Ajax Console,它可以帮助开发者查看和测试远程调用,便于调试和问题定位。 通过以上知识点,我们可以了解到DWR如何在Web应用程序中实现前后端的无缝交互。不过,实际...
**DWR(Direct Web Remoting)实用案例** DWR 是一个开源 Java 库,它允许在浏览器和服务器之间进行实时的、双向的通信...这个例子不仅适用于初学者,也是有经验的开发者了解 DWR 最新特性和最佳实践的一个宝贵资源。