首页 > 代码库 > dwr框架异步调用简单小例

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=http://www.mamicode.com/"com.tgb.dwr.DwrTest"/>>


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

<script type="text/javascript" src=http://www.mamicode.com/"dwr/engine.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方法的功能,真心赶脚不错,虽然自己可以写异步请求,但是如果配置一下就可以使用,谁还会去费那些力气。赞一个吧。