熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Java編程 >> Java開源技術 >> 正文

淺談Struts框架及其組成部分

2013-11-23 20:39:08  來源: Java開源技術 

  一什麼是框架?

  所謂框架就是提供了一組統一的接口和編程方式的可以重用組件同時我們可以在框架中擴充我們自 己的特定邏輯

  二MVC設計模式

  將應用程序分為個部分模型 Model視圖View控制器Controller模型組件負責業務邏輯模 型包含應用程序的核心功能模型封裝了應用程序的狀態有時它包含的唯一功能就是狀態它對視圖或 控制器一無所知視圖組件負責表示業務范圍的視圖視圖提供模型的表示它是應用程序的外觀視 圖可以訪問模型的讀方法但不能訪問寫方法此外它對控制器一無所知當更改模型時視圖應得到 通知控制器組件負責控制用戶輸入的流和狀態控制器對用戶的輸入作出反應它創建並設置模型 Struts它是使用 servlet 和JavaServer Pages技術的一種MVC 實現 StrutsApache組織的一個項目 MVC的一種開放源碼實現

  三什麼是Struts框架

  Struts 是一組相互協作的類servlet 和 JSP 標記組成的一個可重用的 MVC 設計 這個定義表 示Struts是一個框架而不是一個庫但 Struts框架也包含了豐富的標記庫和獨立於該框架工作的實用 程序類

  四Struts 概覽

  Client browser(客戶浏覽器) 來自客戶浏覽器的每個 HTTP 請求創建一個事件Web 容器將用 一個HTTP響應作出響應

  Controller(控制器) 控制器接收來自浏覽器的請求並決定將這個請求發往何處 就 Struts 而言控制器是以servlet 實現的一個命令設計模式 strutsconfigxml 文件配置控制器命令

  業務邏輯 業務邏輯更新模型的狀態並幫助控制應用程序的流程 就 Struts而言這是通過作 為實際業務邏輯包裝的Action 類完成的

  Model(模型)的狀態 模型表示應用程序的狀態業務對象更新應用程序的狀態 ActionFormbean在會話級或請求級表示模型的狀態而不是在持久級 JSP 文件使用 JSP 標記讀取來自 ActionFormbean的信息

  View(視圖) 視圖就是一個 JSP 文件其中沒有流程邏輯沒有業務邏輯也沒有模型信息 — — 只有標記標記是使Struts 有別於其他框架(如 Velocity)的因素之一

  五 Struts中的Controller(控制器)

  命令設計模式的實現 Struts 的控制器將事件(事件通常是 HTTP post)映射到類的一個 servlet

  ActionServlet (Command) 創建並使用 Action ActionForm 和ActionForward 通過struts configxml 文件配置該 Command從而擴展 Action 和ActionForm來解決特定的問題 可以通過擴展 ActionServlet 來添加 Command 功能

  在Struts框架中控制器組件由三個部分構成

  消息控制模塊用戶所有的提交請求都發往消息控制模塊在由消息總線模塊根據視圖映射模塊找 到消息處理模塊來執行處理邏輯消息控制模塊接收所有用戶的請求並根據請求視圖找到處理Strtus 中通過ActionServlet和RequestProcessor類來完成

  消息處理模塊 該模塊執行該消息的邏輯處理因此通常由用戶擴展實現Struts中通過Action 類來實現

  視圖映射模塊控制器邏輯和視圖邏輯之間的結合是通過配置模塊和配置文件建立其的鏈接 Struts中配置模塊通過ModuleConfig類來完成而配置文件由strutsconfigxml文件提供

  六Struts中的View(視圖)

  視圖組件通過JSP組件實現的Struts框架對視圖組件進行了擴展和封裝Struts對視圖的擴展提供了 一組擴展服務器標簽用來提供視圖顯示以及傳遞數據到處理緩沖而處理緩沖由ActionForm的擴展類來實 現

  Struts框架利用ActionForm Bean來實現視圖與控制器之間的數據的交互維持會話級或請求級的模型 的狀態

  服務器標簽主要包括

  Html視圖標簽 Logic邏輯流程控制標簽 Bean數據緩沖讀取標簽

  七Struts中的Model(模型)

  Struts框架中並沒有定義特定的模型組件而是希望由用戶自己決定選擇合理的模型組件JEE中 可用的模型組件包括JavaBean 用戶定義組件 EJB 組件由EJB容器實現組件 JDO未來JEE數據訪 問模型一些擴展框架如Hibernate

  模型中狀態的級別 會話級或請求級ActionForm bean來維持 持久級模型組件來維持


From:http://tw.wingwit.com/Article/program/Java/ky/201311/28834.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.