基于Struts框架的商務網站平臺設計
潘峰 宋揚
[摘要] 采用基于Struts框架開發技術來設計網站可以解決網站開發周期長,維護管理混亂等問題。本文結合Struts框架的優勢,提出了基于Struts框架進行商務網站平臺設計的思路。
[關鍵詞] Struts 商務網站 MVC
隨著計算機和網絡技術的飛速發展,IT技術在商業貿易領域中的應用將越來越普及,對于一個大型企業利用計算機和通信技術實現網上商務活動勢在必行。在各種技術的應用中,往往是網站開發人員把編寫程序的代碼與企業的業務邏輯混合開發,出現網站開發周期長及維護管理混亂等困難。采用基于Struts框架開發技術來設計網站,這些問題將迎刃而解。
一、Struts框架簡介
Struts是通過提供一個總體的開發框架來實現MVC(Model-View-Controller)設計模式,這個框架提供了一系列的系統服務作為管理HTTP請求及響應的補充。該框架技術主要包括以下內容:
1.MVC架構設計
使用MVC設計模式構建的應用主要分為三個層次,M(模型)主要負責業務邏輯處理,V(視圖)主要負責頁面顯示,C(控制器)主要負責控制管理職能。這樣整個應用分為三個層次開發使應用程序的重用性和可維護性更好,而且利于分工,提高開發效率。
2.Struts標簽庫設計
Struts框架提供了一組標簽庫用于和Beans組件進行交互。其中form標簽可以嵌套商務網站中的文本輸入框、下拉列表等表單,Beans標簽為設置它的屬性提供了方便,并可以對組件的參數進行訪問。
3.配置文件設計
在Struts框架應用中最重要的要屬配置文件struts-config.xml文件的設計。通過它可以設計網站訪問的數據源、動態的表單組件、全局映射表及異常處理等。
二、基于Struts的網站設計應用
1.在集成開發環境下裝載Struts庫
該過程主要包括兩個部分,一個是裝載運行時的Struts庫,一個是裝載編輯時的Struts庫。前者目的是便于在繼承開發環境上運行應用服務器時,服務器能找到相應的Struts庫,因而需要將Struts的標簽庫文件放到指定的目錄下面。后者目的是使在進行Struts程序開發過程中不會出現編輯錯誤。
2.實現Action中央控制器
ActionServlet是Struts最核心部分,相當于中央控制器,通過org.apache.struts.action.ActionServlet類來實現,web應用程序通過它來控制頁面流程,通過傳來的參數來分配下一個頁面。
ActionServlet負責接收所有頁面提交的請求,并產生相應的響應送到請求頁面。一旦web容器接收到外部請求時,它的doPost方法將會處理來自客戶端信息,并調用RequestProcedessor對象處理該請求。
3.組件類設計
Form Bean類負責網站的顯示內容,進行基于Struts的Form Bean開發是通過其基類ActionForm類來完成的,該類繼承于org.apache.struts.action.ActionForm類,可以自動將頁面的表單內容保存起來,并通過請求模塊進行信息傳遞。
4.配置Struts-config.xml文件
如前所述,ActionServlet是Struts的控制器,是最核心部分,這個控制器通過配置Struts-config.xml來完成。
Struts通過定義路徑參數來定義轉向Dispatch的路徑,在該文件里添加標簽,這樣實現了轉向路徑的可配置化,避免在程序中寫具體路徑,易于今后的數據維護和程序修改。
設置動態Form Bean不需要事先創建Form Bean類,直接在配置文件中定義相應的名字和每一個字段類型即可。
5.創建表單校驗器
商務網站中提供了大量的表單輸入,假如在完全輸入后才進行校驗顯然是不行的,可以采用基于頁面輸入校驗的Struts Validator來解決。Struts Validator是基于Struts來進行頁面校驗的組件,它可以完全通過配置來完成頁面的校驗,不需要寫代碼,它實現了頁面顯示層和頁面校驗層的分類,又通過配置將二者整合,整個過程是利用插件標簽 來實現的。
三、構建、部署和測試Struts應用
由于jakarta項目已經為JSP平臺提供了一系列應用系統,因此使用jakarta Ant 來構建和部署Struts應用不僅使開發大型網站變得更容易,而且還具有良好得跨平臺特點,結合Junit更發揮了自動化測試功能??梢哉f基于Struts的網站開發應用構建了 電子商務建設領域新的里程碑。
[1]杜明李朝純:Struts+EJB在J2EE平臺上的設計與實現[J].計算機應用研究,2005,(03)
[2]馮相忠:基于MVC設計模式的Struts框架及其應用的研究[J].計算機技術與發展,2006,(08)
[3]孫凌燕陸保嵐孫健:基于Struts的Web應用框架設計與研究[J].計算機工程,2005,(08)