Strus與JavaWeb應(yīng)用簡單介紹課件_第1頁
Strus與JavaWeb應(yīng)用簡單介紹課件_第2頁
Strus與JavaWeb應(yīng)用簡單介紹課件_第3頁
Strus與JavaWeb應(yīng)用簡單介紹課件_第4頁
Strus與JavaWeb應(yīng)用簡單介紹課件_第5頁
已閱讀5頁,還剩53頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1Struts1Struts22334本資料來源4本資料來源556本資料來源6本資料來源7788991010111112CORBA:公共對象請求代理體系結(jié)構(gòu))是由OMG組織制訂的一種標(biāo)準(zhǔn)的面向?qū)ο髴?yīng)用程序體系規(guī)范。或者說CORBA體系結(jié)構(gòu)是對象管理組織(OMG)為解決分布式處理環(huán)境(DCE)中,硬件和軟件系統(tǒng)的互聯(lián)而提出的一種解決方案。12CORBA:公共對象請求代理體系結(jié)構(gòu))是由OMG組織制訂131314WEB服務(wù)器和應(yīng)用服務(wù)器

任何一個WEB應(yīng)用都離不開Web服務(wù)器以及應(yīng)用服務(wù)器,WEB服務(wù)器用于處理http請求,應(yīng)用服務(wù)器可以提供和web應(yīng)用相關(guān)的服務(wù),如EJB容器就是一種處理業(yè)務(wù)邏輯和事務(wù)的應(yīng)用服務(wù)器。14WEB服務(wù)器和應(yīng)用服務(wù)器15實(shí)現(xiàn)它們。15實(shí)現(xiàn)它們。1616171718181919202021212222232324242525263.控制器 控制器由ActionServlet類和Action類來實(shí)現(xiàn)。ActionServlet類是Struts框架中的核心組件,ActionServlet繼承了javax.servlet.http.HttpServlet類,它在MVC模型中扮演中央控制器的角色。ActionServlet主要負(fù)責(zé)接收HttP請求信息。根據(jù)配置文件Struts-config.xml的配置信息,把請求轉(zhuǎn)發(fā)給適當(dāng)?shù)腁ction對象。如果該Action對象不存在,ActionServlet會先創(chuàng)建這個Action對象。

Action類負(fù)責(zé)調(diào)用模型的方法,更新模型的狀態(tài),并幫助控制應(yīng)用程序的流程。對于小型簡單的應(yīng)用,Action類本身也可以完成一些業(yè)務(wù)邏輯。 當(dāng)ActionServlet控制器收到用戶請求后,把請求轉(zhuǎn)發(fā)到一個Action實(shí)例,如果這個實(shí)例不存在就先創(chuàng)建。然后調(diào)用Action的execute()方法,execute()方法返回ActionForward對象,它封裝了把用戶請求轉(zhuǎn)發(fā)給其他WEB組件的信息。用戶定義自己的Action類時,即Action基類的子類時,必須覆蓋execute()方法,在Action基類中該方法返回null。263.控制器274.Struts的配置文件Struts-config.xml

一個用戶請求是通過ActionServlet來處理和轉(zhuǎn)發(fā)的,那么ActionServlet如何決定把請求轉(zhuǎn)發(fā)給哪個Action對象呢?這就需要描述用戶請求路徑和Action映射信息的配置信息了。在該配置文件中,每個Action的映射信息都通過一個<action>元素來配置。這些配置信息在系統(tǒng)啟動的時候被讀入內(nèi)存,供Struts在運(yùn)行期間實(shí)用,在內(nèi)存中,每一個<action>元素都對應(yīng)一個org.apache.struts.action.ActionMapping類的實(shí)例。1.4.2Struts的工作流程。 對于采用Struts框架的Web應(yīng)用,在Web應(yīng)用啟動時就會被加載并初始化ActionServlet。ActionServlet從配置文件中讀取配置信息,把他們存放到各種配置對象中,例如Action的映射信息存放在ActionMapping對象中。 當(dāng)ActionServlet接收到一個請求的時候,它將執(zhí)行如下流程。274.Struts的配置文件Struts-config.28檢索和用戶請求匹配的ActionMapping實(shí)例,如果不存在就返回用戶請求路徑無效的信息。

(2)如果ActionForm實(shí)例不存在,就創(chuàng)建一個ActionForm對象,把客戶提交的表單數(shù)據(jù)保存到ActionForm對象中。

(3)根據(jù)配置信息決定是否需要表單驗(yàn)證,如果需要驗(yàn)證,就調(diào)用ActionForm的Validator()方法。

(4)如果ActionForm的Validator()方法返回null或返回一個不包含ActionMessage對象,就表示表單驗(yàn)證成功。

(5)ActionServlet根據(jù)ActionMapping實(shí)例包含的映射信息決定將請求轉(zhuǎn)發(fā)給哪個Action。如果相應(yīng)的Action實(shí)例不存在,就先創(chuàng)建這個對象,然后調(diào)用Action的execute()方法。

(6)Action的execute()方法返回一個ActionForward對象,ActionServalet再把客戶請求轉(zhuǎn)發(fā)給ActionForward對象指向的jsp組件。

(7)ActionForward對象指向的jsp組件生成動態(tài)網(wǎng)頁,返回給客戶。

