from: http://littlez.javaeye.com/blog/231133
dwr可以讓我們?cè)跒g覽器中使用javascript調(diào)用服務(wù)器端的java代碼。
dwr主要包括兩部分:
運(yùn)行在客戶端的js代碼發(fā)送請(qǐng)求到服務(wù)器端;
服務(wù)器端的dwr servlet處理請(qǐng)求,并將結(jié)果和數(shù)據(jù)返回到客戶端。
有一張關(guān)于dwr很精確的圖:
DWR簡(jiǎn)單配置:
1.首先dwr.jar是必須的。下載后放在/WEB-INF/lib目錄下。
2.在/WEB-INF/目錄下,增加一個(gè)dwr.xml文件。格式如下:










根節(jié)點(diǎn)是dwr,我在第一次配置這個(gè)dwr.xml的時(shí)候,忽略掉了,根結(jié)點(diǎn)直接就是allow,然后就一直報(bào)錯(cuò),很腦殘的錯(cuò)誤。所以在這里也稍微提醒一下。
create的creator屬性常用的為new和spring。new就是每次調(diào)用的時(shí)候,都會(huì)實(shí)例化一個(gè)新的對(duì)象來(lái)處理請(qǐng)求;spring就是從Spring的配置文件中取得bean。
以JDate為例,javascript屬性是DWR動(dòng)態(tài)為服務(wù)器端的Date類(java)生成一個(gè)相應(yīng)的客戶端JDate類(Javascript)。JDate可以使用Date的所有public方法。
3. 配好了dwr.xml,接下來(lái)配置/WEB-INF/web.xml。我們需要在web.xml中增加如下<servlet>和<servlet-mapping>:














這個(gè)servlet就是用來(lái)處理dwr發(fā)送的請(qǐng)求。
4. dwr訪問(wèn)
這時(shí)候,如果你已經(jīng)在本地啟動(dòng)了你的應(yīng)用(假設(shè)是在tomcat中),可以訪問(wèn)如下URL:
http://localhost:8080/[YOUR-APP-NAME]/dwr
你會(huì)看到在dwr.xml配置的兩個(gè)類.點(diǎn)擊JDate,可以看到所有可以調(diào)用的方法,并且可以點(diǎn)擊,在按鈕的右邊看到點(diǎn)擊的反饋.
在這個(gè)頁(yè)面的上方,你還會(huì)看到如下代碼:


當(dāng)你的頁(yè)面需要使用JDate時(shí),就必須把上面的script代碼片段放到你的頁(yè)面中。





我們就可以使用JDate了.
這里主要是為了介紹一下dwr最基本的使用,那么dwr的一些其他能力,比如超時(shí)處理和錯(cuò)誤處理,就不在這里說(shuō)了.