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

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

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

    無為

    無為則可為,無為則至深!

      BlogJava :: 首頁 :: 聯系 :: 聚合  :: 管理
      190 Posts :: 291 Stories :: 258 Comments :: 0 Trackbacks
    基于 Web MVC?framework J2EE 的世界內已是空前繁榮。 TTS 網站上幾乎每隔一兩個星期就會有新的 MVC 框架發布。目前比較好的 MVC, 老牌的有 Struts 、 Webwork 。新興的 MVC? 框架有 Spring ?MVC Tapestry 、 JSF 等。這些大多是著名團隊的作品,另外還有一些邊緣團隊的作品,也相當出色,如 Dinamica 、 VRaptor 等。這些框架都提供了較好的層次分隔能力。在實現良好的 MVC? 分隔的基礎上,通過提供一些現成的輔助類庫,同時也促進了生產效率的提高。

      如何選擇一個好的框架應用在你的項目中,將會對你的項目的效率和可重用是至關重要的。本文將對目前最流行、最常用的兩種 framework 進行介紹。

      一、 Struts

       Struts Apache 軟件基金下 Jakarta 項目的一部分。 Struts 框架的主要架構設計和開發者是 Craig?R.McClanahan Struts? 是目前 Java?Web?MVC 框架中不爭的王者。經過長達五年的發展, Struts 已經逐漸成長為一個穩定、成熟的框架,并且占有了 MVC 框架中最大的市場份額。但是 Struts 某些技術特性上已經落后于新興的 MVC 框架。面對 Spring?MVC 、 Webwork2? 這些設計更精密,擴展性更強的框架, Struts 受到了前所未有的挑戰。但站在產品開發的角度而言, Struts 仍然是最穩妥的選擇。

       Struts 有一組相互協作的類(組件)、 Serlvet 以及 jsp?tag?lib 組成?;?/span> struts 構架的 web 應用程序基本上符合 JSP?Model2 的設計標準,可以說是 MVC 設計模式的一種變化類型。根據上面對 framework 的描述,我們很容易理解為什么說 Struts 是一個 web?framwork ,而不僅僅是一些標記庫的組合。但 ?Struts? 也包含了豐富的標記庫和獨立于該框架工作的實用程序類。 Struts 有其自己的控制器( Controller ),同時整合了其他的一些技術去實現模型層( Model )和視 圖層 View )。在模型層, Struts 可以很容易的與數據訪問技術相結合,包括 EJB,JDBC Object?Relation?Bridge 。在視圖層, Struts 能夠與 JSP,?Velocity?Templates,XSL 等等這些表示層組件想結合。

       Struts 體系結構

       struts?framework MVC? 模式的體現,下面我們就從分別從模型、視圖、控制來看看 struts 的體系結構( Architecture )。 ?

      從視圖角度( View

      主要由 JSP 建立, struts 自身包含了一組可擴展的自定義標簽庫( TagLib ),可以簡化創建用戶界面的過程。目前包括: Bean?Tags , HTML?Tags , Logic?Tags , Nested?Tags Template?Tags  這幾個 Taglib 。有關它們的詳細資料請參考 struts 用戶手冊

      從模型角度( Model

      模型主要是表示一個系統的狀態(有時候,改變系統狀態的業務邏輯操作也也劃分到模型中)。在 Struts 中,系統的狀態主要有 ActiomForm?Bean 體現,一般情況下,這些狀態是非持久性的。如果需要將這些狀態轉化為持久性數據存儲, Struts 本身也提供了 Utitle 包,可以方便的與數據庫操作

      從控制器角度( Controller

      在 Struts?framework 中, ?Controller 主要是 ActionServlet ,但是對于業務邏輯的操作則主要由 Action 、 ActionMapping 、 ActionForward 這幾個組件協調完成(也許這幾個組件,應該劃分到模型中的業務邏輯一塊)。其中, Action 扮演了真正的業務邏輯的實現者,而 ActionMapping ActionForward 則指定了不同業務邏輯或流程的運行方向。
    對于 Struts? 如何控制、處理客戶請求,讓我們通過對 struts 的四個核心組件介紹來具體說明。這幾個組件就是: ActionServlet 。 Action?Classes Action?Mapping (此處包括 ActionForward ), ActionFrom?Bean 。

      二、 Spring

       Spring? 實際上是 Expert?One-on-One?J2EE?Design?and?Development? 一書中所闡述的設計思想的具體實現。在 One-on-One? 一書中, Rod?Johnson? 倡導 J2EE? 實用主義的設計思想,并隨書提供了一個初步的開發框架實現( interface21? 發包 )。而 Spring? 正是這一思想的更全面和具體的體現。 Rod?Johnson? interface21? 開發包的基礎之上,進行了進一步的改造和擴充,使其發展為一個更加開放、清晰、全面、高效的開發框架。

       Spring 是一個開源框架,由 Rod?Johnson 創建并且在他的著作《 J2EE 設計開發編程指南》里進行了描述。它是為了解決企業應用開發的復雜性而創建的。 Spring 使使用基本的 JavaBeans 來完成以前只可能由 EJB 完成的事情變得可能了。然而, Spring 的用途不僅限于服務器端的開發。從簡單性、可測試性和松耦合的角度而言,任何 Java 應用都可以從 Spring 中受益。

      簡單來說, Spring 是一個輕量的控制反轉和面向切面的容器框架。當然,這個描述有點過于簡單。但它的確概括出了 Spring 是做什么的。為了更好地理解 Spring ,讓我們分析一下這個描述: ?

       1 、輕量,從大小與開銷兩方面而言 Spring 都是輕量的。完整的 Spring 框架可以在一個大小只有 1MB 多的 JAR 文件里發布。并且 Spring 所需的處理開銷也是微不足道的。此外, Spring 是非侵入式的:典型地, Spring 應用中的對象不依賴于輕量 ?? 從大小與開銷兩方面而言 Spring 都是輕量的。完整的 Spring 框架可以在一個大小只有 1MB 多的 JAR 文件里發布。并且 Spring 所需的處理開銷也是微不足道的。此外, Spring 是非侵入式的:典型地, Spring 應用中的對象不依賴于 Spring 的特定類。

       2 、控制反轉 ??Spring 通過一種稱作控制反轉( IoC )的技術促進了松耦合。當應用了 IoC ,對象被動地傳遞它們的依賴而不是自己創建或者查找依賴對象。你可以認為 IoC JNDI 相反 ?? 不是對象從容器中查找依賴,而是容器在對象初始化時不等被請求就將依賴傳遞給它。 ?

       3 、面向切面 ??Spring 包含對面向切面編程的豐富支持,允許通過分離應用的業務邏輯與系統服務(例如審計與事物管理)進行內聚性的開發。應用對象只做它們應該做的 ?? 完成業務邏輯 ?? 僅此而已。它們并不負責(甚至是意識)其它的系統關注點,例如 日志 或事物支持。 ?

       4 、容器 ??Spring 包含和管理應用對象的配置和生命周期,在這個意義上它是一種容器。你可以配置你的每個 bean 如何被創建 ?? 基于一個配置原形為你的 bean 創建一個單獨的實例或者每次需要時都生成一個新的實例 ?? 以及它們是如何相互關聯的。然而, Spring 不應該被混同于傳統的重量的 EJB 容器,它們經常是龐大與笨重的,難以使用。 ?

      框架: Spring 使由簡單的組件配置和組合復雜的應用成為可能。在 Spring 中,應用對象被聲明式地組合,典型地是在一個 XML 文件里。 Spring 也提供了很多基礎功能(事務管理、持久性框架集成等等),將應用邏輯的開發留給了你。 ?

      所有 Spring 的這些特征使你能夠編寫更干凈、更可管理、并且更易于測試的代碼。它們也為 Spring 中的各種子框架提供了基礎。



    凡是有該標志的文章,都是該blog博主Caoer(草兒)原創,凡是索引、收藏
    、轉載請注明來處和原文作者。非常感謝。

    posted on 2006-06-11 17:37 草兒 閱讀(298) 評論(0)  編輯  收藏 所屬分類: java
    主站蜘蛛池模板: 免费国产高清视频| 中文字幕无码精品亚洲资源网久久| 国产在线观看片a免费观看| A国产一区二区免费入口| 亚洲精品日韩一区二区小说| 亚洲自偷自拍另类图片二区| 国产亚洲精aa成人网站| 日本一道高清不卡免费| 性色av无码免费一区二区三区| 一级毛片免费播放| 国产真人无码作爱视频免费| 免费a级毛片在线观看| 好吊妞在线成人免费| 免费观看AV片在线播放| 最近免费中文字幕mv在线电影| 中文字幕免费在线看电影大全 | 美女被艹免费视频| 久久亚洲精品国产精品婷婷| 亚洲伊人久久大香线蕉在观| 在线观看亚洲人成网站| 午夜亚洲国产理论秋霞| 亚洲AV午夜成人片| 亚洲AV无码乱码在线观看富二代 | 色噜噜的亚洲男人的天堂| 国产色在线|亚洲| 亚洲人色大成年网站在线观看| 91亚洲va在线天线va天堂va国产 | 国产精品亚洲综合| 国产精品亚洲AV三区| 极品色天使在线婷婷天堂亚洲| 亚洲精品一卡2卡3卡四卡乱码| 亚洲色偷偷偷综合网| 亚洲日本va一区二区三区| 亚洲国产精品自在自线观看| 亚洲av无码专区国产不乱码| 亚洲色成人WWW永久在线观看| 亚洲色成人网站WWW永久四虎 | 在线看片免费不卡人成视频| 成人性生交大片免费看午夜a | 看亚洲a级一级毛片| 五月天国产成人AV免费观看|