氧氣中毒 - J2EE

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

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

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

          3.jpg


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

          2.jpg

          1、 從視圖角度( View

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

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

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

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

          2、 從模型角度( Model

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

          3、 從控制器角度( Controller

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


          ?
          三、基本組件包

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

          org.apache.struts.action

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

          org.apache.struts.actions

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

          org.apache.struts.config

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

          org.apache.struts.util

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

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

          org.apache.struts.taglib

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

          org.apache.struts.validator

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

          1.jpg


          ?

          ?

          主站蜘蛛池模板: 曲周县| 炉霍县| 黑河市| 惠来县| 漳州市| 化州市| 克什克腾旗| 吉木萨尔县| 砚山县| 偃师市| 龙门县| 上高县| 徐闻县| 临朐县| 故城县| 乌什县| 松滋市| 寿阳县| 昌吉市| 邵阳市| 饶河县| 竹北市| 溆浦县| 达拉特旗| 岐山县| 呼伦贝尔市| 湖南省| 揭东县| 高碑店市| 瑞金市| 丹巴县| 商洛市| 静宁县| 报价| 沧源| 哈巴河县| 湖州市| 新干县| 长丰县| 行唐县| 迁西县|