DWR介绍和使用

DWR工作原理

        DWR(Direct Web Remoting)是一个用于改善web页面与java类交互的远程服务Ajax开源框架,可以帮助开发人员开发包含AJAX技术的网站。用可以理解的语言来讲就是:DWR包含一个java库,以及一套javascript,使得我们可以用一种非常简单的方式,在页面上使用javascript直接调用后台的java对象。

DWR架构简易图

DWR实例:

第一步:修改web.xml文件

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

第二步:在配置dwr,即在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 creator="new" javascript="test1">
      <param name="class" value="com.bjsxt.dwr.Test1"/>
    </create>
  </allow>
</dwr>

第三步:JavaBean源代码

package com.bjsxt.dwr;

public class Test1 {

	public String sayHello(String name){
		return "你好,"+name;
	}

}

第四步:jsp代码

<%@ page language="java" contentType="text/html; charset=GB18030"
    pageEncoding="GB18030"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GB18030">
<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/test1.js"></script>
<title>Insert title here</title>
<script type="text/javascript">
function sayHello(){
	test1.sayHello("李四ddd",
		function(data){
			alert(data);
		}
	);
}
</script>
</head>
<body>
<a href="#" οnclick="sayHello()">Test1</a>
</body>
</html>
注:
<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/test1.js"></script>//实际上这个文件并不存在,这是由dwr在运行的时候动态生成的!
DWR参数传递:

传递参数:调用的方法有参数,将参数放在最前面

处理返回值:定义一个函数来处理返回值,这个函数有一个参数,就是JavaBean方法的返回值

DWR常用函数:

 设置异步/同步模式

 默认情况下,DWR以异步的方式跟服务器通信,即可以同时向服务器发送请求,如果想要改为同步的方式,可以调用:dwr.engine.setAsync(false);

  获得对某个页面元素对象的引用

 $(“元素的ID或名称”)

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值