国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

淺析Struts 體系結構與工作原理

2019-11-18 15:39:41
字體:
來源:轉載
供稿:網友

  基本概念

  Struts是Apache 基金會Jakarta 項目組的一個Open Source 項目,它采用MVC模式,能夠很好地幫助java 開發者利用J2EE開發Web應用。和其他的java架構一樣,Struts 也是面向對象設計,將MVC模式"分離顯示邏輯和業務邏輯"的能力發揮得淋漓盡致。
StrUCts 框架的核心是一個彈性的控制層,基于如 Java Servlets,JavaBeans,ResourceBundles與xml等標準技術,以及 Jakarta Commons 的一些類庫。Struts有一組相互協作的類(組件)、Serlvet以及jsp tag lib組成。基于struts構架的web應用程序基本上符合JSP Model2的設計標準,可以說是一個傳統 MVC設計模式的一種變化類型。

  Struts有其自己的控制器(Controller),同時整合了其他的一些技術去實現模型層(Model)和視圖層(View)。在模型層,Struts可以很輕易的與數據訪問技術相結合,如 JDBC / EJB ,以及其它第三方類庫,如 Hibernate / iBATIS ,或者 Object Relational Bridge(對象關系橋)。在視圖層,Struts能夠與JSP,包括 JSTL 與 JSF,以及 Velocity 模板,XSLT 與其它表示層技術。
Struts 為每個專業的 Web 應用程序做背后的支撐,幫助為你的應用創建一個擴展的開發環境。

  Struts的體系結構與工作原理

  MVC即Model-View-Controller的縮寫,是一種常用的設計模式。MVC 減弱了業務邏輯接口和數據接口之間的耦合,以及讓視圖層更富于變化。MVC的工作原理,如下圖1所示:

淺析Struts 體系結構與工作原理(圖一)
圖1

  Struts 是MVC的一種實現,它將 Servlet和 JSP 標記(屬于 J2EE 規范)用作實現的一部分。Struts繼續了MVC的各項特性,并根據J2EE的特點,做了相應的變化與擴展。Struts的體系結構與工作原理如下圖2所示:

淺析Struts 體系結構與工作原理(圖二)
圖2

  從圖2中我們可以知道,Struts的體系結構包括模型(Model),視圖(View)和控制器(Controller)三部分。

  下面讓我們從MVC角度來看看struts的體系結構(Model 2)與工作原理:

  1)模型(Model)

  在Struts的體系結構中,模型分為兩個部分:系統的內部狀態和可以改變狀態的操作(事務邏輯)。內部狀態通常由一組ActinForm Bean表示。根據設計或應用程序復雜度的不同,這些Bean可以是自包含的并具有持續的狀態,或只在需要時才獲得數據(從某個數據庫)。大型應用程序通常在方法內部封裝事務邏輯(操作),這些方法可以被擁有狀態信息的bean調用。比如購物車bean,它擁有用戶購買商品的信息,可能還有checkOut()方法用來檢查用戶的信用卡,并向倉庫發定貨信息。 小型程序中,操作可能會被內嵌在Action類,它是struts框架中控制器角色的一部分。當邏輯簡單時這個方法很適合。 建議用戶將事務邏輯(要做什么)與Action類所扮演的角色(決定做什么)分開。

  2)視圖(View)

  視圖主要由JSP建立,struts包含擴展自定義標簽庫(TagLib),可以簡化創建完全國際化用戶界面的過程。目前的標簽庫包括:Bean Tags、Html tags、Logic Tags、Nested Tags 以及Template Tags等。

  3)控制器(Controller)

  在struts中,基本的控制器組件是ActionServlet類中的實例servelt,實際使用的servlet在配置文件中由一組映射(由ActionMapping類進行描述)進行定義。對于業務邏輯的操作則主要由Action、ActionMapping、ActionForward這幾個組件協調完成的,其中Action扮演了真正的業務邏輯的實現者,ActionMapping與ActionForward則指定了不同業務邏輯或流程的運行方向。struts-config.xml 文件配置控制器。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 梨树县| 长顺县| 新竹县| 宁南县| 宜川县| 深圳市| 阳原县| 峡江县| 称多县| 博客| 黄浦区| 兰溪市| 卢氏县| 胶南市| 安庆市| 金门县| 威海市| 武穴市| 蚌埠市| 德钦县| 上高县| 河间市| 隆昌县| 平泉县| 滦南县| 高要市| 子长县| 山东| 垦利县| 密山市| 三都| 琼中| 区。| 梧州市| 许昌县| 新平| 承德市| 崇文区| 敖汉旗| 锡林郭勒盟| 红河县|