對于以上流程的流程(4),如果ActionForm的Validator()方法返回一個包含一個或多個ActionMessage的ActionErrors對象,就表示表單驗(yàn)證失敗。此時ActionServlet將直接把請求轉(zhuǎn)發(fā)給包含用戶提交表單的jsp組件。在這種情況下,不會再創(chuàng)建Action對象并調(diào)用Action的execute()方法。

圖1-14顯示了Struts響應(yīng)用戶請求的工作流程。28檢索和用戶請求匹配的ActionMapping實(shí)例,如果演講完畢,謝謝觀看!演講完畢,謝謝觀看!30Struts1Struts31232333本資料來源4本資料來源34535本資料來源6本資料來源3673783893910401141CORBA:公共對象請求代理體系結(jié)構(gòu))是由OMG組織制訂的一種標(biāo)準(zhǔn)的面向?qū)ο髴?yīng)用程序體系規(guī)范?;蛘哒fCORBA體系結(jié)構(gòu)是對象管理組織(OMG)為解決分布式處理環(huán)境(DCE)中,硬件和軟件系統(tǒng)的互聯(lián)而提出的一種解決方案。12CORBA:公共對象請求代理體系結(jié)構(gòu))是由OMG組織制訂421343WEB服務(wù)器和應(yīng)用服務(wù)器

任何一個WEB應(yīng)用都離不開Web服務(wù)器以及應(yīng)用服務(wù)器,WEB服務(wù)器用于處理http請求,應(yīng)用服務(wù)器可以提供和web應(yīng)用相關(guān)的服務(wù),如EJB容器就是一種處理業(yè)務(wù)邏輯和事務(wù)的應(yīng)用服務(wù)器。14WEB服務(wù)器和應(yīng)用服務(wù)器44實(shí)現(xiàn)它們。15實(shí)現(xiàn)它們。4516461747184819492050215122522353245425553.控制器 控制器由ActionServlet類和Action類來實(shí)現(xiàn)。ActionServlet類是Struts框架中的核心組件,ActionServlet繼承了javax.servlet.http.HttpServlet類,它在MVC模型中扮演中央控制器的角色。ActionServlet主要負(fù)責(zé)接收HttP請求信息。根據(jù)配置文件Struts-config.xml的配置信息,把請求轉(zhuǎn)發(fā)給適當(dāng)?shù)腁ction對象。如果該Action對象不存在,ActionServlet會先創(chuàng)建這個Action對象。

Action類負(fù)責(zé)調(diào)用模型的方法,更新模型的狀態(tài),并幫助控制應(yīng)用程序的流程。對于小型簡單的應(yīng)用,Action類本身也可以完成一些業(yè)務(wù)邏輯。 當(dāng)ActionServlet控制器收到用戶請求后,把請求轉(zhuǎn)發(fā)到一個Action實(shí)例,如果這個實(shí)例不存在就先創(chuàng)建。然后調(diào)用Action的execute()方法,execute()方法返回ActionForward對象,它封裝了把用戶請求轉(zhuǎn)發(fā)給其他WEB組件的信息。用戶定義自己的Action類時,即Action基類的子類時,必須覆蓋execute()方法,在Action基類中該方法返回null。263.控制器564.Struts的配置文件Struts-config.xml

一個用戶請求是通過ActionServlet來處理和轉(zhuǎn)發(fā)的,那么ActionServlet如何決定把請求轉(zhuǎn)發(fā)給哪個Action對象呢?這就需要描述用戶請求路徑和Action映射信息的配置信息了。在該配置文件中,每個Action的映射信息都通過一個<action>元素來配置。這些配置信息在系統(tǒng)啟動的時候被讀入內(nèi)存,供Struts在運(yùn)行期間實(shí)用,在內(nèi)存中,每一個<action>元素都對應(yīng)一個org.apache.struts.action.ActionMapping類的實(shí)例。1.4.2Struts的工作流程。 對于采用Struts框架的Web應(yīng)用,在Web應(yīng)用啟動時就會被加載并初始化ActionServlet。ActionServlet從配置文件中讀取配置信息,把他們存放到各種配置對象中,例如Action的映射信息存放在ActionMapping對象中。 當(dāng)ActionServlet接收到一個請求的時候,它將執(zhí)行如下流程。274.Struts的配置文件Struts-config.57檢索和用戶請求匹配的ActionMapping實(shí)例,如果不存在就返回用戶請求路徑無效的信息。

(2)如果ActionForm實(shí)例不存在,就創(chuàng)建一個ActionForm對象,把客戶提交的表單數(shù)據(jù)保存到ActionForm對象中。

(3)根據(jù)配置信息決定是否需要表單驗(yàn)證,如果需要驗(yàn)證,就調(diào)用ActionForm的Validator()方法。

(4)如果ActionForm的Validator()方法返回null或返回一個不包含ActionMessage對象,就表示表單驗(yàn)證成功。

(5)ActionServlet根據(jù)ActionMapping實(shí)例包含的映射信息決定將請求轉(zhuǎn)發(fā)給哪個Action。如果相應(yīng)的Action實(shí)例不存在,就先創(chuàng)建這個對象,然后調(diào)用Action的execute()方法。

(6)Action的execute()方法返回一個ActionForward對象,ActionServalet再把客戶請求轉(zhuǎn)發(fā)給ActionForward對象指向的jsp組件。

(7)ActionForward對象指向的jsp組件生成動態(tài)網(wǎng)頁,返回給客戶。

對于以上流程的流程(4),如果ActionForm的Val

溫馨提示

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

評論

0/150

提交評論