什么是DWR(Direct Web Remote)?
DWR是一种AJAX解决方案!
DWR包括一个java库,以及一套javascript,使得我们可以用一种非常简单的方式,在页面上使用javascript直接调用后台的java对象!
DWR架构
DWR的javascript库包括几个部分:dwr的javascript引擎(即对AJAX调用的封装)、dwr提供的一些非常有用的辅助javascript函数库、以及dwr自动帮我们生成的专门用于调用后台JavaBean方法的javascript库!
Dwr在运行的时候,动态生成一个javascript库,这个库是对后台javabean调用的封装,我们可以直接使用这个库来实现直接调用JavaBean的目的!
注意:是在运行的时候动态生成!
下面我们来看看如何安装和使用(基于DWR2.x版本):
如何下载、安装与使用?
官方网址: http://getahead.org/dwr
1、 下载dwr.jar,将其加入web-inf/lib目录
2、 修改web.xml文件,添加DWRServlet的映射
<?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">
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<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>
</web-app>
3、 配置dwr,即在WEB-INF目录下,添加dwr.xml文件,让dwr知道在运行的时候应该给哪些JavaBean生成相应的javascript库!
<?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>
这个配置的意思是,要创建的是Test1对象的javascript库,而且这个库的名字叫test1,同时,这也是我们在JSP页面上调用这个对象的时候所使用的名称,请看下面的JavaBean代码和JSP实例:
4、下面是Test1这个JavaBean的源代码:
package com.bjsxt.dwr;
public class Test1 {
public String sayHello(String name){
return "你好,"+name;
}
}
5、在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="#" onclick="sayHello()">Test1</a>
</body>
</html>
让我们简单看一下这个JSP文件:首先引入DWR中的两个核心javascript库:engine.js和util.js,它们分别是dwr中的核心引擎库和辅助工具函数库!
第三个引入的dwr/interface/test1.js,实际上这个文件并不存在,这是由dwr在运行的时候动态生成的!test1这个名称,跟dwr.xml文件中配置的对应对象的javascript属性一致!
而且,我们在使用的时候,直接使用test1这个名称,作为这个对象的引用。直接调用这个对象的方法:sayHello,这个方法的名称必须与JavaBean中的方法名称一致!
sayHello方法有一个参数,同时返回一个值。我们可以直接传递参数,同时指定一个javascript函数来处理这个返回值(如上例所示)。
如何传递参数
如果要调用的方法有参数,则将参数放在前面
如何处理返回值
定义一个函数来处理返回值,这个函数有一个参数,就是JavaBean方法的返回值
DWR Javascript库中常用函数的使用
设置异步/同步模式
默认情况下,DWR以异步的方式跟服务器通信,即可以同时向服务器发送请求,如果想要改为同步的方式,可以调用:dwr.engine.setAsync(false);
获得对某个页面元素对象的引用
$(“元素的ID或名称”)
- 大小: 14.5 KB
分享到:
相关推荐
详解DWR连接池详解DWR连接池详解DWR连接池详解DWR连接池详解DWR连接池详解DWR连接池
DWR详解.doc,DWR详解.doc,DWR详解.doc
比较全面的介绍了dwr在各方面的应用,简单入手!从参数配置开始教你!由浅到深让你成为一个dwr高手!
DWR配置文件详解 DWR配置 DWR配置文件
DWR入门教程 DWR使用步骤详解DWR使用步骤详解DWR入门教程
该教程是学习ajax框架的标准参考书籍,长期以来帮助了数以万计的初学者。
dwr配置文件详解 dwr.xml配置文件说明,非常详细的配置手册
DWR案例DWR学习案例详解(数据库)DWR学习案例详解(数据库)DWR学习案例详解(数据库)
java 技术分享:Dwr配置详解
ajax框架:dwr》实战(包括整合) DWR 快速上手 DWR 综合实践 DWR 详解 DWR +spirng+hibernate 实战
DWR详解,希望能用上!!!
DWR使用详解 本文只在使用层面上介绍DWR,并不涉更多的技术与设计,其目的是让初学者能够很快的学会各种java方法在javascript中是如何调用的。
DWR配置详解,轻松配置DWR,学会DWR不是梦
dwr基础介绍,其中描述介绍了DWR的原理和使用方法,是入门初学者的很好的参考资料
7.DWR快速上手 ......................................................................................................................................................................3 1.DWR 简介 . . . ....
---dwr 配置文件全面讲解------
不适合作为教程却是初学者不可或缺的学习文档,内详细的解说了dwr的配置及页面使用
DWR开发步骤与配置文件详解,DWR零基础学起到熟练实用。
allow段落里面定义的试DWR可以创建和转换的类。 二:Creators dwr.xml文件中的create元素的结构如下: <allow> <create creator="..." javascript="..." scope="..."> <param name="..." value="..."/> ...