氧氣中毒 - J2EE

          爪吐奕奕征途
          posts - 24, comments - 10, trackbacks - 0, articles - 0
             :: 首頁 :: 新隨筆 ::  ::  :: 管理

          Struts學習筆記(一)-struts概念和體系結構

          Posted on 2006-06-04 18:00 氧氣中毒 閱讀(1486) 評論(0)  編輯  收藏 所屬分類: Framework

          一、 Struts 的與 Web App 的關系

          ???? struts叫做web framework,其主要基于web層的應用系統開發。按照J2EE Architecture的標準,struts應當和jsp/servlet一樣,存在于web container一層。

          3.jpg


          二、 Struts 的體系結構
          ?????? 我們說struts frameworkMVC 模式的體現,下面我們就從分別從模型、視圖、控制來看看struts的體系結構(Architecture)。下圖顯示了struts framework的體系結構響應客戶請求時候,各個部分工作的原理。

          2.jpg

          1、 從視圖角度( View

          首先, Struts 提供了 Java org. apache.struts.action.ActionForm , Java 開發者將該類細分來創建表單 bean 。在運行時,該 bean 有兩種用法:
          ? JSP 準備相關的 HTML ,表單以進行顯示時, JSP 將訪問該

          bean( 它保存要放入表單中的值 ) 。那些值是從業務邏輯或者是從先前的用戶輸入來提供的。

          ????????? ? 當從 Web 瀏覽器中返回用戶輸入時,該 bean 將驗證并保存該輸入以供業務邏輯或 ( 如果驗證失敗的話 ) 后續重新顯示使用。

          其次, Struts 提供了許多定制 JSP 標記,它們的使用簡單,但是它們在隱藏信息方面功能強大。例如,除了 bean 名稱和給定 bean 中每個段的名稱之外,頁面設計者不需要知道有關表單 bean 的更多信息。

          2、 從模型角度( Model

          Struts 雖然不直接有助于模型開發。 Struts中,系統 模型 的狀態主要由ActiomForm Bean和值對象體現。

          3、 從控制器角度( Controller

          ??? Struts framework中, Controller主要是ActionServlet,但是對于業務邏輯的操作則主要由Action、ActionMapping、ActionForward這幾個組件協調完成(也許這幾個組件,應該劃分到模型中的業務邏輯一塊)。其中,Action扮演了真正的控制邏輯的實現者,而ActionMappingActionForward則指定了不同業務邏輯或流程的運行方向。


          ?
          三、基本組件包

          整個struts大約有15包,近200個類所組成,而且數量還在不斷的擴展。在此我們不能一一介紹,只能列舉幾個主要的簡要的介紹一下。下表說明了目前struts api中基本的幾個組件包,包括action,actions,config,util,taglib,validator。下圖則顯現了這幾個組件包之間的關系。其中action是整個struts framework的核心

          org.apache.struts.action

          基本上,控制整個struts framework的運行的核心類、組件都在這個包中,比如我們上面提到的控制器ActionServlet。已經Action,ActionForm,ActionMapping等等。struts1.11.0多了 DynaActionForm 類。增加了動態擴展生成FormBean功能

          org.apache.struts.actions

          這個包是主要作用是提供客戶的http請求和業務邏輯處理之間的特定適配器轉換功能,而1.0版本中的部分動態增刪FromBean的類,也在struts1.1中被Action包的DynaActionForm組件所取代

          org.apache.struts.config

          提供對配置文件struts-config.xml元素的映射。這也是sturts1.1中新增的功能

          org.apache.struts.util

          Strtuts 為了更好支持web application的應用,體統了一個些常用服務的支持,比如Connection PoolMessage Source。詳細信息請參考

          http://jakarta.apache.org/struts/api/org/apache/struts/util/package-summary.html

          org.apache.struts.taglib

          這不是一個包,而是是一個客戶標簽類的集合。下面包括Bean Tags,HTML TagsLogic TagsNested Tags,Template Tags這幾個用于構建用戶界面的標簽類。

          org.apache.struts.validator

          Struts1.1 framework 中增加了validator framework,用于動態的配置from表單的驗證。詳細信息請參閱 http://home.earthlink.net/~dwinterfeldt/

          1.jpg


          ?

          ?

          主站蜘蛛池模板: 丰顺县| 伊金霍洛旗| 邛崃市| 山阳县| 修文县| 东乌珠穆沁旗| 馆陶县| 黄大仙区| 呼玛县| 禹州市| 盖州市| 时尚| 中方县| 咸丰县| 唐山市| 志丹县| 黔江区| 衢州市| 宜兰市| 虞城县| 房山区| 平南县| 依安县| 荣成市| 广西| 松江区| 新安县| 富顺县| 冕宁县| 中卫市| 汽车| 彰化市| 富川| 都兰县| 皋兰县| 汝城县| 响水县| 襄汾县| 赤水市| 江北区| 邵阳市|