摘要:簡要介紹了Struts架構的特點,敘述了郵政速遞綜合信息處理平臺系統(tǒng)中對外門戶基于Struts架構的實現(xiàn)方法和具體的功能點,同時對MVC設計模式進行了說明。
關鍵詞:Struts;MVC;速遞
中圖分類號:TP311文獻標識碼:A文章編號:1009-3044(2008)29-0416-02
The Application of Struts Technology to EMS System Plat
YUANHong-jie
(Shijiazhuang Post Telecommunication Technical College,Shijiazhuang 050021,China)
Abstract: Featuresabout structure of struts、Operation methods and some functionsareintroduced. This Operation methods and some functions in system plat of EMS information is finished with technology based in Struts structure.Furthermore , the design ofMVC mode is illustrated.
Key words: Struts; MVC; EMS
1 引言
Struts最早是作為Apache Jakarta項目的組成部分問世運作。項目的創(chuàng)立者希望通過對該項目的研究,改進和提高Java Server Pages、Servlet、標簽庫以及面向?qū)ο蟮募夹g水準。
Struts這個名字來源于在建筑和舊式飛機中使用的支持金屬架。它的目的是為了減少在運用MVC設計模型來開發(fā)Web應用的時間。
Struts跟Tomcat等諸多Apache項目一樣,是開源軟件,這是它的一大優(yōu)點,使開發(fā)者能更深入的了解其內(nèi)部實現(xiàn)機制。
除此之外,Struts的優(yōu)點主要集中體現(xiàn)在兩個方面:Taglib和頁面導航。Taglib是Struts的標記庫,靈活動用,能大大提高開發(fā)效率。另外,就目前國內(nèi)的JSP開發(fā)者而言,除了使用JSP自帶的常用標記外,很少開發(fā)自己的標記,或許Struts是一個很好的起點。
基于Struts以上特點,這種技術及架構逐漸在郵政系統(tǒng)中得到應用。郵政速遞綜合信息處理平臺系統(tǒng)(以下簡稱速遞平臺系統(tǒng)),是在保證EMS子系統(tǒng)正常運行的同時,并行開發(fā)構建一個新平臺,兩者間互不影響,相互聯(lián)通,并逐步過渡、切換,最終實現(xiàn)整體無縫隙升級。速遞平臺系統(tǒng)中的對外門戶服務采用的就是基于MVC設計模式的Struts架構。
2 Struts構建對外門戶服務
2.1 外門戶服務系統(tǒng)設計模式
模型-視圖-控制器(MVC)是一種將應用程序的用戶界面與業(yè)務邏輯相分離的設計模式,其方式為將該應用程序的體系結(jié)構分為三部分:模型、視圖和控制器。圖1顯示了應用于 Web 應用程序的 MVC 體系結(jié)構。
2.1.1 模型(Model)
模型表示應用程序的狀態(tài),并定義了修改它的業(yè)務操作(永久數(shù)據(jù)和業(yè)務邏輯)。可以向其查詢其狀態(tài)(通常由視圖查詢),并要求其更改(通常由控制器要求)。它對視圖或控制器一無所知。
2.1.2 視圖(View)
視圖用以表示模型。它代表應用程序的外觀,即其用戶界面。它負責從用戶處收集數(shù)據(jù)并向用戶展示數(shù)據(jù)。視圖可以獲取模型的狀態(tài),但不能修改。
2.1.3 控制器(Controller)
控制器響應用戶輸入,并通知模型相應地更改其狀態(tài)。具體來說,它處理傳入的用戶請求,將它們分派給(模型中的)相應業(yè)務邏輯功能并基于輸出結(jié)果選擇對用戶的響應(視圖)。
MVC 設計模式將業(yè)務邏輯與表示相分離,這帶來了以下好處:
1) 可維護性增強
因為視圖層和模型層是分開的,您可以更改用戶界面而不會影響業(yè)務規(guī)則,反之亦然。因此,更改的影響得以最小化。
2) 模型可重用性
您可以創(chuàng)建同一模型的多個視圖。例如,如果您的應用程序需要支持不同的客戶端設備類型(例如,手機和 PDA),則可以創(chuàng)建特定于每種技術的新視圖并重用同一模型。
3) 職責分離
開發(fā)角色可以分離,這樣就允許開發(fā)團隊的各個成員專注于他們的專項領域。例如,Web 頁面設計人員可以負責視圖層,并獨立于 Java 開發(fā)人員而工作,后者則可專注于實施控制器層和模型層。
2.2 基于Struts框架的對外門戶服務系統(tǒng)實現(xiàn)
對外門戶服務主要功能是為通過Web方式及Internet接入訪問的客戶、合作伙伴,提供企業(yè)信息瀏覽、郵件跟蹤查詢、客戶管理(含預收寄登記、用郵統(tǒng)計)等前臺展現(xiàn)服務功能。
對外門戶服務功能實現(xiàn)是基于Struts框架,實現(xiàn)采用同步交互方式(Web Services/SOAP接口協(xié)議)來調(diào)用后臺的各相關應用服務實體所提供的服務功能。
Struts 是一種由強大的開發(fā)人員開源社區(qū)支持的、允許使用 MVC 設計模式構建動態(tài)Web應用的應用程序框架,它是一組合作的 Java 類、Servlet 和 JavaServer Page(JSP)標簽庫的集合。其標準由 Apache Software Foundation 的 Jakarta 項目管理。它不特定于任何供應商,并且在許多開發(fā)工具中都支持。除了作為基于 MVC的框架外,Struts帶來的其它益處包括:
1) Struts是以 HTTP 為中心的,并隱藏了低級細節(jié) HTTP 請求處理。
2) 它不確定于模型,并允許開發(fā)人員選擇在模型層中使用哪種技術。
3) Struts的可配置性很高。XML配置文件用于控制應用程序、用戶輸入驗證和錯誤處理的流程。
4) Struts通過使用標準 Java ResourceBundles來支持國際化/本地化。
5) Struts提供的以下特性將大大增強可重用性:
① 一組豐富的JSP定制標簽庫,以處理諸如常規(guī)Bean操作、條件和迭代邏輯以及HTML呈現(xiàn)之類的常見任務;
② 一個“平鋪”子框架,允許創(chuàng)建可重用的用戶界面模板以控制布局并提升共用的外觀;
③ 通過 Struts-Expression Language(EL)對JSP標準標簽庫(JSTL)的訪問權,以實現(xiàn)其它代碼重用。
6) 控制器層是由 Servlet 實現(xiàn)的。
7) 視圖是使用 JSP 實現(xiàn)的。
8) 模型層是使用輕量級的 JavaBeans組件實現(xiàn)的。
模型層對象JavaBeans組件,可通過使用Java APIs for Web Services(主要是JAX-RPC)來遠程對象調(diào)用企業(yè)應用服務的跟蹤查詢、客戶管理Web Services服務組件功能(這些服務組件通過DAO接口實現(xiàn)對象到數(shù)據(jù)庫的映射)。
企業(yè)應用服務是指為企業(yè)范圍內(nèi)各應用子系統(tǒng)提供核心的、具體業(yè)務邏輯處理服務功能。在郵政速遞綜合信息處理平臺系統(tǒng)中,企業(yè)應用服務包括生產(chǎn)作業(yè)、生產(chǎn)管理、跟蹤查詢、客戶管理、經(jīng)營分析、財務管理、運行監(jiān)控、系統(tǒng)管理、網(wǎng)管等。
3 結(jié)束語
隨著Struts在郵政行業(yè)逐步應用,定會成為整合郵政應用系統(tǒng)高效技術實現(xiàn)手段,同時為郵政更好的服務客戶、服務社會提供了技術保障。
參考文獻:
[1] 孫衛(wèi)琴.基于MVC的JAVA WEB設計與開發(fā)[M].北京:電子工業(yè)出版社,2004:50-53.
[2] 埃克爾.Java編程思想[M].4版.北京:機械工業(yè)出版社,2007:105-108.
[3] 孫衛(wèi)琴.精通Hibernate:Java對象持久化技術詳解[M].北京:電子工業(yè)出版社,2005:401-415.