GWT開發(fā)AJAX應(yīng)用程序教程

GWT開發(fā)AJAX應(yīng)用程序教程

ID:41006102

大?。?13.74 KB

頁數(shù):12頁

時(shí)間:2019-08-13

GWT開發(fā)AJAX應(yīng)用程序教程_第1頁
GWT開發(fā)AJAX應(yīng)用程序教程_第2頁
GWT開發(fā)AJAX應(yīng)用程序教程_第3頁
GWT開發(fā)AJAX應(yīng)用程序教程_第4頁
GWT開發(fā)AJAX應(yīng)用程序教程_第5頁
資源描述:

《GWT開發(fā)AJAX應(yīng)用程序教程》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫。

1、-一、引言  如果你是一個(gè)Java軟件和Ajax開發(fā)者,那么,GoogleWebToolkit(GWT)應(yīng)該已經(jīng)引起你的關(guān)注?! oogle公司已經(jīng)于2006年5月在Apache許可協(xié)議下發(fā)布了這種免費(fèi)的開發(fā)工具包。GWT的設(shè)計(jì)目的是為了簡化用Java語言開發(fā)Ajax應(yīng)用程序。Google初始發(fā)行的beta版本可以適用于Windows和Linux平臺(tái),并許諾稍后要發(fā)行一個(gè)MacOSX版本。  本文將探討在MacOSX上使用GWT和熟悉的Java工具,例如ApacheAnt,Tomcat5.0servlet容器和IntelliJIDEA集成開發(fā)環(huán)境開發(fā)一個(gè)簡單的Ajax應(yīng)用程序的

2、完整過程?! ∽⒈疚募俣ㄗx者具有一定的Java和Ant使用基礎(chǔ)?! 《?、與GWT一起使用Ant  我下載的是GWT的Linuxbeta版本,并選用Java開發(fā)應(yīng)用程序,然后使用一個(gè)Ant構(gòu)建文件進(jìn)行編譯,最后在一個(gè)Tomcat5.0實(shí)例上發(fā)布該應(yīng)用程序。注意,這個(gè)Ant文件運(yùn)行的是GWTJava-to-JavaScript編譯器。其實(shí),這個(gè)“編譯器”只是一個(gè)執(zhí)行一個(gè)GWTJava類的命令行腳本,該Java類負(fù)責(zé)為應(yīng)用程序編寫JavaScript?! ∈褂肎WTbeta包括兩種開發(fā)方式:主機(jī)方式和web方式?! ≈鳈C(jī)方式是使用一個(gè)嵌入式的GWT瀏覽器和中間開發(fā)步驟;在這個(gè)方式中,你

3、的編譯代碼繼續(xù)運(yùn)行于一個(gè)Java虛擬機(jī)(JVM)中。然而,主機(jī)方式無法應(yīng)用于我們這些使用Linux版本操作系統(tǒng)的MacOSX用戶。只有Google發(fā)行了一個(gè)MacOSX版本,我們才可以使用主機(jī)方式。  三、不同風(fēng)格的Web開發(fā)  在創(chuàng)建遠(yuǎn)程過程調(diào)用(RPC)服務(wù)的同時(shí),本文將詳細(xì)討論一些典型的GWT開發(fā)者可能面對(duì)的web開發(fā)有關(guān)的任務(wù)。RPC是一個(gè)軟件模型的一部分,主要為使用面向服務(wù)的架構(gòu)(SOA)的應(yīng)用程序而設(shè)計(jì)。這些開發(fā)任務(wù)包括:  ·使用一個(gè)構(gòu)建文件(構(gòu)建運(yùn)行GWT編譯器,然后發(fā)布編譯器的輸出,并且把你的服務(wù)器端的Java類文件發(fā)布到一個(gè)servlet容器,例如Tomcat

4、,Jetty或Resin)來自動(dòng)化開發(fā)和發(fā)布步驟?!  な褂肍irefox的DOMInspector來觀察由該GWT應(yīng)用程序生成的HTML?!  ぶ匦略O(shè)置頁面中的各部件而不必存取內(nèi)在的HTML(既然你在使用GWT的JavaAPI)?!  ご_保HTML是有效的標(biāo)記,例如,你的組織可能需要基于一個(gè)特別的XHTML文檔類型?! ∷摹⒎?wù)功能  首先,我將簡短描述本文示例應(yīng)用程序要?jiǎng)?chuàng)建的服務(wù),設(shè)計(jì)這個(gè)示例是為了展示GWT使用的模型?! ≡搼?yīng)用程序在瀏覽器中顯示一個(gè)表單,要求用戶輸入他們的姓名、年齡和原籍國家。當(dāng)用戶通過點(diǎn)按按鈕提交表單時(shí),該應(yīng)用程序在一個(gè)文本域中顯示一個(gè)服務(wù)器響應(yīng),而不必

5、初始化一個(gè)頁面刷新。圖1顯示了在Safari瀏覽器中該應(yīng)用程序看上去的樣子。圖1.一個(gè)由GWT生成的簡單視圖  例如,當(dāng)用戶保留一個(gè)文本框?yàn)榭斩c(diǎn)擊OK,Submit按鈕時(shí)將顯示出圖2所示結(jié)果。圖2:該應(yīng)用程序用紅色顯示一條錯(cuò)誤消息  五、巧妙的服務(wù)機(jī)制  在Ajax應(yīng)用程序中使用RPC可以消除顯式地處理XMLHttpRequest和相關(guān)的服務(wù)器返回值的必要性,因?yàn)镚WT對(duì)象能夠?yàn)槟闾幚韽?fù)雜任務(wù)。  你的應(yīng)用程序定義的每個(gè)服務(wù)都要求實(shí)現(xiàn)兩個(gè)Java接口和一個(gè)Java類。為了編譯這些類,你必須確保gwt-user.jar庫位于你的classpath(由一個(gè)Ant文件入口負(fù)責(zé)實(shí)現(xiàn)這項(xiàng)

6、任務(wù))中。下列代碼示例展示了定義我們的服務(wù)的Java接口。packagecom.parkerriver.gwt.testapp.client;importcom.google.gwt.user.client.rpc.RemoteService;publicinterfaceShowRespServiceextendsRemoteService{StringdisplayResponse(Stringreq);}  這個(gè)服務(wù)接口要求擴(kuò)展GWT接口RemoteService。它定義了單個(gè)方法displayResponse()?! ×硗?,你還必須定義一個(gè)客戶端(或使用最終下載的Java

7、Script代碼)用于調(diào)用這個(gè)服務(wù)方法的接口。當(dāng)我顯示客戶端代碼時(shí)(請(qǐng)參考MyForm.java),該GWT使用一個(gè)我描述的回調(diào)設(shè)計(jì)模式。packagecom.parkerriver.gwt.testapp.client;importcom.google.gwt.user.client.rpc.AsyncCallback;publicinterfaceShowRespServiceAsync{publicvoiddisplayResponse(Strings,AsyncCallb

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無此問題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。