一直以來我們都說Struts是一個Web Framework。那么讓我么先來看看什么是Framework。
Framework概念并不是很新了,伴隨著軟件開發(fā)的發(fā)展,在多層的軟件開發(fā)項目中,可重用、易擴展的,而且是經(jīng)過良好測試的軟件組件,越來越為人們所青睞。這意味著人們可以將充裕的時間用來分析、構(gòu)建業(yè)務邏輯的應用上,而非繁雜的代碼工程。于是人們將相同類型問題的解決途徑進行抽象,抽取成一個應用框架。這也就是我們所說的Framework。
Framework的體系提供了一套明確機制,從而讓開發(fā)人員很容易的擴展和控制整個Framework開發(fā)上的結(jié)構(gòu)。 通常,Framework的結(jié)構(gòu)中都有一個“命令和控制”組件("command and control" component)——Framework Factory and Manager。

Framework體系
通過基于請求響應(Request-Response)模式的應用Framework,基本上有如下幾個表現(xiàn)邏輯結(jié)構(gòu)組成。
控制器(Controller)——控制整個Framework中各個組件的協(xié)調(diào)工作。
業(yè)務邏輯層(Business Logic)——對Framwork本身來說,這里僅僅只是概念和幾個提夠服務的基礎組件,真正的實現(xiàn)與客戶的業(yè)務邏輯接軌,還需要開發(fā)人員在Framework上再次擴展。
數(shù)據(jù)邏輯層(Data Logic)——絕大應用系統(tǒng)都需要涉及到數(shù)據(jù)交互,這一層次主要包括了數(shù)據(jù)邏輯和數(shù)據(jù)訪問接口。對于數(shù)據(jù)邏輯來說,如果你了解數(shù)據(jù)建模(Data Modeling)可能就很容易理解。
Struts有一組相互協(xié)作的類、Serlvet以及Jsp TagLib組成。基于Struts構(gòu)架的web應用程序基本上符合JSP Model2的設計標準,可以說是MVC設計模式的一種變化類型。根據(jù)上面對framework的描述,我們很容易理解為什么說Struts是一個web framwork,而不僅僅是一些標記庫的組合。但 Struts 也包含了豐富的標記庫和獨立于該框架工作的實用程序類。
Struts有其自己的控制器(Controller),同時整合了其他的一些技術去實現(xiàn)模型層(Model)和視圖層(View)。在模型層,Struts可以很容易的與數(shù)據(jù)訪問技術相結(jié)合,包括EJB,JDBC和Object Relation Bridge。在視圖層,Struts能夠與JSP, Velocity Templates,XSL等等這些表示層組件想結(jié)合。
既然struts叫做web framework,那么其肯定主要基于web層的應用系統(tǒng)開發(fā)。按照J2EE Architecture的標準,struts應當和jsp/servlet一樣,存在于web container一層。

posted on 2006-03-05 11:24
★yesjoy★ 閱讀(323)
評論(0) 編輯 收藏 所屬分類:
Structs學習