真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Tapestry和JSF的比較

這篇文章主要介紹“Tapestry和JSF的比較”,在日常操作中,相信很多人在Tapestry和JSF的比較問(wèn)題上存在疑惑,小編查閱了各式資料,整理出簡(jiǎn)單好用的操作方法,希望對(duì)大家解答”Tapestry和JSF的比較”的疑惑有所幫助!接下來(lái),請(qǐng)跟著小編一起來(lái)學(xué)習(xí)吧!

目前創(chuàng)新互聯(lián)已為上千家的企業(yè)提供了網(wǎng)站建設(shè)、域名、虛擬主機(jī)、網(wǎng)站運(yùn)營(yíng)、企業(yè)網(wǎng)站設(shè)計(jì)、商州網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶(hù)導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶(hù)和合作伙伴齊心協(xié)力一起成長(zhǎng),共同發(fā)展。

1.JSF和Tapestry性能方面

JSF

從測(cè)試數(shù)據(jù)可以看出在只使用JSF及JSF自定義組件的情況下,webmail demo應(yīng)用速度最快,200用戶(hù)并發(fā)訪(fǎng)問(wèn)的響應(yīng)時(shí)間為1.8秒,基本上可以達(dá)到servlet + jsp的性能。

使用JSF + 5個(gè)Facelet composition組件的情況下,webmail demo應(yīng)用仍可達(dá)到200用戶(hù)并發(fā)訪(fǎng)問(wèn)的響應(yīng)時(shí)間為2.6秒的性能。

使用JSF + 20個(gè)Facelet composition組件的情況下,webmail demo應(yīng)用可達(dá)到200用戶(hù)并發(fā)訪(fǎng)問(wèn)的響應(yīng)時(shí)間為3.1秒的性能。

如果在業(yè)務(wù)層方法沒(méi)有大的效率問(wèn)題、并在壓力較大的頁(yè)面適當(dāng)使用緩存的情況下,JSF應(yīng)用程序可以達(dá)到在dell 2850機(jī)器上100-200并發(fā)5秒內(nèi)響應(yīng)的性能

Tapestry

從測(cè)試數(shù)據(jù)可以看到tapestry在使用相同數(shù)量框架自身提供組件的情況下,運(yùn)行效率比JSF明顯要低一些,但也算是在可以接受的范圍內(nèi)。

2.JSF和Tapestry開(kāi)發(fā)方面

JSF

JSF對(duì)servlet API進(jìn)行了封裝,程序員在使用組件做JSF應(yīng)用程序的開(kāi)發(fā)時(shí)基本上不需要直接操作HttpRequest和HttpResponse,并且對(duì)用戶(hù)輸入驗(yàn)證,手機(jī)等其它設(shè)備(通過(guò)rendererKit),多語(yǔ)言(通過(guò)資源文件方式)和換膚(通過(guò)rendererKit)的支持都有相應(yīng)的封裝,可以方便的實(shí)現(xiàn)。目前開(kāi)源的組件庫(kù)有MyFaces,ADF等可以使用,其中有些組件內(nèi)置AJAX支持。

開(kāi)發(fā)工具中IBM WebSphere Studio,Oracle JDeveloper 10g和FaceIDE等IDE對(duì)JSF應(yīng)用開(kāi)發(fā)提供可視化編輯支持。下面是對(duì)JSF自定義組件和JSF+facelet composition組件開(kāi)發(fā)進(jìn)行比較

JSF自定義組件開(kāi)發(fā):

JSF自定義組件由java代碼和tag庫(kù)文件組成,開(kāi)發(fā)難度應(yīng)該與現(xiàn)有I2SS組件開(kāi)發(fā)的難度基本一致,JSF自定義組件通過(guò)自定義標(biāo)記構(gòu)造頁(yè)面,在頁(yè)面上增加組件的數(shù)量對(duì)性能有較大的影響。

JSF + facelet composition組件開(kāi)發(fā):

facelet composition組件在個(gè)性化、重用方面對(duì)JSF提供了很好的補(bǔ)充。通過(guò)編寫(xiě)tag庫(kù)文件,使用facelet可以把多個(gè)JSF自定義組件組合成facelet composition組件,或者把幾個(gè)facelet composition組件組合成新的facelet composition組件,這個(gè)過(guò)程不需要開(kāi)發(fā)或設(shè)計(jì)人員編寫(xiě)Java代碼。facelet composition組件是live模式運(yùn)行時(shí)生成,從測(cè)試結(jié)果上看組件數(shù)量對(duì)性能的影響不大

學(xué)習(xí)曲線(xiàn)上,開(kāi)發(fā)難度與組件基本一致,只要寫(xiě)過(guò)組件或?qū)戇^(guò)servlet+jsp的人,加上適當(dāng)培訓(xùn),一周內(nèi)都可掌握J(rèn)SF或Tapestry開(kāi)發(fā)

Tapestry

組件和頁(yè)面的開(kāi)發(fā)過(guò)程完全一致,都是由模板、page/component class和specification文件組成。IDE方面目前有開(kāi)源社區(qū)開(kāi)發(fā)的eclipse插件Spindle和Tapestry Palette可用,對(duì)開(kāi)發(fā)效率有一定的提升。

3.JSF和Tapestry集群支持方面

JSF

目前在I2SS上做的集群實(shí)驗(yàn)是使用apache+jboss來(lái)實(shí)現(xiàn),結(jié)構(gòu)是apache做集群前端實(shí)現(xiàn)stick session,jboss做應(yīng)用服務(wù)器。

