dwr學(xué)習(xí)筆記

DWR(Direct Web Remoting)是一個用于改善web頁面與Java類交互的遠(yuǎn)程服務(wù)器端Ajax開源框架,可以幫助開發(fā)人員開發(fā)包含AJAX技術(shù)的網(wǎng)站。它可以允許在瀏覽器里的代碼使用運(yùn)行在WEB服務(wù)器上的JAVA函數(shù),就像它就在瀏覽器里一樣。

從DWR官網(wǎng)下載最新版本的jar包,地址:http://directwebremoting.org/dwr/downloads/index.html

將jar包放入WEB-INF的lib文件夾下。同時,dwr依賴于commons-logging.jar這個包,所以必須將這個jar包也放入到WEB-INF的lib文件夾相愛。

首先是配置dwr的環(huán)境:

1. web.xml文件:

dwr-invoker

uk.ltd.getahead.dwr.DWRServlet

debug

true

dwr-invoker

/dwr/*

2. 從官網(wǎng)的jar.war文件中利用winRAR等軟件提取出dwr.xml文件,并將其放入到WEB-INF文件夾下。

dwr.xml是dwr的核心配置文件,主要的標(biāo)簽有:、、這三個標(biāo)簽。

標(biāo)簽是dwr中內(nèi)置的轉(zhuǎn)換器。我們也可以使用自己寫的轉(zhuǎn)換器,不過dwr提供的轉(zhuǎn)換器已經(jīng)足夠了,所以這個標(biāo)簽,一般不會自己去寫。

標(biāo)簽是將converter中定義的轉(zhuǎn)換器映射到的具體類型,如:

 


 

-->

標(biāo)簽是dwr中重要的標(biāo)簽,用來描述 java(服務(wù)器端) 與 javascript (客戶端)的交互方式。其基本格式如下:

...其中,creator和javascript是必須屬性,其他可以忽略。creator包含有以下幾個值:

new:Java用“new”關(guān)鍵字創(chuàng)造對象

none:它不創(chuàng)建對象? (v1.1+)

scripted:通過BSF使用腳本語言創(chuàng)建對象,例如BeanShell或Groovy

spring:通過Spring框架訪問Bean

struts:使用Struts的FormBean? (v1.1+)

jsf:使用JSF的Bean? (v1.1+)

pageflow:訪問Weblogic或Beehive的PageFlow? (v1.1+)

ejb3:使用EJB3 session bean? (v2.0+)

關(guān)于這幾個屬性如何使用,這里就不在詳細(xì)闡述了。我只列出一個與spring整合的例子:


spring配置文件

3. 頁面配置

其中engine.js必須要,如果需要用到dwr提供的一些方便的工具要引用util.js?,然后是dwr自動生成的js文件,名字必須和dwr.xml中create標(biāo)簽的javascript屬性值一樣,且是dwr/interface開頭的目錄

4. 接下來就可以分別寫javascript和java代碼了。

javascript代碼:

function testFun() {

var name = "aaaaa";

testDWR1.testFun(name, returnFun);? //調(diào)用java方法,第二個參數(shù)是回調(diào)函數(shù)

}function returnFun(data) {? //data對應(yīng)著java方法的返回值

alert(data);

}

java代碼:

package com.test;

public class testDWR1 {

public String test(String str) {

str += "bbb";

return str;

}

}

5.? 其他

dwr可以設(shè)置是否采用異步方式訪問java代碼,其代碼為:

dwr.engine.setAsync(false);? //false為同步,true(默認(rèn))為異步

以及dwr對于異常的處理,這里我只列出個簡單的全局性異常捕獲,具體到針對某個方法的異常捕獲,大家可以自己上網(wǎng)找找。

dwr.engine.setErrorHandler(errh);

function errh(errorString, exception) {

errorFlag = true;

alert("操作失敗!");

}

dwr同樣支持參數(shù)為對象的方法,這需要在dwr.xml中配置下標(biāo)簽:

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,609評論 19 139
  • Spring Boot 參考指南 介紹 轉(zhuǎn)載自:https://www.gitbook.com/book/qbgb...
    毛宇鵬閱讀 47,275評論 6 342
  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語法,類相關(guān)的語法,內(nèi)部類的語法,繼承相關(guān)的語法,異常的語法,線程的語...
    子非魚_t_閱讀 34,734評論 18 399
  • 曾經(jīng)輝煌極致 叱咤風(fēng)云世界 五連冠的傲世成績 激勵了世界華人圈 女排精神曾揚(yáng)起中華民族的自信 猶如美妙的交響曲 無...
    徐一村閱讀 183評論 0 4
  • 換新工作之后,朝九晚五不加班,雙休,項目不趕,工作較為輕松。然而當(dāng)我覺得終于能有更多時間做自己事時,我自己卻出了點...
    辰叔叔的小文集閱讀 374評論 0 0

友情鏈接更多精彩內(nèi)容