第四講Struts實例講解_第1頁
第四講Struts實例講解_第2頁
第四講Struts實例講解_第3頁
第四講Struts實例講解_第4頁
免費預(yù)覽已結(jié)束,剩余21頁可下載查看

下載本文檔

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

文檔簡介

1、Struts安裝與使用安裝與使用 Step 1. 拷貝Struts.jar和所有common相關(guān)的jar包到Web應(yīng)用的lib目錄下。 Step 2. 拷貝Struts-* .tld 到WEB-INF的目錄下。 Step 3. web.xml配置 Step 4. struts-config.xml配置 Step 5. 編寫Form、Action和Jsp頁面Struts安裝與使用安裝與使用web.xml配置servlet-nameaction/servlet-nameservlet-classorg.apache.struts.action.ActionServlet/servlet-class

2、init-paramparam-nameconfig/param-nameparam-value/WEB-INF/struts-config.xml/param-value/init-paramload-on-startup2/load-on-startupStruts安裝與使用安裝與使用web.xml配置servlet-mappingservlet-nameaction/servlet-nameurl-pattern*.do或/do/*/url-pattern/servlet-mappingStruts安裝與使用安裝與使用?xml version=1.0 encoding=UTF-8?!DO

3、CTYPE struts-config PUBLIC -/Apache Software Foundation/DTD Struts Configuration 1.1/EN /struts/dtds/struts-config_1_1.dtdstruts-configdata-sources / / 定義數(shù)據(jù)源form-beans / / 定義ActionFormStrutsStruts安裝與使用安裝與使用global-exceptions / / 定義全局異常global-forwards / / 定義全局轉(zhuǎn)向urlaction-mappin

4、gs / / 定義actioncontroller / / 配置Controllermessage-resources / / 配置資源文件/struts-config實例(一)實例(一) inputPage實例(二)實例(二) inputPage hello.jsp Input for ActionForm tutorial.actionform.WordsActionForm What do you want to say? 實例(三)實例(三) inputPage struts-config.xmlActionFormbean問題反饋(一)問題反饋(一)1.action中所有參數(shù)的理解?

5、 Path:與頁面上對應(yīng)的url路徑 Name:與formbeans中對應(yīng)的頁面中的表單 Parameter:與頁面上對應(yīng)的url路徑中的?do后的方法參數(shù) Input:如果validate屬性不為false,調(diào)用validate()方法;如果 validate()返回非空的ActionErrors,將會被轉(zhuǎn)到input屬性指定的URI, Type:action真正對應(yīng)的ActionServlet Scope:頁面訪問的范圍 Validate:是否啟用Struts自帶的驗證,true或false2.在實際的應(yīng)用中把model層封裝到form中的用意? Model是直接與數(shù)據(jù)庫進行交互,而for

6、m是與頁面交 互,這樣做是為了可以更好的維護項目,分工明確。問題反饋(二)問題反饋(二)3.action的運行原理?(帶form的action)? 首先,Struts會在定義的scope搜尋相應(yīng)的form,如果找到則重用,如果找不到則新建一個實例;取得form實例以后,調(diào)用其reset()方法,然后將表單中的參數(shù)放入form,如果validate屬性不為false,調(diào)用validate()方法;如果validate()返回非空的ActionErrors,將會被轉(zhuǎn)到input屬性指定的URI,如果返回空的ActionErrors,那么轉(zhuǎn)到parameter屬性指定的目標(biāo)URI。問題反饋(三)問題

7、反饋(三)Struts控制器對象控制器對象 ActionServlet繼承自javax.servlet.http.HttpServlet類,其中Struts framework扮演的角色是中心控制器。它提供一個中心位置來處理全部的終端請求??刂破鰽ctionServlet主要負(fù)責(zé)將HTTP的客戶請求信息組裝后,根據(jù)配置文件的指定描述,轉(zhuǎn)發(fā)到適當(dāng)?shù)奶幚砥鳌truts Action ClassesStruts Action Mapping 使用使用ActionForward導(dǎo)航導(dǎo)航return (mapping.findForward(welcome); Struts捕獲表單數(shù)據(jù)捕獲表單數(shù)據(jù)對于

8、每一個客戶請求,Struts framework在處理ActionForm的時候,一般需要經(jīng)歷如下幾個步驟:1. 檢查Action的映射,確定Action中已經(jīng)配置了對ActionForm的映射。2. 根據(jù)name屬性,查找form bean的配置信息3. 檢查Action的formbean的使用范圍,確定在此范圍下,是否已經(jīng)有此form bean的實例。4. 假如當(dāng)前范圍下,已經(jīng)存在了此form bean的實例,而是對當(dāng)前請求來說,是同一種類型的話,那么就重用。Struts 捕獲表單數(shù)據(jù)捕獲表單數(shù)據(jù)5. 否則,就重新構(gòu)建一個form bean的實例6.form bean的reset()方法備

9、調(diào)用7.調(diào)用對應(yīng)的setter方法,對狀態(tài)屬性賦值8.如果validatede的屬性被設(shè)置為true,那么就調(diào)用form bean的validate()方法。9.如果validate()方法沒有返回任何錯誤,控制器將ActionForm作為參數(shù),傳給Action實例的execute()方法并執(zhí)行。Struts的其他組件的其他組件 Validation Framework for Struts Struts TagLib BeanUtils Collections Digester問題反饋(一)問題反饋(一)1. Struts的其他組件Validation Framework for Strut

10、s,Struts TagLib, BeanUtils, Collections,Digester如何理解? 在struts1.1中,新增了validation framework。增加了對form數(shù)據(jù)提交的驗證。將原本需要在ActionFrom Bean的validate()進行的驗證通過配置文件的描述進行驗證。 struts提供了一組可擴展的自定義標(biāo)簽庫(TagLib),可以簡化創(chuàng)建用戶界面的過程。目前包括:Bean Tags,HTML Tags,Logic Tags,Nested Tags,Template Tags這幾個Taglib。 問題反饋(二)問題反饋(二) BeanUtils組件的全稱是Bean Introspection Utilites。是屬于Jakarta Commons項目組的。主要是幫助構(gòu)建javabean的屬性操作的(getter,setter),已經(jīng)提供一種動態(tài)定義和訪問bean的屬性。 Collections組件主要是提供了一些集合或列表對

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論