自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

JSP開發(fā)框架JSF對比基于Servlet的Tapestry

開發(fā) 后端
本文對JSP開發(fā)框架的選擇做了一些探討。JSF和Tapestry都是基于頁面組件技術(shù)的開發(fā)框架,但jsf基于jsp,開發(fā)維護有自己的弱點。另一方面,頁面開發(fā)走向組件化是一種越來越明顯的趨勢,這方面tapestry可以說是引導了這個方向。

JSF和Tapestry都是基于頁面組件技術(shù)的開發(fā)框架,但JSF基于JSP,是JSP架構(gòu)的JSP開發(fā)框架,開發(fā)維護起來非常麻煩。tapestry則不同,是基于servlet的一種完全頁面組件化的開發(fā)框架, 而且現(xiàn)在已經(jīng)非常成熟,目前已經(jīng)推出t4.0-beta2。

頁面開發(fā)走向組件化是一種越來越明顯的趨勢,這方面tapestry可以說是引導了這個方向,也許是sun太厲害,jsf一出生就得到大家的關(guān)注, 不過順此東風,tapestry的用戶社區(qū)比以前更加繁榮了:http://news.gmane.org/gmane.comp.java.tapestry.user

tapestry有很多范例精彩,參看它的官方網(wǎng)站:http://jakarta.apache.org/tapestry/

若想致力于web頁面的開發(fā),個人覺得jsp/serlvet是首要精通的,至于選擇框架,則是一件費精力的事情??蚣艿哪康氖菫榱撕喕_發(fā)流程,提高生產(chǎn)效率,典型的框架如turbine、struts、webwork、jsf、tapestry等。

如何選擇框架是一個經(jīng)久不衰的討論,沒有多年的實踐經(jīng)驗是難 以作出實際評價和最終抉擇的。愚以為turbine過于厚重,無論是開發(fā)速度還是運行速度都令人難以接受,2.4M1到現(xiàn)在快一年還是M!,運行起 來真是滿如蝸牛,打開一個頁面要等瀏覽器的地球要轉(zhuǎn)上半圈,這也許要歸功于velocity解析和沒有頁面緩存的功勞了。

還有就是擴展性、可維護性等,實際上都很差,象它的核心類Turbine,居然定義為final!實際開發(fā)起來還不如我自己實現(xiàn)的velocity+servlet+filter框架效率高 ,速度快。

struts,webwork實際都是jsp的MVC包裝,無法擺脫jsp頁面難以維護的煩惱,也許開發(fā)起來快,但維護呢?

還有就是美工人員,他們都得懂jsp。實際的mvc分工在頁面這塊還是打了折扣。做為JSP開發(fā)框架的JSF在一定程度上借鑒了tapestry的組件思想,但大項目應用中狂多的標簽封裝和定 義把你搞瘋也得把機器搞瘋,估算有兩大弊端:運行速度相對慢和頁面維護相對復雜。

最后是tapestry,唯一的難度是理解它的組件開發(fā)方法 ,理解的轉(zhuǎn)變就好比從過程開發(fā)到OO開發(fā)一樣,但對初學者無所謂,一張白紙總是容易上畫的。

選擇tapestry有如下幾大優(yōu)點:

1、最徹底的MVC開發(fā)框架,頁面代碼全部由HTML標準標簽組成,頁面美工人員無須了解特別的標簽定義。

2、可重用組件開發(fā)節(jié)省開發(fā)資源,一句話:越開發(fā)越輕松

3、優(yōu)秀的頁面流轉(zhuǎn)開發(fā)。傳統(tǒng)方式都是基于URL實現(xiàn)激活頁面流轉(zhuǎn),而tapstry除了此方式,你還可象開發(fā)普通java類一樣實現(xiàn)page頁面流,更 重要的是,還可由此實現(xiàn)頁面類的復用。

4、豐富的組件資源。除了官方維護的資源外,還可找到一大堆的tapestry組件庫。

5、超強的擴展性。tapestry是一個真正的開放性架構(gòu),說白了,你覺得哪個服務不爽,你就可寫個替代它。

6、生命力超強,不斷的自我更新、發(fā)展。tapestry4.0與3.0相比簡直就是另一個飛躍,如支持jdk1.5的Annotations,僅這點開源產(chǎn)品中目前 還只看到一個hibernate;支持portlet JSR-168,又一個順應潮流的web開發(fā)支持。規(guī)劃中的4.1將支持頁面靜態(tài)化,這不正是眾多開發(fā)人員的 另個期待嗎?

7、tapestry的開發(fā)人員穩(wěn)定。不是一個兩個人在那里單打獨斗,而是有一群人在開發(fā)和支持tapestry的進程。

8、tapestry技術(shù)成熟嗎?基于tapestry的軟件和大網(wǎng)站已經(jīng)很多了。

tapestry的優(yōu)點和帶給你的便利不是兩句話可講清楚的,還需要自己去多多體會。

【編輯推薦】

  1. 學習JSP的基礎概念之九個隱含對象
  2. JSP數(shù)據(jù)分頁實例:MySQL翻頁
  3. JSP數(shù)據(jù)庫操作例程(JDBC-ODBC)
  4. 學習JSP的基礎準備:JDK的安裝配置
  5. Java Servlet簡介:與JSP的完美結(jié)合
責任編輯:yangsai 來源: 清華大學出版社
相關(guān)推薦

2009-06-22 14:22:41

JSF和Tapestr

2009-06-23 14:01:27

StrutsTapestryJSF

2009-06-24 16:16:30

JSF和Tapestr

2009-06-22 17:59:24

JSF基于Java的Web

2012-03-28 09:14:38

JavaICEfaces

2009-06-23 16:29:51

JSFSpring MVCStruts 2

2009-07-14 15:42:38

MyEclipse開發(fā)

2009-07-03 14:16:30

JSP Servlet

2009-07-14 16:07:46

MyEclipse開發(fā)

2009-07-14 16:25:04

MyEclipse開發(fā)

2009-06-26 14:06:08

JSF基礎框架

2009-07-08 15:25:56

Servlet和JSP

2009-07-03 10:48:12

JSP和JSF

2009-06-25 17:14:59

JSF框架

2009-07-06 15:34:56

JSP和Servlet

2009-07-14 14:16:03

Tapestry 5.Tapestry教程Tapestry頁面

2009-06-26 11:15:08

JSF入手JSP

2009-06-23 09:33:20

FCKEditorJSFJSP

2009-06-22 15:52:15

JSF測試框架

2009-06-23 15:51:00

JSF框架
點贊
收藏

51CTO技術(shù)棧公眾號