(一)個人整理Struts框架簡介
一
什麼是框架? 所謂框架就是提供了一組統一的接口和編程方式的可以重用組件
同時我們可以在框架中擴充我們自己的特定邏輯
二
MVC設計模式 將應用程序分為
個部分
模型 Model
視圖View
控制器Controller
模型組件
負責業務邏輯
模型包含應用程序的核心功能
模型封裝了應用程序的狀態
有時它包含的唯一功能就是狀態
它對視圖或控制器一無所知
視圖組件
負責表示業務范圍的視圖
視圖提供模型的表示
它是應用程序的 外觀
視圖可以訪問模型的讀方法
但不能訪問寫方法
此外
它對控制器一無所知
當更改模型時
視圖應得到通知
控制器組件
負責控制用戶輸入的流和狀態
控制器對用戶的輸入作出反應
它創建並設置模型
Struts
它是使用 servlet 和 JavaServer Pages 技術的一種MVC 實現
Struts
Apache組織的一個項目
MVC 的一種開放源碼實現
三
什麼是Struts框架 Struts 是一組相互協作的類
servlet 和 JSP 標記組成的一個可重用的 MVC
設計
這個定義表示 Struts 是一個框架
而不是一個庫
但 Struts 也包含了豐富的標記庫和獨立於該框架工作的實用程序類
四
Struts 概覽
Client browser(客戶浏覽器) 來自客戶浏覽器的每個 HTTP 請求創建一個事件
Web 容器將用一個 HTTP 響應作出響應
Controller(控制器) 控制器接收來自浏覽器的請求
並決定將這個請求發往何處
就 Struts 而言
控制器是以 servlet 實現的一個命令設計模式
struts
config
xml 文件配置控制器命令
業務邏輯 業務邏輯更新模型的狀態
並幫助控制應用程序的流程
就 Struts 而言
這是通過作為實際業務邏輯
瘦
包裝的 Action 類完成的
Model(模型)的狀態 模型表示應用程序的狀態
業務對象更新應用程序的狀態
ActionForm bean 在會話級或請求級表示模型的狀態
而不是在持久級
JSP 文件使用 JSP 標記讀取來自 ActionForm bean 的信息
View(視圖) 視圖就是一個 JSP 文件
其中沒有流程邏輯
沒有業務邏輯
也沒有模型信息 —— 只有標記
標記是使 Struts 有別於其他框架(如 Velocity)的因素之一
五
Struts中的Controller(控制器) 命令設計模式的實現
Struts 的控制器將事件(事件通常是 HTTP post)映射到類的一個 servlet
ActionServlet (Command) 創建並使用 Action
ActionForm 和 ActionForward
通過struts
config
xml 文件配置該 Command
從而擴展 Action 和 ActionForm 來解決特定的問題
可以通過擴展 ActionServlet 來添加 Command 功能
在Struts框架中控制器組件由三個部分構成
消息控制模塊
用戶所有的提交請求都發往消息控制模塊
在由消息總線模塊根據視圖映射模塊找到消息處理模塊來執行處理邏輯
消息控制模塊接收所有用戶的請求
並根據請求視圖找到處理
Strtus中通過ActionServlet和RequestProcessor類來完成
消息處理模塊
該模塊執行該消息的邏輯處理
因此通常由用戶擴展實現
Struts中通過Action類來實現
視圖映射模塊
控制器邏輯和視圖邏輯之間的結合是通過配置模塊和配置文件建立其的鏈接
Struts中配置模塊通過ModuleConfig類來完成
而配置文件由struts
config
xml文件提供
六
Struts中的View(視圖) 視圖組件通過JSP組件實現的
Struts框架對視圖組件進行了擴展和封裝
Struts對視圖的擴展提供了一組擴展服務器標簽用來提供視圖顯示以及傳遞數據到處理緩沖
而處理緩沖由ActionForm的擴展類來實現
Struts框架利用ActionForm Bean來實現視圖與控制器之間的數據的交互
維持會話級或請求級的模型的狀態
服務器標簽主要包括
Html視圖標簽
Logic邏輯流程控制標簽
Bean數據緩沖讀取標簽
七
Struts中的Model(模型)
Struts框架中並沒有定義特定的模型組件
而是希望由用戶自己決定選擇合理的模型組件
J
EE中可用的模型組件包括
JavaBean 用戶定義組件
EJB 組件
由EJB容器實現組件
JDO 未來J
EE數據訪問模型
一些擴展框架如
Hibernate
模型中狀態的級別 會話級或請求級
ActionForm bean來維持
持久級
模型組件來維持
From:http://tw.wingwit.com/Article/program/Java/ky/201311/28517.html