程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> JAVA編程入門知識 >> Struts 和 Tiles 輔助基於組件的開發(1)

Struts 和 Tiles 輔助基於組件的開發(1)

編輯:JAVA編程入門知識
  Struts 和 Tiles 輔助基於組件的開發(1)
  
   將視圖組合在一起以便於構造 Web 應用程序
  
   “模型-視圖-控制器(Model-View-Controller,MVC)”框架對於生成有組織的模塊化應用程序(這些應用程序能夠清楚地劃分邏輯、樣式和數據),是一種經證實的和方便的方法。在 Java 世界中,Struts 是最聞名的也是最常被談及的 MVC 的開放源碼體現之一。致力於 Struts 的開發人員最近增強了該項目的核心功能,並改進了視圖支持(合並了 Tiles 視圖組件框架來加強對基於組件開發的支持),以便增加可重用性並增強一致性。本文中,Wellie Chao 說明了 Struts 和 Tiles 組合為什麼是用來創建 Web 應用程序的最佳工具包,而且向您展示了如何開始使用它,這裡主要講述自 Struts 0.9 以來的更改。

我開始學習如何創建軟件要追溯到 80 年代中期,最初兩個月的時間都花在使用線性流及嵌入式顯示、邏輯和數據編寫單塊代碼。這在那時,好象是最常用的方法。隨著經驗的豐富,我學會了將代碼封裝到對象中,將數據與邏輯分離,重構公共代碼並實踐其它良好的編程公認原則。

Web 開發人員接受 MVC
  
   眨眼到了 1994 年,當時主流的采用 Web 應用程序的開發才剛開始。由於 Web 的不成熟,只有較少的工具能幫助開發人員構建 Web 軟件。結果,在特定解決方案中的應用程序混合了 Html 代碼與應用程序邏輯。很顯然,UI 設計的更改和業務邏輯的更新在大型應用程序中既困難又昂貴,因為緊耦合的表示和邏輯將這兩種元素攪和在一起,進而導致錯誤和緩慢的進展。而且,混合的代碼要求部分開發人員具備 UI 設計知識,或者要求開發人員與圖形設計人員之間有緊密的工作關系,這經常會造成時間上的浪費。

jsp 技術和標記的引入稍微改善了這種更改問題,因為能夠將邏輯和顯示分離。UI 設計人員能夠對顯示進行卓有成效的工作,同時開發人員能夠專注於邏輯。然而,這種方法仍存在一些缺陷。尤其是某些操作(還有公共操作)的開發仍很困難。驗證表單就是典型的例子。正如很多人所知,表單驗證的過程類似於這樣:

  1. 顯示表單;等待用戶填寫然後提交數據。
  2. 檢查各域值是否有效;假如有錯誤,則重新顯示表單。
  3. 處理用戶輸入的數據,可能將其存儲在一個數據庫中。
  4. 在新頁面上向用戶顯示處理的結果或下一步(可能是另一個表單)。

假如在這一過程中只使用 JSP 頁面,那麼在需要再次更改代碼時,您會發現,按照可治理性這條思路,將控制從一個頁面“路由”至另一個頁面很難。您想把第 4 步和第 3 步置於同一個頁面嗎?假如使用多個單獨的 JSP 頁面,那麼如何跟蹤哪個頁面鏈接至其它頁面,以及在要更改一個頁面的文件名或位置時該怎麼做呢?而且,在第 2 步檢測到某個域中的錯誤時,如何重新顯示帶有一條錯誤消息的原始表單,但還要保留用戶已填入的值呢?Struts,一種開放源碼“模型-視圖-控制器”框架,通過幫助解決所有這些問題,從而使開發人員的工作更為輕松。

本文並不深入討論 MVC 平台。有關這方面的信息,請參閱 Malcolm Davis 所寫的標題為“ Struts, an open-source MVC implementation ”的 developerWorks 文章。您正在閱讀的這篇文章討論自 Malcolm 的文章發表以來對 Struts 所做的更改,包括 Tiles 庫。至於代碼的安裝過程,本文僅涉及 Jakarta Tomcat 4.0(Catalina)最小安裝所需的步驟。假如您沒有使用 Tomcat,請查閱手冊以了解您的應用程序服務器。

Struts 和 Tiles 的背景知識
  
   Craig McClanahan 是 Apache Tomcat 項目的技術主管,他創立 Struts 項目以滿足對這方面的渴望。它作為“模型-視圖-控制器”框架首選的並經過正式認可的開放源碼實現,已經越來越流行了。它以與交付產品一起分發的形式受到來自 Sun 和 IBM 的支持。因為 Craig 積極參與 Tomcat 和 Struts 的開發工作,所以 Struts 將繼續與 JSP 和 Servlet 規范的參考實現高度兼容,進而與所有 J2EE 應用程序服務器高度兼容。

Malcolm Davis 的有關 Struts 的 developerWorks 文章涵蓋了整個 Struts 0.9 的功能;為了簡短起見,我將只討論對 Struts 0.9 的更改以及他未涉及的 Struts 主題。目前的 Struts 發行版本是 1.0.2,但自 2002 年 3 月 19 日起有一個標記為 1.1-b1 的 beta 測試版可供使用。因為 beta 測試版表示編碼工作已經完成,在這種情況下只進行錯誤修正,所以極有可能 1.1 的最終版本不久就將面市,而在 Struts 郵件列表上已經有這種呼聲。因此,任何利用 Struts 的新項目很可能都將 1.1 代碼作為基礎,而這就是我將討論的內容。


 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved