<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    無線&移動互聯網技術研發

    換位思考·····
    posts - 19, comments - 53, trackbacks - 0, articles - 283
      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

    Struts1 初步認識

    Posted on 2009-08-11 00:11 Gavin.lee 閱讀(251) 評論(0)  編輯  收藏 所屬分類: SSH2 --Struts2

    1.為什么要使用struts
    a.struts建立在MVC這種公認的好的模式上的,Struts在M,V,C上都有涉及,但它主要提供一個好的控制器和一套定制的標簽庫上,也就是說它的著力點在C,V上,有MVC的一系列優點,如:結構層次分明,高可重用性,增加了程序的健壯性呵可伸縮性,便于開發與設計分工,提供集中統一的權限控制,校驗,國際化,日志等等;
    b.struts它是開源項目,得到了包括它的發明者Craig R.McClanahan在內的一些程序大師和高手持續而細心的呵護,并且經受了實戰的檢驗,使其功能越來越強大,體系也日益完善;
    c.struts框架能和其他技術很好的融合,如與Spring,Hibernate等框架的整合,大大加快了開發速度

    2.Framework的概念
    框架是人們用于解決相同或者相似類型問題的方案
    特點:可重用性,可擴展性,可收縮性。基于請求響應(request-response)模式的應用Framework的邏輯結構
    控制器:Controller
    業務邏輯層:Business Logic
    數據邏輯層:Data Logic

    3.Struts的概念和體系結構
    Struts是Apache組織的一個開源項目,主要是采用Servlet和JSP技術來實現的
    Struts是一個基于Sun JavaEE平臺的MVC框架,它采用MVC模式,將MVC模式分離顯示邏輯和業務邏輯的能力,發揮的淋漓盡致
    (Struts is a flexible control layer based on standard technologies like Java Servlets,JavaBeans,ResourceBundles,and XML,as well as various Jakarta Commons packages,like BeanUtils and Chain of Responsibility.The frameword helps you create an extensible developmnt environment for your application,based on published standards and proven design patterns)

    4.Struts的實踐步驟
    步驟一:搭建環境
     a.導入jar包,使用其中的類
     b.建立一個配置文件,struts=config.xml
            方便struts用戶使用
            一般在WEB=INF下
     c.修改web.xml
             注冊struts中心控制器 --ActionServlet

    <serlet>
        
    <servlet-name></servlet-name>
        
    <servlet-class></servlet-class>
        
    <init-param> <!-- 初始化加載配置文件 -->
            
    <param-name>config</param-name>
            
    <param-value>/WEB-INF/struts-config.xml</param-value>
        
    </init-param>
        
    <load-on-startup>0</load-on-startup> <!-- web容器啟動就加載該servlet -->
    </serlet>

    <servlet-mapping> <!-- 該servlet對外調用的映射 -->
        
    <servlet-name></servlet-name>
        
    <url-pattern></url-pattern>
    </servlet-mapping>

     
    步驟二:建立ActionForm
    步驟三:建立Action
     建立一個類,繼承Action,覆蓋execute方法
     注冊,修改配置文件struts-config.xml
      path:指明調用者(jsp)能通過中心控制器ActionServlet找到該Action
      type:指明該action類全名
      name:該action引用的form的名稱

    步驟四:頁面訪問


    5.Struts的工作原理
    6.Struts的組件
    7.Struts的配置文件簡介
    8.Struts標記庫
    9.異常處理框架
    10.校驗框架
    11.高級特性
    12.Struts優缺點
    優點:
      Struts跟Tomcat、Turbine等諸多Apache項目一樣,是開源軟件,這是它的一大優點。使開發者能更深入的了解其內部實現機制。除此之外,Struts的優點主要集中體現在兩個

    方面:Taglib和頁面導航。Taglib是Struts的標記庫,靈活動用,能大大提高開發效率。另外,就目前國內的JSP開發者而言,除了使用JSP自帶的常用標記外,很少開發自己的標

    記,或許Struts是一個很好的起點。
      關于頁面導航,我們認為那將是今后的一個發展方向,事實上,這樣做,使系統的脈絡更加清晰。通過一個配置文件,即可把握整個系統各部分之間的聯系,這對于后期的維

    護有著莫大的好處。尤其是當另一批開發者接手這個項目時,這種優勢體現得更加明顯。

    缺點:
      Taglib是Struts的一大優勢,但對于初學者而言,卻需要一個持續學習的過程,甚至還會打亂我們網頁編寫的習慣,但是,當我們習慣了它時,我們會覺得它真的很棒。

    Struts將MVC的Controller一分為三,在獲得結構更加清晰的同時,也增加了系統的復雜度。毫無疑問,要理解 Struts 必須接受一定的培訓。隨著變化的不斷加入,這有時會令人

    很沮喪。
      Struts從產生到現在還不過3-4年時間,就已逐步越來越多運用于商業軟件。雖然它現在還有不少缺點,但它是一種非常優秀的J2EE MVC實現方式,如果我們的系統準備采用

    J2EE MVC架構,那么,不妨考慮一下Struts。
      Struts 是一種基于 Web 的 MVC 解決方案,所以必須用 HTML、JSP 文件和 servlet 來實現它,Struts 需要支持 JSP 1.1 和 Servlet 2.2 規范的 servlet 容器。學習、理

    解和掌握Struts是我們每個基于J2EE軟件開發人員一門必修的課程,也是我們對企業J2EE技術應用的進一步深化。

    /************************************************************************************************/

    Struts的基本組件包

    org.apache.struts.action
     基本上,控制整個struts framework的運行的核心類、組件都在這個包中,比如我們上面提到的控制器ActionServlet。已經Action,ActionForm,ActionMapping等等。struts1.1比1.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 Pool和Message Source。

    org.apache.struts.taglib
     這不是一個包,而是是一個客戶標簽類的集合。下面包括Bean Tags,HTML Tags,Logic Tags,Nested Tags,Template Tags這幾個用于構建用戶界面的標簽類。

    org.apache.struts.validator
     Struts1.1 framework中增加了validator framework,用于動態的配置from表單的驗證。

    /************************************************************************************************/
    核心Struts 類和MVC 的對應

    類                                                                           描述
    ActionForward                                           用戶指向或者視圖選擇
    ActionForm                                                狀態改變的數據
    ActionMapping                                           狀態改變事件
    ActionServlet                                              控制器,接受用戶請求和狀態改變,以及發出視圖選擇
    Action                                                        控制器的一部分,于模型交互,執行狀態改變或狀態查詢,
                                                                    以及告訴ActionServlet 下一個選擇的視圖


    /************************************************************************************************/
    Struts 使用一些配置文件和視圖助手(view helpers)來溝通控制器和模型
    ApplicationResources.properties                                   存儲本地化信息和標簽,以使應用可以國際化
    struts-config.xml                                                            存儲控制器對象的缺省配置,包括模型支持的用戶指向,狀態改變,狀態查詢

    標記庫描述符                                                           目的
    struts-html.tld                                               擴展HTML Form的JSP標記
    struts-bean.tld                                              擴展處理JavaBean的JSP標記
    struts-logic.tld                                              擴展測試屬性值的JSP標記

    /************************************************************************************************/
    控制器組件的配置框架中的控制器組件是有org.apache.struts.action.ActionServlet類實現的,這個類是javax.servlet.http.HttpServlet類的擴展。
    ActionServlet配置:我們需要在web.xml中聲明ActionServlet,并且將它配置成啟動時進行加載。以下為可以配置的初始化參數:
    參數                                                         默認值                                                                        描述
    application                                                    Null                                                                應用程序的資源集合的類
    bufferSize                                                     4096                                                                文件上傳的緩沖區大小
    config                                            /WEB-INF/struts-config.xml                                        配置文件的位置和名稱
    content                                                       Text/html                                                                     默認的內容類型
    debug                                                              0                                                                          程序調試的級別
    detail                                                               0                                                                         程序調試細節的級別
    factory                                                         Null                                                 消息資源工廠,用于國際化中解釋消息資源
    formBean                            org.apache.struts.action.ActionFormBean                         封裝ActionForm bean信息的類的名稱
    forward                              Org.apache.struts.action.ActionForward                          封裝ActionForward對象信息的類的名稱
    locale                                                          True                                                        為true,將在用戶會話中存儲一個本地對象
    mapping                            Org.apache.struts.action.ActionForward                              封裝ActionMapping信息的類的名稱
    maxFileSize                                                250M                                                                 上傳文件的最大尺寸
    multipartClass                   Org.apache.struts.action.ActionForward                                處理多部分請求的類的名稱
    noCache                                                      False                                                      HTTP標頭是否要設置為禁止緩寸
    Null                                                             True                                                       設置為true,對于無效的信息關鍵字將返回null
    tempDir                           作為一個servlet參數提供給程序的工作目錄                        處理下載文件是使用的臨時工作目錄
    validate                                                        True                                                              是否使用新格式的配置文件
    vallidating                                                     True                                                              是否對配置文件進行有效性分析


     

    主站蜘蛛池模板: 伊人婷婷综合缴情亚洲五月| 久久WWW色情成人免费观看| 亚洲午夜无码片在线观看影院猛 | 久久久久亚洲AV无码麻豆| 成av免费大片黄在线观看| 亚洲精品视频久久久| 免费无码专区毛片高潮喷水| 四虎亚洲国产成人久久精品| 成人免费观看男女羞羞视频| 国产日产亚洲系列| 秋霞人成在线观看免费视频 | 成人毛片免费在线观看| 最新亚洲人成网站在线观看| 免费在线观看黄色毛片| 久久一区二区三区免费| 亚洲人成电影在线天堂| 精品久久久久国产免费| 国产大陆亚洲精品国产| 亚洲一区二区女搞男| 小草在线看片免费人成视久网| 亚洲美女大bbbbbbbbb| 成人性生交大片免费看无遮挡| 亚洲一区二区三区丝袜| 亚洲国产成人精品女人久久久 | 国语成本人片免费av无码| 亚洲AV无码一区二区三区电影 | 国产精品亚洲二区在线观看| 久久国产精品国产自线拍免费| 亚洲国产人成在线观看69网站| 国产成人精品免费视频大| 亚洲s码欧洲m码吹潮| 亚洲自偷自偷图片| 色影音免费色资源| 日本激情猛烈在线看免费观看| 亚洲AV无码成人精品区在线观看| 人妻视频一区二区三区免费| 一级做a爰片久久毛片免费陪 | a在线观看免费网址大全| 亚洲国产日韩在线成人蜜芽| 亚洲国产成人久久一区久久| 57pao一国产成永久免费|