第三講Struts框架講解_第1頁
第三講Struts框架講解_第2頁
第三講Struts框架講解_第3頁
第三講Struts框架講解_第4頁
已閱讀5頁,還剩17頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、MVCJSP Model 1MVCJSP Model 2MVC 模型-視圖-控制器(MVC)是80年代Smalltalk-80出現(xiàn)的一種軟件設計模式,現(xiàn)在已經被廣泛的使用。 模型(Model) 模型是應用程序的主體部分。模型表示業(yè)務數(shù)據,或者 業(yè)務邏輯. 視圖(View) 視圖是應用程序中用戶界面相關的部分,是用戶看到并 與之交互的界面。 控制器(controller) 控制器工作就是根據用戶的輸入,控制用戶界面數(shù)據顯 示和更新model對象狀態(tài)。MVCFramework 基于請求響應的Framework 控制器(Controller)控制整個Framework中各個組件的協(xié)調工作。 業(yè)務邏輯

2、層(Business Logic)對Framwork本身來說,這 里僅僅只是概念和幾個提夠服務的基礎組件,真正的實現(xiàn)與客戶的業(yè)務邏輯接軌,還需要開發(fā)人員在Framework上再次擴展。 數(shù)據邏輯層(Data Logic)絕大應用系統(tǒng)都需要涉及到數(shù)據交互,這一層次主要包括了數(shù)據邏輯和數(shù)據訪問接口。對于數(shù)據邏輯來說,如果你了解數(shù)據建模(Data Modeling)可能就很容易理解。 問題反饋問題反饋( (一一) )1.MVC模式是從視圖到控制器再到模型,最后再返回視圖,但有時視圖層也可以直接與模型層交互,請問在什么情況下用到,是不是不推薦使用? 當頁面上不存在與模型層對應的屬性時,而頁面上又恰恰需

3、要數(shù)據庫中的某個字段的內容時可以與模型層直接交互,但不推薦使用,因為不利于數(shù)據庫的維護。2.Framework中所謂的框架是不是按提供MVC形式擺放三個層次的位置就可以使用MVC模式了? 應該可以說只要按MVC形式的要求把相應的內容布置上就可以使用了,但實際上還需要使用者遵循MVC提供商中的一些接口之類的約定就可以了。問題反饋問題反饋( (二二) )Struts的概念和體系結構 Struts有一組相互協(xié)作的類、Serlvet以及Jsp TagLib組成?;赟truts構架的web應用程序基本上符合JSP Model2的設計標準,可以說是MVC設計模式的一種變化類型。根據上面對framewor

4、k的描述,我們很容易理解為什么說Struts是一個web framwork,而不僅僅是一些標記庫的組合。但 Struts 也包含了豐富的標記庫和獨立于該框架工作的實用程序類。 Struts的概念和體系結構的概念和體系結構 Struts有其自己的控制器(Controller),同時整合了其他的一些技術去實現(xiàn)模型層(Model)和視圖層(View)。在模型層,Struts可以很容易的與數(shù)據訪問技術相結合,包括EJB,JDBC和Object Relation Bridge。在視圖層,Struts能夠與JSP, Velocity Templates,XSL等等這些表示層組件想結合。Struts與與We

5、b App的關系的關系Struts的體系結構的體系結構從視圖角度(從視圖角度(ViewView) 首先,Struts提供了Java類org.apache.struts.action.ActionForm,Java開發(fā)者將該類細分來創(chuàng)建表單bean。在運行時,該bean有兩種用法: 當JSP準備相關的HTML,表單以進行顯示時,JSP將訪問該bean(它保存要放入表單中的值)。那些值是從業(yè)務邏輯或者是從先前的用戶輸入來提供的。 當從Web瀏覽器中返回用戶輸入時,該bean將驗證并保存該輸入以供業(yè)務邏輯或(如果驗證失敗的話)后續(xù)重新顯示使用。從視圖角度(從視圖角度(ViewView) 其次,Str

6、uts提供了許多定制JSP標記,它們的使用簡單,但是它們在隱藏信息方面功能強大。從模型角度(從模型角度(Model) Struts雖然不直接有助于模型開發(fā)。在Struts中,系統(tǒng)模型的狀態(tài)主要由ActionForm Bean和值對象體現(xiàn)。從控制器角度(從控制器角度(Controller) 在Struts framework中, Controller主要是ActionServlet,但是對于業(yè)務邏輯的操作則主要由Action、ActionMapping、ActionForward這幾個組件協(xié)調完成(也許這幾個組件,應該劃分到模型中的業(yè)務邏輯一塊)。其中,Action扮演了真正的控制邏輯的實現(xiàn)者,

7、而ActionMapping和ActionForward則指定了不同業(yè)務邏輯或流程的運行方向。Struts 的基本組件包的基本組件包Struts的基本組件關系圖的基本組件關系圖 a ac ct ti io on n ( (c co or re e) ) a ac ct ti io on ns s c co on nf fi ig g t ta ag gl li iv va al li id da at to or r u ut ti il l Struts的基本組件包的基本組件包org.apache.struts.actionorg.apache.struts.action基本上,控制整個st

8、ruts framework的運行的核心類、組件都在這個包中,比如我們上面提到的控制器ActionServlet。還有Action,ActionForm,ActionMapping等等。struts1.1比1.0多了 DynaActionForm 類。增加了動態(tài)擴展生成FormBean功能org.apache.struts.actionsorg.apache.struts.actions這個包是主要作用是提供客戶的http請求和業(yè)務邏輯處理之間的特定適配器轉換功能,而1.0版本中的部分動態(tài)增刪FromBean的類,也在struts1.1中被Action包的DynaActionForm組件所取代

9、org.apache.struts.configorg.apache.struts.config提供對配置文件struts-config.xml元素的映射。這也是sturts1.1中新增的功能org.apache.struts.utilorg.apache.struts.utilStrtuts為了更好支持web application的應用,提供了一些常用服務的支持,比如Connection Pool和Message Source。詳細信息請參考/struts/api/org/apache/struts/util/package-summary.

10、htmlorg.apache.struts.tagliborg.apache.struts.taglib這不是一個包,而是一個客戶標簽類的集合。下面包括Bean Tags,HTML Tags,Logic Tags,Nested Tags,Template Tags這幾個用于構建用戶界面的標簽類。org.apache.struts.validatororg.apache.struts.validatorStruts1.1 framework中增加了validator framework,用于動態(tài)的配置from表單的驗證。詳細信息請參閱 http:/ 1.struts與App的關系中,web Se

11、rvice Peers與struts的交互,ebxml和soap不太理解?2.Struts的簡單工作原理:從一個頁面跳轉到另一個頁面的處理過程? (1)當客戶端瀏覽器發(fā)起請求到ActionServlet時,ActionServlet首先對請求進行一系列處理:根據請求的路徑和配置信息找到對應的Action Bean 和Form Bean。 (2)在確定將要調用Action Bean和對應的Form Bean后,就將請求中包含的值填充到Form Bean中(Action可以不關聯(lián)任何ActionForm,所以這一步是可選的)。在調用Action的execute方法前,ActionServlet還需要準備好ActionMapping參數(shù),ActionMapping中包含了該Action的配置信息。問題反饋(二)問題反饋(二) (3)然后Struts將請求分發(fā)至相應的Action Bean處理,ActionMapping參數(shù)、ActionForm參數(shù)、request和respons

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論