dwr框架异步调用简单小例

       DWR(Direct Web Remoting)是一个用于改善web页面与Java类交互的远程服务器端Ajax开源框架。可以轻松实现用js直接调用java方法。

       通过一个小例子来演示一个dwr的基本使用:

       ①. 首先肯定要创建一个web project的,然后拷贝dwr.jar到WEB-INF\lib目录下

       ②. 修改web.xml文件,添加dwr servlet配置

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

       ③. 写自己的java类

package com.tgb.dwr;

/**
 * dwr使用测试
 * @author Admin
 *
 */
public class DwrTest {

	public String hello(){
		return "Hello!";
	}

}

       ④. 在WEB-INF目录下创建dwr.xml配置文件

<?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>
  	<!-- 一个实例对应一个create节点 -->
    <create creator="new" javascript="T1">
      <param name="class" value="com.tgb.dwr.DwrTest"/>
    </create>
  </allow>
</dwr>

       ⑤. 在jsp中,添加js文件的引用

<script type="text/javascript" src="dwr/engine.js"></script>
<script type="text/javascript" src="dwr/util.js"></script>
<script type="text/javascript" src="dwr/interface/T1.js"></script>

       引用的第三个js文件T1.js,文件名需跟dwr.xml配置文件中的javascript属性值相同。

       ⑥. 在jsp中写调用java方法的js代码

<script type="text/javascript">
function test1(){

	T1.hello(
		function(data){
			alert(data);
		}
	);
}
</script>

      上面的js代码,T1是跟dwr.xml配置文件中定义的javascript属性值相同。hello测试跟java类中的方法名一样,而且区分大小写。大小写不一致,控制台会提示:has
no method 'xxx'的错误。

       最后给一个测试的效果吧:

       dwr提供js直接调用java方法的功能,真心赶脚不错,虽然自己可以写异步请求,但是如果配置一下就可以使用,谁还会去费那些力气。赞一个吧。

时间: 2024-09-12 06:52:00

dwr框架异步调用简单小例的相关文章

关于webservice的异步调用简单实例

web|异步 关于webservice的异步调用简单实例无论在任何情况下,被调用方的代码无论是被异步调用还是同步调用的情况下,被调用方的代码都是一样的, 下面,我们就以异步调用一个webservice 为例作说明.这是一个webservice <WebMethod(Description:="试验")> _ Public Function delCurTable(ByVal tbName As String) As Boolean Try Return True Catch

开发自己的Web服务处理程序(以支持Ajax框架异步调用Web服务方法)

当你添加Asp.net AJAX功能到你的Web程序的时候,你需要在Web.config中做一些改变,需要你显式地移除默认的ASMX处理程序并且添加asp.net ajax框架自己的脚本处理器来作为ASMX处理程序.在上一篇异步调用Web服务方法中,我们谈论过,ajax框架的asmx(ScriptHandler)是不支持异步调用Web服务方法的,所以为了让asp.netajax支持异步Web方法调用,我们需要避开该处理器,以提供自定义的处理器来取代它. Asp.netAJAX框架的ASMX处理器

关于webservice的异步调用实例

web|异步 关于webservice的异步调用简单实例无论在任何情况下,被调用方的代码无论是被异步调用还是同步调用的情况下,被调用方的代码都是一样的, 下面,我们就以异步调用一个webservice 为例作说明.这是一个webservice     _    Public Function delCurTable(ByVal tbName As String) As Boolean        Try            Return True        Catch ex As Exc

写个JavaScript异步调用框架(Part 6

我们用了5篇文章来讨论如何编写一个JavaScript异步调用框架(问题 & 场景.用例设计.代码实现.链式调用.链式实现),现在是时候让我们看一下在各种常见开发情景中如何使用它了. 封装Ajax 设计Async.Operation的最初目的就是解决Ajax调用需要传递callback参数的问题,为此我们先把Ajax请求封装为Async.Operation.我在这里使用的是jQuery,当然无论你用什么基础库,在使用Async.Operation时都可以做这种简单的封装. var Ajax =

写个JavaScript异步调用框架(Part 4

我们已经实现了一个简单的异步调用框架,然而还有一些美中不足,那就是顺序执行的异步函数需要用嵌套的方式来声明. 现实开发中,要按顺序执行一系列的同步异步操作又是很常见的.还是用百度Hi网页版中的例子,我们先要异步获取联系人列表,然后再异步获取每一个联系人的具体信息,而且后者是分页获取的,每次请求发送10个联系人的名称然后取回对应的具体信息.这就是多个需要顺序执行的异步请求. 为此,我们需要设计一种新的操作方式来优化代码可读性,让顺序异步操作代码看起来和传统的顺序同步操作代码一样优雅. 传统做法 大

为Windows应用创建简单的异步调用模式

简介 最近我编写了很多智能客户端应用,总结了一些能够使应用程序在后台调用Web Service时不冻结前台界面的异步调用方法.虽然当前.NET Framework本身已经提供了异步调 用的机制,但我发现在Windows应用中这一机制比较难于把握,因为这时你需要正确的控制用 户界面线程处理. 在这篇文章中,我将教给您一种在Windows应用程序中实现异步调 用Web服务的简单方法,通过这一方法,您不用再考虑后台线程与前台界面线程的交互关系了 . 服务代理 Visual Studio .NET会生成

写个JavaScript异步调用框架(Part 2

在上一篇文章里说到,我们要设计一个异步调用框架,最好能够统一同步异步调用的接口,同时具体调用顺序与实现方式无关.那么我们现在就来设计这样一个框架的用例. 传递回调 我们首先要考虑的一个问题是,如何传递回调入口.在最传统的XHR调用当中,回调函数会被作为最后一个参数传递给异步函数: function asyncOperation(argument, callback) 在参数相当多的时候,我们可以把参数放到一个JSON里面,这样参数就如同具名参数一样,可以通过参数名选择性的传递参数,不传递的参数相

DWR框架简单实例 (http://my.oschina.net/u/1790925/blog/366346)

文章转自<http://my.oschina.net/u/1790925/blog/366346>,感谢大牛分享! DWR框架简单实例    1.从DWR官网下载最新版本的jar包,地址:http://directwebremoting.org/dwr/downloads/index.html 2.将jar包放入WEB-INF的lib文件夹下.同时,dwr依赖于commons-logging.jar这个包,所以必须将这个jar包也放入到WEB-INF的lib文件夹下. 3.配置dwr的环境:

JavaScript 异步调用框架 (Part 4 - 链式调用)_javascript技巧

现实开发中,要按顺序执行一系列的同步异步操作又是很常见的.还是用百度Hi网页版中的例子,我们先要异步获取联系人列表,然后再异步获取每一个联系人的具体信息,而且后者是分页获取的,每次请求发送10个联系人的名称然后取回对应的具体信息.这就是多个需要顺序执行的异步请求. 为此,我们需要设计一种新的操作方式来优化代码可读性,让顺序异步操作代码看起来和传统的顺序同步操作代码一样优雅. 传统做法 大多数程序员都能够很好的理解顺序执行的代码,例如这样子的: 复制代码 代码如下: var firstResult