淘二哥女装专业导购
http://www.tao2ge.com
//arpenker@gmail.com
//http://www.jiqishu.com
2009-06-09
大概流程:1.web工程导包.2.建立javabean.3.用url检查你的类是否可用.4.在页面中引用http://localhost:8080/aaaa/dwr/这个页面里指写的js文件.再加上你的JS.再加上你的button.
这个URL是查看DWR的方法 http://localhost:8080/[YOUR-WEBAPP]/dwr/
新建WEB工程.导入DWR3.0的那个JAR包.
导入log4j所需要的包..(用DEMO里的LIB,全导进去好了.)
首先创建一个WEB应用程序工程. 接下来将dwr的包导入.
开始写个javabean吧.须有构造函数.
然后写dwr配置文件.指定三个地方.你写的类并指定它的路径.你对这个类赋于js对象的称呼.你是新建的方式. 指定该对象的生命周期.
接下来.我们在web.xml中配置servlet启动dwr工程.
我们进行测试http://localhost:8080/dwrTest/dwr/ (dwrTest是你的项目名,套上去就可以了.其它不变)
进入后发现一个链接.点击进去,看到我们写的方法.如getMyName()这个方法,那就ok了.表示我们配置和BEAN都写对了.如果没有就再检查.还有我们引用的LIB库是否OK.
然后我们进入默认的index.jsp页面.组装并调用这些已经写好的东西.
我们的可以把回调ajax写在index.jsp里.也可以把这个鬼回调写到单独的一个文件里.引入进来就可以了.
但是这个INDEX.JSP.如果要使用DWR完成回调.还需要把三个js文件导进来才行.
1.dwr/engine.js 2.dwr/util.js 3.interface/MyTest.js 这三个js文件.前两个是dwr包里的.<script type= ... src=..../>类似这样写的.
后一个是执行http://localhost:8080/dwrTest/dwr这个URL.点击上面的链接后,进入就可以看到需要引入三个URL的提示,下面显示的是可以测试的类和函数.....
2.定义一个sayHello的JS函数.这是个回调函数哦.
3.写上你的网页内容.如:显示姓名.然后触发sayHello();
发现已知产生过的错误:
1.<script language="javascript">
function sayHello(){
MyTest.getMyName(function(data){
dwr.util.setValue("demo1",data);
});
}
解惑:这段js的根本目的就是要通过sayHello这个函数产生一个回调并将结果输出到demo1这个层上.
这里产生的困惑主要有:a. function 拼写错误..呵呵..这个是个人原因吧.JS写的不够多.
b. MyTest.getMyName这是个什么东西? 这个MyTest不过是dwr.xml中那个javascript="MyTest"对它的定义.它的意思无非是说javascript调用时的对象名称.在这里指定一下.
c.function(data){
dwr.util.setValue("demo1",data);
}
这里是dwr包里定义的一个函数.它指定了把data输出到哪个标签上.当然.这个函数可以随便换的.也可以用任何JS语法表达.不一定非得吊死在DWR的的函数里.用innerHTML也可以的呀.
d.<input 里定义一个触发事件.然后由事件绑定到sayHello()函数.
2.配置文件: dwr.xml里面定义了的是什么??它和web.xml有关联吗?
a. 首先在web.xml里需要定义一个servlet用来启动一个dwr的主程序.
b.然后在dwr.xml里需要定义的是需要让dwr创建的方法和类.以及js对象该用的名称.
c.貌似还可以指定你的对象的生命周期.scope操作区域.application.
3.最后一部就是我们的BEAN了..
一定要用JAVABEAN的方式创建.很多时候我们忽视了这一块.导致程序无法正常使用.
JAVABEAN的有一个空的构造函数.这就对了.呵呵.
然后再写别的方法.
源文件
com.arpenker.Test
package com.arpenker;
public class Test {
public Test(){
}
public String getMyName(){
return "hangzhou--arpenker";
}
}
dwr.xml和web.xml放一块啊.
<?xml version="1.0" encoding="UTF-8"?>
<!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="MyTest" scope="application">
<param name="class" value="com.arpenker.Test"/>
</create>
</allow>
</dwr>
web.xml
<?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">
<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>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
index.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">
<title>DWR - Test Home</title>
<script type='text/javascript' src='/dwrTest/dwr/engine.js'></script>
<script type='text/javascript' src='/dwrTest/dwr/util.js'></script>
<script type='text/javascript' src='/dwrTest/dwr/interface/MyTest.js'></script>
<script language="javascript">
function sayHello(){
MyTest.getMyName(function(data){
dwr.util.setValue("demo1",data);
});
}
</script>
</head>
<body>
<h1>arpenker dwr3.0 helloworld 精讲.</h1>
<input type="button" value="显示姓名" onclick="sayHello()"/>
<div id="demo1" ></div>
</body>
</html>
还有几个包.dwr.jar log*****.jar把官方dwr3下载后里面有.实例里面那些包全加进来就行了.
有什么疑问?
//arpenker@gmail.com
//http://www.jiqishu.com
分享到:
相关推荐
DWR3.0是DWR的一个重要版本,它提供了许多增强的功能和改进,以提高开发者的工作效率和用户体验。 DWR的核心功能在于它提供了一种安全且高效的方式,使得JavaScript可以调用服务器端的Java方法,仿佛这些方法就在...
DWR 3.0是该技术的一个版本,提供了许多增强的功能和改进,旨在简化开发过程并提高性能。 在DWR 3.0中,有几个核心概念和技术点值得深入探讨: 1. **AJAX通信**:DWR的核心功能是通过AJAX(Asynchronous ...
在使用DWR3.0的过程中,开发者通常会遇到以下几个关键知识点: - **配置DWR**:需要在Web应用的`web.xml`文件中添加DWR的servlet配置,以启用DWR服务。 - **创建Remote Classes**:定义要在客户端使用的服务器端...
标题中的“dwr3.0.jar_ajax”暗示了这个压缩包包含了DWR3.0的核心库文件,即dwr3.0.jar。这个JAR文件是DWR的核心组件,包含了所有必需的类和资源,使得开发者可以在服务器端与JavaScript进行交互,实现异步更新和...
在这个项目中,开发者将DWR3.0与SSH2(Struts2、Spring和Hibernate2)相结合,创建了一个强大的后端控制和前端交互的解决方案。 【描述】中的“配置”部分意味着这个项目提供了如何设置和整合这些技术的详细步骤。...
DWR3.0是该框架的一个版本,提供了许多增强的功能和改进,使得开发人员可以更加便捷地构建富互联网应用程序(RIA)。 在DWR3.0中,有几个核心概念和技术点值得深入探讨: 1. **AJAX 支持**: DWR通过AJAX技术使...
在本教程中,我们将深入探讨DWR 3.0的搭建过程以及其基本概念。 ### 1. DWR 3.0 概述 DWR 3.0 是DWR项目的一个重要版本,它提供了改进的性能和更多的特性。DWR的核心理念是打破浏览器与服务器之间的障碍,使得...
2. **安装与配置DWR3.0**:安装DWR3.0通常包括添加jar文件到项目的类路径,配置web.xml文件以启用DWR服务,并在服务器端创建对应的Java接口和实现。描述中提到的“dwr3.0jar”就是这个核心库的文件,包含了DWR运行所...
在"DWR 3.0反向实例"中,我们将深入探讨这个版本的新特性、配置过程以及如何通过一个简单的Clock实现来演示其工作原理。 DWR 3.0相对于早期的2.0版本,引入了一些重要的改进,包括性能提升、错误处理机制的优化以及...
在实际开发中,DWR 3.0的使用者可以通过这个中文文档学习如何创建DWR配置文件,定义允许的Java类和方法,编写JavaScript客户端代码来调用服务器端的方法,以及如何处理返回的数据。同时,文档还会介绍如何处理错误和...
最新dwr3.0的包,有需要的朋友就下载吧
这个压缩包包含了DWR的三个关键组件:DWR3.0.jar,DWR的实例war文件,以及DWR2.0的中文说明文档。以下是关于这些组件的详细知识: 1. **DWR3.0.jar**: DWR3.0.jar是DWR框架的核心库,包含所有必需的类和接口,...
《DWR3.0实现下载》 DWR (Direct Web Remoting) 是一个开源的Java库,它允许JavaScript和服务器端的Java代码进行交互,从而实现在Web应用中进行动态的Ajax更新。在DWR 3.0版本中,开发者可以更加方便地处理文件下载...
通过解压 "dwr3.0.rar",你将获得DWR 3.0的完整源码、文档、示例以及部署所需的资源。这将帮助你深入了解DWR的工作原理,并在实际项目中快速应用。对于学习和开发基于Java的Web应用,特别是需要利用AJAX技术来提升...
通过这些资源,开发者不仅可以学习如何使用DWR3.0来创建动态、交互性强的Web应用,还能了解AJAX技术的原理和最佳实践。对于想要提升Web应用用户体验的开发者来说,DWR3.0的全部文件是一份宝贵的资料库。
**DWR3.0应用详解** DWR (Direct Web Remoting) 是一种JavaScript库,它允许Web应用程序在客户端和服务器之间进行实时通信,无需刷新页面。DWR3.0是其一个重要版本,提供了对现代浏览器的支持,包括新版的Opera,但...
DWR3.0版本是其一个重要的迭代,它引入了多项改进和新特性。在这个讨论中,我们将深入探讨DWR3.0、"noncla"组件以及它与JSF(JavaServer Faces)和Spring框架的集成。 首先,DWR3.0的主要亮点在于其增强了性能和...
通过深入学习DWR3.0,您可以掌握创建高度交互、实时更新的Web应用的技能,同时了解如何有效地利用AJAX技术提高用户界面的响应性和效率。在实践中,结合DWR的文档和社区资源,您将能够更好地理解和应用这些概念,提升...