再談Cocoon兼談JSP (轉)
一年前的舊文,今天看來仍有其價值。
發信人: (海曦), 信區: Develop 標 題: 再談Cocoon兼談 發信站: 飲水思源 (2002年06月06日01:17:17 星期四), 站內信件 著名的 IBM DW 中文網站,推出了Cocoon 2的簡介教程,從而再次把我們的目光吸引到Cocoon上。以下是我在CSDN的討論區發表的個人看法,貼過來漲點人氣。 IBM的這個教程非常好,強烈推薦。BTW,IBM的DW網站比CSDN有用多了。 關於Cocoon,希望有一本《XSP/Cocoon/XML核心技術內幕》,基本上編譯了一些基本的Cocoon文件,有一定的參考價值。這也是我看到的國內唯一的一本Cocoon的參考書。但是該書如同其它國內書籍一樣,對於基本理念的闡述不夠詳細和清晰。 Cocoon的原始動力是為了實現Content-Style-Logic的三層分離,這是一個Web Engineer的很好的實踐。 Cocoon也源自於以前的ServerPages技術(主要是針對JSP,當然和 也有同樣的問題)的缺陷。儘管JSP提出了JSP Model 2,來實現 Model-View-Controller分離,即用Bean表示資料(內容),用 控制業務邏輯,用JSP實現顯示邏輯和表現層,但還是有些實踐上的缺陷。關於這個問題的描述,在2000年10月的文章《JSP 技術 - - 是友還是敵?》(http://www-900.ibm.com/developerWorks/cn/ java/w-friend/index.shtml)中有詳盡的討論。 但是如果我們跟上技術發展的步伐,就會看到這個問題由於標籤庫技術的成熟和servlet過濾器機制的誕生而得到解決。早就有了,但是直到臨近即JSP Standard Tag Library的正式釋出,其威力才真正顯現。 從角色任務上看,員主要負責JavaBean、Servlet和編寫自定義標籤庫(現在可以使用JSTL從而大大減少負擔);設計者編寫“不包含 java程式碼”的JSP,實際上是若干種標記的混合,HTML+JSTL+自定義標籤。我認為這種比較適合於以Java程式設計師為主的團隊,以及業務邏輯複雜的應用。 注意,正如JSP的內嵌Java程式碼可以實現業務邏輯,JSP的TagLib技術,一樣可以用於實現業務邏輯。當然使用TagLib將比內嵌Java程式碼好許多,因為程式碼被封裝到了TagLib中,因此對於小的應用還是可以使用JSP,而不用寫Servlet。例如使用JSTL的 tag,來直接處理資料庫(這實際上意味著基本沒有或者只有極其簡單的包含在sql語句中的業務邏輯)。也可以用像
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10748419/viewspace-958704/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- jsp、servlet關於中文問題再談JSServlet
- 再談c++型別轉換C++型別
- 記一次synchronized鎖字串引發的坑兼再談Java字串synchronized字串Java
- 再談訊息佇列技術-轉佇列
- 再談Delphi vs VC++(非常精彩) (轉)C++
- 再談在Java中使用列舉(轉)Java
- JSP與JavaBean詳談JSJavaBean
- 經驗點談在JSP中的宣告. (轉)JS
- 溫故知新----再談建構函式 (轉)函式
- Javascript繼承,再談JavaScript繼承
- 再談特性切換
- 再談時間同步
- 再談JSON/XMLJSONXML
- 談談字串翻轉字串
- 再談應用程式的例項問題 (轉)
- 走近VB.Net(二) 再談函式呼叫 (轉)函式
- 再談審計專案審計質量(轉)
- 再談 PHP 未來之路PHP
- 再談原始碼閱讀原始碼
- 再談synchronized鎖升級synchronized
- 再談冪等機制
- Python元類再談Python
- 再談RESTAPI最佳實踐RESTAPI
- 再談方法論和模式模式
- 再談開源ERP
- 再談java列舉enumJava
- 談如何正確理解 IP 資料的覆蓋率,兼談正確率~
- 再談多型--多型的應用舉例: (轉)多型
- JAVA基礎:再談在Java中使用列舉(轉)Java
- 再談前後端分離後端
- 再談小型機:前景黯淡?非也!
- 【再談軟體生存週期】
- 再談PHP、Python與RubyPHPPython
- 談談對BPM的理解(轉)
- 神奇的自產生程式,兼談人工生命
- 再談在VB中呼叫VC++開發的DLL (轉)C++
- 再從核心談3DEngine的設計架構(轉)3D架構
- Android單元測試(2):再來談談為什麼Android