I2SS架構(gòu)應(yīng)用程序Session中放入的對(duì)象并不能全部串行化,所以在做集群時(shí)只能使用粘貼會(huì)話(huà)方式(stick session)實(shí)現(xiàn),這樣容易出現(xiàn)的情況是如果一臺(tái)機(jī)器down掉,這臺(tái)機(jī)器上的所有在線(xiàn)用戶(hù)都會(huì)無(wú)法繼續(xù)當(dāng)前的會(huì)話(huà)。如果用戶(hù)重新發(fā)起登錄請(qǐng)求,任務(wù)會(huì)轉(zhuǎn)移到其它正常工作的機(jī)器上。如果down掉的機(jī)器重新恢復(fù),轉(zhuǎn)移到其它機(jī)器上的用戶(hù)不能重新使用這臺(tái)新啟動(dòng)的機(jī)器,只有新發(fā)起的用戶(hù)請(qǐng)求和在線(xiàn)用戶(hù)調(diào)用session.invalidate()顯式退出后,工作才會(huì)轉(zhuǎn)移到新啟動(dòng)的機(jī)器上,這樣負(fù)載的均衡時(shí)間會(huì)比較長(zhǎng)。I2SS架構(gòu)應(yīng)用程序可以通過(guò)更改框架層,將現(xiàn)有放入session中的對(duì)象實(shí)現(xiàn)串行化,并且將不能串行化的對(duì)象放到session以外的地方來(lái)實(shí)現(xiàn)使用session replication的集群模式。

在JSF上做的集群實(shí)驗(yàn)是使用apache+jboss來(lái)實(shí)現(xiàn),支持stick session和session replication兩種模式。stick session模式的結(jié)構(gòu)和討論如上述,session replication的結(jié)構(gòu)是apache做集群前端,通過(guò)jboss的TreeCache實(shí)現(xiàn)session replication。在編寫(xiě)JSF程序時(shí)要把放入會(huì)話(huà)中的backing-beans實(shí)現(xiàn)串行化,如果一臺(tái)機(jī)器down掉,在線(xiàn)用戶(hù)的會(huì)話(huà)會(huì)轉(zhuǎn)移到其它正常工作的機(jī)器上,對(duì)于用戶(hù)的感受來(lái)說(shuō)可能是速度變慢,但是不會(huì)出現(xiàn)會(huì)話(huà)斷掉的情況。如果down掉的機(jī)器重新恢復(fù),TreeCache通過(guò)網(wǎng)卡或文件系統(tǒng)完成session replication的過(guò)程后,在線(xiàn)用戶(hù)的任務(wù)就可以實(shí)現(xiàn)與機(jī)器未down時(shí)相同的負(fù)載均衡狀態(tài)。如果想減少網(wǎng)卡或文件系統(tǒng)的I/O操作,可以通過(guò)集群分區(qū)來(lái)實(shí)現(xiàn)。

Tapestry

Tapestry本身提供兩種state持久方式:傳統(tǒng)的session方式和client-side方式。狀態(tài)保存在session中的情況下,實(shí)現(xiàn)集群和JSF方式一樣,需要session replication。保存在client-side的情況下,有一些局限性,但是可以實(shí)現(xiàn)無(wú)狀態(tài)的應(yīng)用,自動(dòng)支持集群。

4.對(duì)于I2SS組件與JSF組件混合使用的說(shuō)明

JSF組件應(yīng)用程序是標(biāo)準(zhǔn)J2EE應(yīng)用程序,JSF組件對(duì)servlet API提供了封裝,同時(shí)也提供了直接得到servlet上下文的方法,所以I2SS組件與JSF組件的混合使用與現(xiàn)在已經(jīng)實(shí)現(xiàn)的郵件系統(tǒng)中servlet+JSP與I2SS組件的混合使用方法是一樣的,都可以用手動(dòng)創(chuàng)建EbiContext實(shí)例的方法來(lái)實(shí)現(xiàn)。


5.目前JSF標(biāo)準(zhǔn)的進(jìn)展情況,以及行業(yè)的支持情況

JSF 體系結(jié)構(gòu)
JavaServer Faces 的 MVC 實(shí)現(xiàn)
JSF 的主要優(yōu)勢(shì)之一就是它既是 Java Web 用戶(hù)界面標(biāo)準(zhǔn)又是嚴(yán)格遵循模型-視圖-控制器 (MVC) 設(shè)計(jì)模式的框架。用戶(hù)界面代碼(視圖)與應(yīng)用程序數(shù)據(jù)和邏輯(模型)的清晰分離使 JSF 應(yīng)用程序更易于管理。為了準(zhǔn)備提供頁(yè)面對(duì)應(yīng)用程序數(shù)據(jù)訪(fǎng)問(wèn)的 JSF 上下文和防止對(duì)頁(yè)面未授權(quán)或不正確的訪(fǎng)問(wèn),所有與應(yīng)用程序的用戶(hù)交互均由一個(gè)前端“Faces”servlet(控制器)來(lái)處理。

到此,關(guān)于“Tapestry和JSF的比較”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請(qǐng)繼續(xù)關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)?lái)更多實(shí)用的文章!


本文名稱(chēng):Tapestry和JSF的比較
標(biāo)題網(wǎng)址:http://weahome.cn/article/pohsgc.html

其他資訊

在線(xiàn)咨詢(xún)

微信咨詢(xún)

電話(huà)咨詢(xún)

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部