freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

gwt開(kāi)發(fā)者手冊(cè)_v(已修改)

2024-11-21 08:47 本頁(yè)面
 

【正文】 GWT 開(kāi)發(fā)者手冊(cè) 格式規(guī)范 : 這種字體 表示代碼或術(shù)語(yǔ) 文檔目的:對(duì)新進(jìn)員工進(jìn)行 GWT 技術(shù)培訓(xùn),使他們可以在以前沒(méi)有接觸過(guò) GWT 的基礎(chǔ)上,通過(guò)本文檔,經(jīng)過(guò)短期學(xué)習(xí),即可使用 GWT 進(jìn)行日常開(kāi)發(fā)工作。 GWT版本 : 面向讀者 :熟悉 JAVA 語(yǔ)言,有 用 J2EE 開(kāi)發(fā)三層架構(gòu)軟件系統(tǒng)的經(jīng)驗(yàn) WEB 應(yīng)用程序開(kāi)發(fā)者 。 一、 基本概念 核心 GWT 概念,諸如:把 JAVA 原碼編譯為 JAVASCRIPT 原碼,調(diào)試,跨瀏覽器支持,和定義模塊( module) 等。 GWT 編譯器 主要用于把 JAVA應(yīng)用程序 轉(zhuǎn)換成對(duì)應(yīng)的 JAVASCRIPT 應(yīng)用程序 GWT 的核心是一個(gè)編譯器,它可以把 JAVA 代碼轉(zhuǎn)換成 JAVASCRIPT 代碼,把 用于 實(shí)際開(kāi)發(fā) 工作的 JAVA應(yīng)用程序轉(zhuǎn)變成等價(jià)的 JAVASCRIPT 應(yīng)用程序,一般來(lái)說(shuō): 1. 如果你的 GWT 應(yīng)用在主機(jī)模式中編譯運(yùn)行, 2. 并且 GWT 把你的應(yīng)用程序編譯成 JAVASCRIPT 應(yīng)用程序,而沒(méi)有報(bào)錯(cuò), 3. 那么的你的應(yīng)用程序?qū)?huì)以同樣的方式在 WEB 瀏覽器中工作,就像在主機(jī)模式 中一樣。 GWT 編譯器支持大多數(shù) JAVA 語(yǔ)言特性。 GWT 運(yùn)行時(shí)庫(kù)仿真了 JAVA 運(yùn)行時(shí)庫(kù)的一個(gè)子集。 注意: 1. 語(yǔ)言支持: GWT 可以編譯 J2SE 或更早版本。 但有一些不一致需要注意。 ? 固有類型 byte, char, short, int, long, float, double, Object, String,和數(shù)組都是支持的。畢竟,在 JAVASCRIPT 語(yǔ)言中沒(méi)有 64 位整型,所以 long類型變量被映射到 JAVASCRIPT的雙精度 浮點(diǎn)類型值。為了保證主機(jī)模式和 WEB模式中最大的一致性 ,我們推 薦使用 int類型變量 ? 異常 try, catch, finally和用戶自定義的異常都可以正常支持,但是注意 ,在 WEB模式中 ()方法 不被支持。 ? 斷言 GWT 編譯器解析 JAVA assert聲明,但是它們不會(huì)被生成 對(duì)應(yīng)的JAVASCRIPT代碼。 ? 多線程和同步 JAVASCRIPT 解析器是單線程的,所以 GWT自然接受 synchronized關(guān)鍵字,但是沒(méi)有實(shí)際作用。同步相關(guān)的類庫(kù)方法也不可用,包括 (), (), 和 () ? 反射 為了效率最大化, GWT 把你的 JAVA 原代碼編譯成單塊集成腳本,并且不支持類的并發(fā)動(dòng)態(tài)裝載(我也不大懂是怎么回事 ,總之不要在 GWT 中使用 JAVA 的反射機(jī)制 ) ,另外,其他最佳化選項(xiàng)也不包括對(duì)反射的一般支持。但是可以使用(Object)來(lái)查詢一個(gè)對(duì)象的類名。 ? 無(wú)用對(duì)象清理 JAVASCRIPT 不支持垃圾回收階段的對(duì)象清理,所以 GWT 不能支持 WEB 模式下的 JAVA 對(duì)象清理。 ? 嚴(yán)格浮點(diǎn) JAVA 語(yǔ)言規(guī)范精確地定義了浮點(diǎn)支持,包括單精度和雙精度,還有 strictfp關(guān)鍵字。 GWT不支持 strictfp關(guān)鍵字,并且不能保證在轉(zhuǎn)換后的代碼中的浮點(diǎn)的詳細(xì)精度,所以 如果 你 需要保證精度的計(jì)算,則 要避免在客戶端代碼中 進(jìn)行。 2. 運(yùn)行時(shí)庫(kù)支持 GWT只支持 JAVA2標(biāo)準(zhǔn)版和企業(yè)版類庫(kù)的一個(gè)小的子集, 由于這些庫(kù)非常大,并且有很多 在 WEB瀏覽器中不可用的功能 。詳細(xì)請(qǐng)參考: and 的 API,那 里列出了被支持的類和兩個(gè)類庫(kù)( GWT和標(biāo)準(zhǔn) JAVA類庫(kù))行為上的不同。 一些特定領(lǐng)域 GWT與 JAVA標(biāo)準(zhǔn)運(yùn)行時(shí)不同。 ? 正則表達(dá)式 JAVA 正則表達(dá)式的語(yǔ)法類似但也不同于 JAVASCRIPT 的正則表達(dá)式語(yǔ)法。例如 , replaceAll 和 split 方法 。 你可 能只想 使用和JAVASCRIPT 同效的 JAVA 正則表達(dá)式。 ? 序列化 JAVA 的序列化依賴于很少的機(jī)制,但這些機(jī)制在編譯后的 JAVASCRIPT 中不可用,例如動(dòng) 態(tài)類裝載和反射。所以 GWT 不支持標(biāo)準(zhǔn) JAVA 序列化,但是 GWT有一個(gè) RPC 機(jī)制,它提供了調(diào)用遠(yuǎn)程方法時(shí)與服務(wù)器交互的自動(dòng)對(duì)象序列化。 注意:如果你確保在一開(kāi)始你的客戶端代碼中只使用了可以轉(zhuǎn)換的類,你將會(huì)避免很多麻煩。為了能 夠盡早確定問(wèn)題所在,你的代碼將會(huì)在主機(jī)模式中運(yùn)行時(shí)被檢查是否符合 JRE 仿真庫(kù)。所以,不支持的類庫(kù)將會(huì)在第一次運(yùn)行應(yīng)用程序時(shí)被檢測(cè)到。應(yīng)該盡早運(yùn)行并經(jīng)常運(yùn)行你的程序。 跨瀏覽器支持 GWT 架構(gòu)可以在單一代碼的基礎(chǔ)上支持多瀏覽器。 GWT 使你不用過(guò)于擔(dān)心跨瀏覽器的不相容性。 如果你關(guān)注嵌入式的界面元素和組件,你的應(yīng)用程序在最近版本的 Inter Explorer, Firefox, 和 Safari 瀏覽器中的表現(xiàn)是一致的(大多數(shù)情況下, Opera 瀏覽器也是這樣)。 DHTML 用戶界面是非常復(fù)雜的,雖然這樣 ,也 要確定在每個(gè)瀏覽器中徹底測(cè)試你的應(yīng)用程序。 只要可能, GWT 符合瀏覽器的本地用戶界面元素。例如: GWT 的 Button元素是一個(gè)真正的 HTML button,而不是一個(gè)合成的類似按鈕的界面元素,比如,一個(gè) div。這說(shuō)明 GWT按鈕在不同的瀏覽器和不同的客 戶端操作系統(tǒng)中都能恰當(dāng)?shù)仫@示。我們喜歡本地瀏覽器控制 是因?yàn)樗鼈兪强焖?、可用并?被 用戶熟悉。 當(dāng)開(kāi)發(fā)一個(gè)風(fēng)格化的 WEB 應(yīng)用程序, CSS是非常理想的。開(kāi)發(fā)者應(yīng)該在樣式表中定義樣式,這些樣式使用樣式名( style names)鏈接到應(yīng)用程序代碼。 在主機(jī)模式中調(diào)試 GWT 有一個(gè)嵌入式的 DHTML 瀏覽器,你可以在轉(zhuǎn)換成 JAVASCRIPT 應(yīng)用之前,在任何 JAVA 開(kāi)發(fā)環(huán)境中運(yùn)行和調(diào)試你的應(yīng)用程序。 你將會(huì)花費(fèi)你的大部分的開(kāi)發(fā)時(shí)間 在主機(jī)模式上,這是說(shuō)你和你的 GWT 應(yīng)用程序互動(dòng)時(shí),不需要先把它轉(zhuǎn)換成 JAVASCRIPT。任何時(shí)候你在 JAVA 集成開(kāi)發(fā)環(huán)境中編輯、運(yùn)行和調(diào)試應(yīng)用程序,你都是在主機(jī)模式下工作。當(dāng)運(yùn)行在主 機(jī)模式, JAVA 虛擬機(jī)實(shí)際上是在執(zhí)行編譯后的 JAVA 字節(jié)碼,使用 GWT 輸出到一個(gè)嵌入的瀏覽器窗口。在這種傳統(tǒng)的“編碼-測(cè)試-調(diào)試”的開(kāi)發(fā)周期中,主機(jī)模式是快速開(kāi)發(fā)你的應(yīng)用的最有效的方式。 啟動(dòng)一個(gè)主機(jī)模式會(huì)話,你的啟動(dòng)類應(yīng)該是, 這個(gè)類 可以在 (或 )中找到。 小提示: 在主機(jī)模式下, GWT 開(kāi)發(fā)命令工具( development shell)會(huì)使用虛擬機(jī)的類路徑查找模塊(和客戶端原代碼) 。在運(yùn)行 GWT 開(kāi)發(fā)命令工具( development shell)時(shí)要確保把原代碼路徑加入到了你的類路徑中。 在 WEB模式中部署 為便于部署, 首先 把你的應(yīng)用編譯成 JAVASCRIPT。 當(dāng)你從開(kāi)發(fā)階段轉(zhuǎn)移到端到端測(cè)試和生產(chǎn),你會(huì)開(kāi)始更多地和你的應(yīng)用程序在WEB 模式下交互。 WEB 模式是指從通常的瀏覽器來(lái)訪問(wèn)你的應(yīng)用程序-在瀏覽器中它作為純凈的 JavaScript 運(yùn)行-正如它最終要被部署 的樣子 。 為你的模塊創(chuàng)建一個(gè) WEB 模式版本,你需要使用主機(jī)模式瀏覽器中的“ Compile/Browse”按鈕或命令行編譯器. WEB 模式論證了是什么使 GWT 不同凡響:當(dāng)你的應(yīng)用在 WEB模式中啟動(dòng)時(shí),它完全作為 JAVASCRIPT 運(yùn)行,并且不需要任何瀏覽器插件或 JVM。 HTML主頁(yè) 一個(gè) HTML 文檔形式的主頁(yè),它包含 GWT 模塊。 任何 符合 適當(dāng)規(guī)范的 HTML頁(yè)面可以包含 GWT創(chuàng)建的代碼, 作為一個(gè)主頁(yè)被引用。一個(gè)經(jīng)典的 HTML 主頁(yè)如下所示: html head ! The fullyqualified module name meta name=39。gwt:module39。 content=39。39。 ! Properties can be specified to influence deferred binding meta name=39。gwt:property39。 content=39。locale=en_UK39。 ! Stylesheets are optional, but useful link rel=stylesheet href= ! Titles are optional, but useful titleCalendar App/title /head body ! Include the bootstrap script just inside the body or in the head ! (startup is slightly faster if you place it just after the body tag ! Include a history iframe to enable full GWT history support ! (the id must be exactly as shown) iframe id=__gwt_historyFrame style=width:0。height:0。border:0/iframe /body /html 這個(gè)結(jié)構(gòu)是可以 向現(xiàn)存的 WEB 應(yīng)用程序添加功能而把改動(dòng)最小化。 客戶端代碼 “客戶端”意思是指將 要被轉(zhuǎn)換并在 WEB 瀏覽器中以 JAVASCRIPT 形式運(yùn)行的原代碼。 你的應(yīng)用程序?qū)⒁煌ㄟ^(guò)網(wǎng)絡(luò)送向客戶,在那里它作為 JAVASCRIPT 運(yùn)行在WEB 瀏覽器中。用戶瀏覽器中所發(fā)生的一切,可以看作是客戶端處理。當(dāng)你寫(xiě)在 WEB 瀏覽器中運(yùn)行的客戶端代碼時(shí),記住它們最終要變成 JAVASCRIPT。所以, 要 使用 那些可以被轉(zhuǎn)換的類庫(kù)和 JAVA 語(yǔ)言結(jié)構(gòu)是非常重要的。 服務(wù)端代碼 “服務(wù)端”意思是指不會(huì)被轉(zhuǎn)換,并 且只作為字節(jié)碼運(yùn) 行在服務(wù)器 端 的原代碼。 發(fā)生在服務(wù)器端的一切可以被看作是服務(wù)器端處理。當(dāng)你的應(yīng)用程序需要與服務(wù)器互動(dòng)(例如,上載或下載數(shù)據(jù)), 這會(huì)產(chǎn)生一個(gè) 穿過(guò)網(wǎng)絡(luò) 的 客戶端請(qǐng)求(從瀏覽器)使用 remote procedure call (RPC)。在進(jìn)行處理時(shí) RPC,服務(wù)器 要 執(zhí)行服務(wù)端代碼。 小提示: GWT 不會(huì)去管你的服務(wù)器運(yùn)行 JAVA 字節(jié)碼的能力。服務(wù)端代碼不需要被轉(zhuǎn)換,所以你可以使用你認(rèn)為有用的任何 JAVA 類庫(kù)。 項(xiàng)目結(jié)構(gòu) GWT 項(xiàng)目由一個(gè)推薦包布局構(gòu)建而成。 GWT 項(xiàng)目以 JAVA 包的方式進(jìn)行布局,這樣,大多數(shù)的配置可以從類路徑( classpath)和你的模塊定義( module definitions)中推導(dǎo)出。 如果你要從代碼片斷開(kāi)始一個(gè) GWT 項(xiàng)目,你應(yīng)該使用標(biāo)準(zhǔn) GWT 包結(jié)構(gòu),這種結(jié)構(gòu)可以很容易地區(qū)分客戶端代碼和服務(wù)端代碼。例如:假定你的新項(xiàng)目叫“ Calendar”。則標(biāo)準(zhǔn)包結(jié)構(gòu)會(huì)如下所示: 包 目的 /example/cal/ 項(xiàng)目根包,包含模塊 XML 文件 /example/cal/client/ 客戶端代碼文件和子包 /example/cal/server/ 服務(wù)端代碼和子包 /example/cal/public/ 靜態(tài)資源 例子文件組織如下: 文件 目的 /example/cal/ 一個(gè)通用基本模塊,用于你的項(xiàng)目,它繼承了 .User模塊 /example/cal/ 繼 承 了endar 模塊 (見(jiàn)上 )并且加入一個(gè)入口類 /example/cal/ 一個(gè)你的項(xiàng)目定義的模塊 /example/cal/client/ava 客戶端 JAVA原代碼,用于入口類。 /example/cal/client/spelling/Spel 一個(gè)定義在子包中的 RPC服務(wù)接口 /example/cal/server/spelling/Spel 服務(wù)端 JAVA原代碼,它實(shí)現(xiàn)了后臺(tái)服務(wù)業(yè)務(wù)邏輯 。 /example/cal/public/ 一個(gè) HTML 頁(yè)面,用于裝載應(yīng)用程序。 /example/cal/public/ 一個(gè)樣式表,用于風(fēng)格化應(yīng)用程序。 /example/cal/public/images/if 一個(gè)題頭標(biāo)志 模塊 模塊是一個(gè) XML 文件,它包含與 應(yīng)用程序或類庫(kù)相關(guān)的設(shè)置。 一個(gè) GWT 配置的單獨(dú)
點(diǎn)擊復(fù)制文檔內(nèi)容
高考資料相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
公安備案圖鄂ICP備17016276號(hào)-1