Dwr的简单介绍

DWR是一个基于Ajax的Java开源库,允许在浏览器中的JavaScript代码调用Web服务器上的Java代码,实现局部刷新等功能。本文介绍了DWR的基本原理及配置步骤。
转自[url]http://767045988.iteye.com/blog/777014[/url]

Dwr的简单介绍:

DWR 是一个可以允许你去创建AJAX WEB 站点的JAVA 开源库。它可以让你在浏览器中的Javascript 代码调用Web 服务器上的Java 代码,就像在Java 代码就在浏览器中一样。



DWR 包含2 个主要部分:

1>.一个运行在服务器端的Java Servlet,它处理请求并且向浏览器发回响应。

2>. 运行在浏览器端的JavaScript,它发送请求而且还能动态更新网页



Ajax与Dwr之间有什么关系?

1.Ajax是可以说是一种创建交互式网页应用的网页开发技术,实现局部刷新等功能,采用客户端脚本与 Web 服务器交换数据。



1. Dwr是一种框架,并且它是基于Ajax的基础之上,所以Ajax的功能Dwr也具有了,能够在javascript直接调用java方法,实现局部刷新,也可以说Dwr是对Ajax的Java封装。



<convert converter="bean" match="包名.类名(这里指的是javabean类)"> </convert>

这句话是把javaBean给转换为javascript能识别的对象。



<signatures>

<![CDATA[

import java.util.List;

import 包名.类名(这里是指暴露给javascript的类,即第一个类);

import 包名.类名(这里是指返回给javascript的类,即第二个类);

第一个类名.传输list中含对象的方法名(List<第二个类名>);
第一个类名.传输map中含对象的方法名(Map<String,第二个类名>);

]]>

</signatures>

这个配置是为了能让javaBean能够运行.



<include method="方法名"/> 这个方法放在dwr.xml创建的对象下面,如果你想要哪个方法运行,method里面就写这个对象里面的那个方法的名字,在运行的时候就除了这个方法,其余的方法都不能运行.

< exclude method=”方法名”/> 这个方法和<include method=”方法名”>的功能恰恰相反,就是除了这个方法不能运行之外,其余的都能运行.

******在同一个方法里面,include和exclude是不能同时包含和排除同一个方法的,因为这个方法不知道要执行哪一个方法,也就是传说中的不兼容.

在dwr.xml生成对象是用new来生成对象的,而dwr则是调用默认的构造函数(无任何参数)来生成对象的,如果在javaBean里面生成一个有参数的构造方法的话,dwr就会报错,所以,在javaBean里面最好是生成一个空构造方法。



这里的creator属性被设置为值new,这意味着DWR应当调用类的默认构造函数(无任何参数)来获得实例


****************************Dwr2.0****ajax框架**************************



Dwr→divect web remote :直接远程方法调用

1. 导入jar包(dwr.jar)

2. 配置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>

3. 建立dwr.xml文件,web.xml同级目录(web_inf)目录下面建立。

dwr.xml中的内容:

<!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 1.0//EN"

"http://www.getahead.ltd.uk/dwr/dwr10.dtd">

<dwr>

<allow>

<create creator="new" javascript="随便取个名字">

<param name="class" value="包名.类名" />

</create>

</allow>

</dwr>

4.在head之间导入js

<script type='text/javascript' src='dwr/interface/在dwr.xml随便取的那个名字.js'></script>

<script type='text/javascript' src='dwr/engine.js'></script>

<script type='text/javascript' src='dwr/util.js'></script>
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值