通過Struts構建Web應用.ppt_第1頁
通過Struts構建Web應用.ppt_第2頁
通過Struts構建Web應用.ppt_第3頁
通過Struts構建Web應用.ppt_第4頁
通過Struts構建Web應用.ppt_第5頁
已閱讀5頁,還剩24頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、通過Struts構建Web應用,吳衛(wèi)雄,培訓目的,本次培訓的目的是為了讓有一定Java開發(fā)基礎的參與者能在最短時間內熟悉和掌握基于Struts的Web應用的開發(fā)工作。 在本次培訓中將重點講述以下內容: Struts以及相關技術的介紹 Struts的組成部份和結構 Struts構建Web應用的過程,JSP Model 2 體系結構,JSP Model 2 概述,JSP的意圖是使創(chuàng)建動態(tài)頁面更容易。JSP 首先是作為servlet的替代引入的,還有就是MS的ASP。Servlet的強大功能當作易于創(chuàng)建服務器頁面的工具提供給開發(fā)者。但強大的功能伴隨著巨大的責任。很多團隊發(fā)現(xiàn),如果他們一不小心,他們的

2、項目就會因為糾纏如麻的頁面變的容易崩潰。進一步的特性需要使用復雜的腳本程序。但腳本程序是非常難于重用的除非你在頁面間把代碼“拷貝粘貼”。,JSP Model 2 概述,工具頁面也可以包括進來,但他們很難被組織在一起,并且造成非常丑陋的“資源”樹。有些東西會出錯。 很多開發(fā)人員很快意識到, JSPs 和 servlets 可以一起使用來部署web 應用。Servlet可以應付控制流,而 JSP則可專注于討厭的編寫HTML的任務。在例行課程中,結合使用 JSP 和 servlet 開始被稱為Model 2 (單獨使用JSP稱為Model 1)。 當然,從Sun哪里仍然沒什么新東西. 而且很多人很快

3、指出 JSP Model 2 類似于經典的Model-View-Controller 架構。,JSP Model 2 概述,在很多場合,現(xiàn)在交互使用Model 2 和 MVC這兩個詞已經很平常了,雖然還有一些爭論,即一個應用是否是 MVC,以及是否支持經典的觀察者通知模式。沒有觀察者通知的模型(Model)-視圖(View)-控制器(Controller)有時被稱為MVC2 或Web MVC。,Struts 通過提供一個控制器Servlet實現(xiàn)了Sun的 Model 2 架構,這個控制器可以用來管理JSP頁面和其他表現(xiàn)設備之間的流程。Struts 通過使用視圖層轉移控制(ActionForwa

4、rd) 和映射控制(ActionMapping) 來保證表現(xiàn)層之外的控制流決策來實現(xiàn) MVC 模式。JSP可以引用一個邏輯目標。控制器組件在運行時提供準確的URI。,Struts如何實現(xiàn)Model2與MVC,什么是Struts框架?,Struts框架具有組件的模塊化,靈活性和重用性的優(yōu)點,同時簡化了基于MVC的web應用程序的開發(fā)。 通過本教程,你將看到Struts是如何清晰地區(qū)分控制、事務邏輯和外觀,從而簡化了開發(fā)應用程序過程的。我們還將介紹Struts提供的類如何使得開發(fā)工作更加簡單,這些類包括: 1、控制程序流程的類 2、實現(xiàn)和執(zhí)行程序事務邏輯的類 3、自定義標簽庫使得創(chuàng)建和驗證HTML

5、表單更容易,應用程序功能層,Struts 體系結構,Struts MVC狀態(tài)圖,red:controller purple:model green:view,Struts 應用程序活動圖,Struts 架構,Struts 頂級程序包,組件介紹,控制器基礎類(ActionServlet),ActionServlet表示MVC結構中的控制器部分,它需要完成控制器所需的前端控制及轉發(fā)請求等職責。其次,ActionServlet被實現(xiàn)為一個專門處理HTTP請求的Servlet,它同時具有servlet的特點。在Struts 1.1中它主要完成以下功能: ActionForm是一個抽象類,你必須通過繼承

6、來實現(xiàn)自己的類。 接收客戶端請求 根據(jù)客戶端的URI將請求映射到一個相應的Action類 從請求中獲取數(shù)據(jù)填充Form Bean(如果需要) 調用Action類的execute()方法獲取數(shù)據(jù)或者執(zhí)行業(yè)務邏輯 選擇正確的視圖響應客戶,組件介紹,控制器表單對象(ActionForm),ActionForm表示HTTP窗體中的數(shù)據(jù),可以將其看作是模型和視圖的中介,它負責保存視圖中的數(shù)據(jù)供模型或者視圖使用。Struts 1.1文檔中把它比作HTTP和Action之間的防火墻,這體現(xiàn)了ActionForm具有的過濾保護的作用,只有通過ActionForm驗證的數(shù)據(jù)才能夠發(fā)送到Action處理。 Act

7、ionForm是與一個或多個ActionConfig關聯(lián)的JavaBean,在相應的action的execute方法被調用之前,ActionForm會自動利用請求參數(shù)來填充自己(初始化屬性)。 ActionForm是一個抽象類,你必須通過繼承來實現(xiàn)自己的類。 ActionForm首先利用屬性的getter和setter方法來實現(xiàn)初始化,初始化完畢后,ActionForm的validate方法被調用,你可以在其中來檢查請求參數(shù)的正確性和有效性,并且可以將錯誤信息以ActionErrors的形式返回到輸入窗體。否則,ActionForm將被作為參數(shù)傳給action的execute方法以供使用。,組

8、件介紹,控制器(Action),我們通過繼承Action類來實現(xiàn)具體的執(zhí)行類。具體Action類的功能一般都在execute(以前是perform方法)方法中完成,其中主要涉及到以下幾個方面: ActionForm是一個抽象類,你必須通過繼承來實現(xiàn)自己的類。 輔助ActionForm進行一些表單數(shù)據(jù)的檢查 執(zhí)行必要的業(yè)務邏輯,比如存取數(shù)據(jù)庫,調用實體bean等 更新服務器端的bean數(shù)據(jù),后續(xù)對象中可能會用到這些數(shù)據(jù),比如在JSP中利用bean:write來獲得這些數(shù)據(jù) 根據(jù)處理結果決定程序的去處,并以ActionForward對象的形式返回給ActionServlet,組件介紹,映射控制對象

9、(Action Mapping),控制器通過動作和請求信息相對應的映射配置說明什么信息轉發(fā)到什么Action類。這些配置映射信息是存儲在特定的XML文件(比如struts-config.xml)。 這些配置信息在系統(tǒng)啟動的時候被讀入內存,供struts framework在運行期間使用。 在內存中,每一個元素都與org.apache.struts.action.ActionMapping類的一個實例對應。,轉移控制對象(ActionForward),用來抉擇當一個Action結束時控制器將指示操作轉移的對象。這個對象可以在配置文件里進行配置。,組件介紹,ActionError,用來存儲和回收錯誤。,組件介紹,J2EE應用目錄結構,WebApp _web 應用根路徑 |_images/css/html/jsp/ _web 視圖資源 |_META-INF | |_Manifest.mf _存儲包和擴展的配置數(shù)據(jù),如安全性和版本信息 |_WEB-INF |_web.xml _web 應用行為描述 |_*.properties/*.xml/*.tld _配置文件 |_lib | |_*.jar _web 應用引用類庫 |_classes |_*.classes _web 應用代碼 |_ *.properties/

溫馨提示

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

最新文檔

評論

0/150

提交評論