氧氣中毒 - J2EE

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

          一、 Struts 的與 Web App 的關(guān)系

          ???? struts叫做web framework,其主要基于web層的應(yīng)用系統(tǒng)開發(fā)。按照J2EE Architecture的標(biāo)準(zhǔn),struts應(yīng)當(dāng)和jsp/servlet一樣,存在于web container一層。

          3.jpg


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

          2.jpg

          1、 從視圖角度( View

          首先, Struts 提供了 Java org. apache.struts.action.ActionForm Java 開發(fā)者將該類細(xì)分來創(chuàng)建表單 bean 。在運(yùn)行時,該 bean 有兩種用法:
          ? 當(dāng) JSP 準(zhǔn)備相關(guān)的 HTML ,表單以進(jìn)行顯示時, JSP 將訪問該

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

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

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

          2、 從模型角度( Model

          Struts 雖然不直接有助于模型開發(fā)。 Struts中,系統(tǒng) 模型 的狀態(tài)主要由ActiomForm Bean和值對象體現(xiàn)。

          3、 從控制器角度( Controller

          ??? Struts framework中, Controller主要是ActionServlet,但是對于業(yè)務(wù)邏輯的操作則主要由ActionActionMappingActionForward這幾個組件協(xié)調(diào)完成(也許這幾個組件,應(yīng)該劃分到模型中的業(yè)務(wù)邏輯一塊)。其中,Action扮演了真正的控制邏輯的實(shí)現(xiàn)者,而ActionMappingActionForward則指定了不同業(yè)務(wù)邏輯或流程的運(yùn)行方向。


          ?
          三、基本組件包

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

          org.apache.struts.action

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

          org.apache.struts.actions

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

          org.apache.struts.config

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

          org.apache.struts.util

          Strtuts 為了更好支持web application的應(yīng)用,體統(tǒng)了一個些常用服務(wù)的支持,比如Connection PoolMessage Source。詳細(xì)信息請參考

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

          org.apache.struts.taglib

          這不是一個包,而是是一個客戶標(biāo)簽類的集合。下面包括Bean TagsHTML TagsLogic TagsNested TagsTemplate Tags這幾個用于構(gòu)建用戶界面的標(biāo)簽類。

          org.apache.struts.validator

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

          1.jpg


          ?

          ?

          主站蜘蛛池模板: 五原县| 依安县| 黄陵县| 加查县| 垣曲县| 长治市| 阳泉市| 鄱阳县| 黄梅县| 黄大仙区| 和平区| 赫章县| 正安县| 衡南县| 黄梅县| 兴业县| 胶南市| 逊克县| 新宾| 德昌县| 都昌县| 南投县| 饶平县| 鹤壁市| 麦盖提县| 松潘县| 宁晋县| 仪陇县| 明星| 崇义县| 潞西市| 福安市| 绿春县| 玉环县| 泸溪县| 泸州市| 墨竹工卡县| 尚义县| 开原市| 滦平县| 正定县|