DWR 配置

DWR的配置

首先介绍下DWR

DWR(Direct Web Remoting)是一个WEB远程调用框架.利用这个框架可以让AJAX开发变得很简单.利用DWR可以在客户端利用JavaScript直接调用服务端的Java方法并返回值给JavaScript就好像直接本地客户端调用一样(DWR根据Java类来动态生成JavaScrip代码).它的最新版本DWR0.6添加许多特性如:支持Dom Trees的自动配置,支持Spring(JavaScript远程调用spring bean),更好浏览器支持,还支持一个可选的commons-logging日记操作.

以上摘自open-open,它通过反射,将java翻译成javascript,然后利用回调机制,轻松实现了javascript调用Java代码。


其大概开发过程如下:
1.编写业务代码,该代码是和dwr无关的。
2.确认业务代码中哪些类、哪些方法是要由javascript直接访问的。
3.编写dwr组件,对步骤2的方法进行封装。
4.配置dwr组件到dwr.xml文件中,如果有必要,配置convert,进行java和javascript类型互转。
5.通过反射机制,dwr将步骤4的类转换成javascript代码,提供给前台页面调用。
5.编写网页,调用步骤5的javascript中的相关方法(间接调用服务器端的相关类的方法),执行业务逻辑,将执行结果利用回调函数返回。
6.在回调函数中,得到执行结果后,可以继续编写业务逻辑的相关javascript代码。


1、首先将dwr.jar放到应用的/WEB-INF/lib目录下 

2、配置web.xml,增加如下代码: 

   <!-- 配置dwr -->
	<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文件

<?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>
		<!-- 使用默认构造器创建类的实例 -->
                <!--javascript配置的是在js页面中可以调用的对象(userDwr) -->
                <create javascript="userDwr" creator="spring">
			<!-- beanName配置的是实现类的id -->
			<param name="beanName" value="userService"></param>
                        <!--设置可以访问的方法,即白名单 -->
                        <include method="checkUserName"/>  
                </create>
                <!--convert配置的是转换器,即将javaBean对象转换成javascript可以访问的json对象 -->
                <convert match="com.lhg.sh.bean.Page" converter="bean"></convert>
		<convert match="com.lhg.sh.pojo.Userinfo" converter="bean">
                        <!--设置不访问的对象,即黑名单 -->
                        <param name="exclude" value="dept"></param>
		</convert>
	</allow>
</dwr>
creator属性的值可以是new,struts,spring......这里采用spring框架的方式创建。因为此处是整合spring来做的,所以也可以设置成“spring”,convert元素用于数据类型转换,即java类和javascript之间相互转换,因为和前台交换的是Userinfo对象,因此需要对此使用bean转换,我们将在后面介绍这个类。javascript="userDwrr" 表示实例转换成javascript语言后以userDwr命名,前台页面可以通过代码

<script type='text/javascript' src='${ctx}/dwr/interface/userDwr.js'></script>
<script type='text/javascript' src='${ctx}/dwr/engine.js'></script>

来调用。param元素的name属性值可以是class,beanName等。

以上是DWR的配置,接着就可以使用DWR了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值