当前位置:首页 > 代码 > 正文

dwr源代码(dw编程代码大全)

admin 发布:2022-12-20 00:18 132


本篇文章给大家谈谈dwr源代码,以及dw编程代码大全对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

什么是DWR?

DWR 是什么?

DWR是Direct Web Remoting 的缩写。

DWR 是一个开放源码的使用 Apache 许可协议的解决方案,它包含服务器端 Java 库、一个 DWR servlet 以及 JavaScript 库。虽然 DWR 不是 Java 平台上唯一可用的 Ajax-RPC 工具包,但是它是最成熟的,而且提供了许多有用的功能。

从最简单的角度来说,DWR 是一个引擎,可以把服务器端 Java 对象的方法公开给 JavaScript 代码。使用 DWR 可以有效地从应用程序代码中把 Ajax 的全部请求-响应循环消除掉。这意味着客户端代码再也不需要直接处理 XMLHttpRequest 对象或者服务器的响应。不再需要编写对象的序列化代码或者使用第三方工具才能把对象变成 XML。甚至不再需要编写 servlet 代码把 Ajax 请求调整成对 Java 域对象的调用。

DWR 是作为 Web 应用程序中的 servlet 部署的。把它看作一个黑盒子,这个 servlet 有两个主要作用:首先,对于公开的每个类,DWR 动态地生成包含在 Web 页面中的 JavaScript。生成的 JavaScript 包含存根函数,代表 Java 类上的对应方法并在幕后执行 XMLHttpRequest。这些请求被发送给 DWR,这时它的第二个作用就是把请求翻译成服务器端 Java 对象上的方法调用并把方法的返回值放在 servlet 响应中发送回客户端,编码成 JavaScript。DWR 还提供了帮助执行常见的用户界面任务的 JavaScript 工具函数。

DWR 是什么?

DWR(Direct Web Remoting)是一个开源的类库,可以帮助开发人员开发包含AJAX技术的网站.它可以允许在浏览器里的代码使用运行在WEB服务器上的JAVA函数,就像它就在浏览器里一样.

它包含两个主要的部分:允许JavaScript从WEB服务器上一个遵循了AJAX原则的Servlet(小应用程序)中获取数据.另外一方面一个JavaScript库可以帮助网站开发人员轻松地利用获取的数据来动态改变网页的内容.

DWR采取了一个类似AJAX的新方法来动态生成基于JAVA类的JavaScript代码.这样WEB开发人员就可以在JavaScript里使用Java代码就像它们是浏览器的本地代码(客户端代码)一样;但是Java代码运行在WEB服务器端而且可以自由访问WEB 服务器的资源.出于安全的理由,WEB开发者必须适当地配置哪些Java类可以安全的被外部使用.

这个从JAVA到JavaScript的远程功能方法给DWR的用户带来非常像传统的RPC机制,就像RMI或者SOAP一样,而且拥有运行在WEB上但是不需要浏览器插件的好处.

DWR不认为浏览器/WEB服务器协议是重要的,而更乐于保证编程界面的简单自然.对此最大的挑战就是把AJAX的异步特性和正常JAVA方法调用的同步特性相结合.在异步模式下,结果数据在开始调用之后的一段时间之后才可以被异步访问获取到.DWR允许WEB开发人员传递一个回调函数,来异步处理Java函数调用过程

这个是我从百度下粘贴下来的,希望能帮到你

htm5怎么获取dwr返回的数据

你把dwr官方包里的dwr.war跑在tomcat下

然后运行以下代码

Java代码

package com.zte.httpclient.test;

import java.io.FileInputStream;

import java.io.IOException;

import org.apache.commons.httpclient.*;

import org.apache.commons.httpclient.methods.PostMethod;

public class HttpClientGetDWRData {

/**

* @param args

* @throws IOException

* @throws HttpException

*/

public static void main(String[] args) throws HttpException, IOException {

// TODO Auto-generated method stub

HttpClient client = new HttpClient();

PostMethod method = new PostMethod("");

method.setRequestBody(new FileInputStream("postdata.txt"));

int statusCode = client.executeMethod(method);

System.out.println("得到的dwr响应信息如下:");

System.out.println(method.getResponseBodyAsString());

}

}

postdata.txt文件内容如下:

Java代码

callCount=1

page=/dwr/simpletext/index.html

httpSessionId=

scriptSessionId=

c0-scriptName=Demo

c0-methodName=sayHello

c0-id=0

c0-param0=string:测试httpclient如何获取dwr的数据

batchId=0

得到的打印信息就是

得到的dwr响应信息如下:

throw 'allowScriptTagRemoting is false.';

//#DWR-INSERT

//#DWR-REPLY

dwr.engine._remoteHandleCallback('0','0',"Hello, \u6D4B\u8BD5httpclient\u5982\u4F55\u83B7\u53D6dwr\u7684\u6570\u636E");

"Hello, \u6D4B\u8BD5httpclient\u5982\u4F55\u83B7\u53D6dwr\u7684\u6570\u636E"这个信息就是dwr返回的数据

java语言使用dwr做文件上传并下载

dwr.xml

create javascript="fileUtils" creator="new"  

        param name="class" value="cn.xyurp.bggl.common.FileUtils"/param  

    /create

业务类

public class FileUtils {

/**

 * 文件上传

 * 

 * @return

 */

public String upload(FileTransfer fileTransfer, String fileName) {

try {

WebContext webContext = WebContextFactory.get();

// String realtivepath = webContext.getServletContext().getContextPath()

// + "/upload/";

String saveurl = webContext.getHttpServletRequest().getSession()

.getServletContext().getRealPath("/upload");

File file = new File(saveurl + "/" + fileName);

if (!file.exists()) {

file.mkdirs();

}

InputStream uploadFile = fileTransfer.getInputStream(); 

int available = uploadFile.available();

byte[] b = new byte[available];

FileOutputStream foutput = new FileOutputStream(file);

uploadFile.read(b);

foutput.write(b);

foutput.flush();

foutput.close();

uploadFile.close();

} catch (FileNotFoundException e) {

e.printStackTrace();

} catch (IOException e) {

e.printStackTrace();

} catch(Exception e){

e.printStackTrace();

}

return "";

}

}

html

// 注意 upload  只能用 dwr.util.getValue() 取值,

//  如果用 jquery $("#id") 等其他方式取的值作为参数, 上传将会上传失败

mce:script type="text/javascript" src="%=path%!--

/dwr/engine.js"

// --/mce:script

mce:script type="text/javascript" src="%=path%!--

/dwr/util.js"

// --/mce:script

mce:script type="text/javascript" src="%=path%!--

/dwr/interface/fileUtils.js"

// --/mce:script

--------------------------------

function addFile(){

        // 注意 upload  只能用 dwr.util.getValue() 取值,

         //  如果用 jquery $("#id") 等其他方式取的值作为参数, 上传将会上传失败

var uploadFile = dwr.util.getValue("uploadFile");  

 

fileUtils.upload(uploadFile,'fileName.ext',function(data){

alert(data);

});

}

input type="file" name="uploadFile" id="uploadFile"/

input type="button" class="f_btn01" onclick="addFile()" value="上传"/

关于dwr源代码和dw编程代码大全的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

版权说明:如非注明,本站文章均为 AH站长 原创,转载请注明出处和附带本文链接;

本文地址:http://ahzz.com.cn/post/31866.html


取消回复欢迎 发表评论:

分享到

温馨提示

下载成功了么?或者链接失效了?

联系我们反馈

立即下载