dwr使用步骤
一:基本步骤:
1.为工程添加jar包:dwr.jar common-logging.jar
如果本工程使用struts,则struts内置了common-logging.jar,不需要重复引入
2.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>
注意:
<init-param>
<param-name>debug</param-name>
<param-value>true</param-value>
</init-param>
该配置项是开启dwr控制台的开关,如果该项为false,则dwr控制台失效.
3.在/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.ltd.uk/dwr/dwr20.dtd">
<dwr>
<allow>
<create creator="new" javascript="test">
<param name="class" value="test.TestDao" />
</create>
<!-- 如果需要实体类,则需要配置为如下 match:类路径 converter="bean":固定参数 -->
<convert match="bean.*" converter="bean"></convert>
</allow>
</dwr>
注意:creator="new" 代表本类的创建方式
javascript="test" 代表本类在javascript中的名称
name="class" 代表把某个类配置到dwr中 value="":代表类路径
4.建立相关的类:
package test;
public class TestDao {
public void hello(){
System.out.println("Hello JavaScript . . .");
}
public void sayHello(String name){
System.out.println("Hello " + name);
}
public int add(int a , int b){
return a+b;
}
}
5.把工程部署到tomcat中,通过下列地址测试dwr环境是否完成:
http://ip:port/appName/dwr
如果看到控制台,点击进入,测试方法是否可以正常运行
6.在需要调用dwr相关资源的页面中,按照控制台的提示cope资源:
<script type='text/javascript' src='${pageContext.request.contextPath }/dwr/interface/test.js'></script>
<script type='text/javascript' src='${pageContext.request.contextPath }/dwr/engine.js'></script>
7.调用dwr资源的脚本写法:
dwr名称.方法名称(参数... ,{
callback:function(返回值){
处理返回的逻辑块
}
})
例如:
test.hello();
test.sayHello("诡异小孩");
test.add(10,10,{
callback:function(data){
alert(data);
}
});
test.add(10,10,callback);
function callback(data){
alert(data);
}
二:基本应用:
返回数据解析:
1.简单对象:
test.getTest({
callback:function(data){
alert(data.id+":"+data.name+":"+data.age+":"+data.sex+":"+data.birthday);
}
});
2.简单列表:
test.queryForList({
callback:function(data){
for(var i=0;i<data.length;i++){
alert(data[i]);
}
}
});
3.对象列表:
test.queryAll({
callback:function(data){
for(var i=0;i<data.length;i++){
alert(data[i].id+":"+data[i].name+":"+data[i].age+":"+data[i].sex+":"+data[i].birthday);
}
}
});
4.向后台传对象:
var myObject={'id':108,'name':'小
白','age':24,'sex':'女','birthday':'1989-11-01'};
test.setObject(myObject);
参数解析:
preHook:交互结束之前执行
callback:交互结束之后返回
postHook:在返回结束之后执行
timeout:设置响应超时时间
errorHandler:设置异常捕获
test.query({
callback:function(data){alert("处理返回"+data);},
preHook:function(){alert("返回之前...");},
timeout:4000,
errorHandler:function(msg){alert("如果响应时间超过timeout的值,则服务器超时...");}
});
dwr使用步骤的更多相关文章
- DWR入门教程
DWR(Direct Web Remoting)是一个WEB远程调用框架.利用这个框架可以让AJAX开发变得很简单.利用DWR可以在客户端利用JavaScript直接调用服务端的Java方法并返回值给 ...
- DWR入门的例子(一个)
DWR(Direct Web Remoting)是WEB远程调用框架.使用这种框架使AJAX发展至今已成为非常easy.使用DWR能client利用JavaScript直接调用服务端的Java方法并返 ...
- DWR组件——基于远程过程调用实现Ajax
转载请注明原文地址:http://www.cnblogs.com/ygj0930/p/6686115.html 一:DWR的用途 DWR(Direct Web Remoting)是一个Web远程调用 ...
- [JavaEE] DWR入门教程
DWR(Direct Web Remoting)是一个WEB远程调用框架.利用这个框架可以让AJAX开发变得很简单.利用DWR可以在客户端利用JavaScript直接调用服务端的Java方法并返回值给 ...
- DWR实现扫一扫登录功能
前言 <DWR实现后台推送消息到Web页面>一文中已对DWR作了简介,并列出了集成步骤.本文中再一次使用到DWR,用以实现扫一扫登录功能. 业务场景 web端首页点击"登陆&qu ...
- 基于注解的DWR使用
dwr3.0支持使用注解,如果不喜欢配置dwr.xml文件,注解是个不错的方法,简单快捷. 步骤如下: 1.配置web.xml文件,需要在DwrServlet里加classes初始化参数: <i ...
- 有关dwr推送的笔记
想做一个web推送相关的东东,昨天搞了一天,终于把这些杂乱的配制弄清了,今天写出来方便以后记住,也方便大家看一下吧 1:引入dwr包,我用的是maven <dependency> < ...
- DWR基本配置
DWR——Direct Web Remoter Servlet 供给那些想要以一种简单的方式使用Ajax和XMLHttpRequest的开发者.它具有一套JavaScript功能集,它们把从HTML页 ...
- 采用DWR、maven保存数据到数据库
一.原理: Ajax是时下比较流行的一种web界面设计新思路,其核心思想是从浏览器获取XMLHttp对象与服务器端进行交互. DWR(Direct Web Remoting)就是实现了这种Ajax技术 ...
随机推荐
- # 20145210 《Java程序设计》第05周学习总结
教材学习内容总结 第八章 异常处理 8.1语法与继承架构 •使用 try.catch •Java中所有信息都会被打包为对象,如果愿意,可以尝试(try)捕捉(catch)代表错误的对象后做一些处理 • ...
- 看了这篇文章,Java编程速度我都惊呆了
熟记于心,打遍天下,(开始装了) 保存 Ctrl+s (这个就不用解释了吧!!!!) 注释代码 Ctrl+/ 取消注释 Ctrl+/代码辅助 Alt+/ 快速修复 ...
- Android Focusable in Touch Mode 介绍
在学习 ListView 源码时,发现了 Focusable in Touch Mode 这个概念,注释的意思是: whether this view can receive focus while ...
- Codechef2015 May - Chef and Strings (后缀自动机)
用后缀自动机统计出出现1~n次的串的数量f[i] 对于ans[k]=sigma(f[i]*C(i,k)) i>=k ; mo=; ..maxn] of dword; nt:..maxn,'a'. ...
- Cannot retrieve definition for form bean null on action错误
Cannot retrieve definition for form bean null on action错误 1. 如果jsp页面中要用到<html:form action="& ...
- C# 控件不刷新问题
/********************************************************************** * C# 控件不刷新问题 * 说明: * 当网络连接出问 ...
- LeetCode Maximum Subarray (最大子段和)
题意: 给一个序列,求至少含一个元素的最大子段和? 思路: 跟求普通的最大子段和差不多,只不过需要注意一下顺序.由于至少需要一个元素,所以先将ans=nums[0].接下来可以用sum求和了,如果小于 ...
- 长方形—C++
编程之美一道简单的热身题,活生生的组合数学例子啊. 题意如下: 在 N 条水平线与 M 条竖直线构成的网格中,放 K 枚石子,每个石子都只能放在网格的交叉点上.问在最优的摆放方式下,最多能找到多少四边 ...
- HttpResponse的Close和End 区别
转载自:http://blog.sina.com.cn/s/blog_702c390c0100mlhi.html 最近启用了IIS上的压缩功能,但是测试系统上某模块变得不可用了.该模块采用AJAX技术 ...
- meta 标签 关键字 用处
您的个人网站即使做得再精彩,在“浩瀚如海”的网络空间中,也如一叶扁舟不易为人发现,如何推广个人网站, 人们首先想到的方法无外乎以下几种: l 在搜索引擎中登录自己的个人网站 l 在知名网站加入你个人网 ...