版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、第四講 Struts實(shí)例講解,博和利初級培訓(xùn) —開發(fā)技能,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安裝與使用
2、,web.xml配置<servlet-name>action</servlet-name><servlet-class>org.apache.struts.action.ActionServlet</servlet-class><init-param><param-name>config</param-name><param-value>/WEB-INF/struts-config.xml</param-value></i
3、nit-param><load-on-startup>2</load-on-startup>,Struts安裝與使用,web.xml配置<servlet-mapping><servlet-name>action</servlet-name><url-pattern>*.do或/do/*</url-pattern></servlet-mapping>,Struts安裝與使用,<?xml version="1.0&qu
4、ot; encoding="UTF-8"?><!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.1//EN" "http://jakarta.apache.org/struts/dtds/struts-config_1_1.dtd"><struts
5、-config><data-sources /> // 定義數(shù)據(jù)源<form-beans /> // 定義ActionForm,Struts安裝與使用,<global-exceptions /> // 定義全局異常<global-forwards /> // 定義全局轉(zhuǎn)向url<action-mappings /> // 定義action<controller /> // 配置Controller<message-resou
6、rces /> // 配置資源文件</struts-config>,實(shí)例(一),inputPage,,實(shí)例(二),inputPage, hello.jsp Input for ActionForm tutorial.actionform.WordsActionForm What do you want to say?,實(shí)例(三),inputPage, ,struts-config.xml
7、,Action,Formbean,問題反饋(一),1.action中所有參數(shù)的理解?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:a
8、ction真正對應(yīng)的ActionServletScope:頁面訪問的范圍Validate:是否啟用Struts自帶的驗(yàn)證,true或false,2.在實(shí)際的應(yīng)用中把model層封裝到form中的用意? Model是直接與數(shù)據(jù)庫進(jìn)行交互,而form是與頁面交 互,這樣做是為了可以更好的維護(hù)項(xiàng)目,分工明確。,問題反饋(二),3.action的運(yùn)行原理?(帶form的action)? 首先,Struts會在定義的sco
9、pe搜尋相應(yīng)的form,如果找到則重用,如果找不到則新建一個實(shí)例;取得form實(shí)例以后,調(diào)用其reset()方法,然后將表單中的參數(shù)放入form,如果validate屬性不為false,調(diào)用validate()方法;如果validate()返回非空的ActionErrors,將會被轉(zhuǎn)到input屬性指定的URI,如果返回空的ActionErrors,那么轉(zhuǎn)到parameter屬性指定的目標(biāo)URI。,問題反饋(三),Struts控制器對象
10、,ActionServlet繼承自javax.servlet.http.HttpServlet類,其中Struts framework扮演的角色是中心控制器。它提供一個中心位置來處理全部的終端請求??刂破鰽ctionServlet主要負(fù)責(zé)將HTTP的客戶請求信息組裝后,根據(jù)配置文件的指定描述,轉(zhuǎn)發(fā)到適當(dāng)?shù)奶幚砥鳌?Struts Action Classes,Struts Action Mapping, , ,使用Act
11、ionForward導(dǎo)航,return (mapping.findForward("welcome"));,,, ,Struts捕獲表單數(shù)據(jù),對于每一個客戶請求,Struts framework在處理ActionForm的時候,一般需要經(jīng)歷如下幾個步驟:檢查Action的映射,確定Action中已經(jīng)配置了對ActionForm的映射。根據(jù)name屬性,查找form bean的配置信息檢查
12、Action的formbean的使用范圍,確定在此范圍下,是否已經(jīng)有此form bean的實(shí)例。假如當(dāng)前范圍下,已經(jīng)存在了此form bean的實(shí)例,而是對當(dāng)前請求來說,是同一種類型的話,那么就重用。,Struts 捕獲表單數(shù)據(jù),5. 否則,就重新構(gòu)建一個form bean的實(shí)例form bean的reset()方法備調(diào)用調(diào)用對應(yīng)的setter方法,對狀態(tài)屬性賦值如果validatede的屬性被設(shè)置為true,那么就調(diào)用form
13、 bean的validate()方法。如果validate()方法沒有返回任何錯誤,控制器將ActionForm作為參數(shù),傳給Action實(shí)例的execute()方法并執(zhí)行。,Struts的其他組件,Validation Framework for StrutsStruts TagLibBeanUtilsCollectionsDigester,問題反饋(一),Struts的其他組件Validation Framework fo
14、r Struts,Struts TagLib, BeanUtils, Collections,Digester如何理解?在struts1.1中,新增了validation framework。增加了對form數(shù)據(jù)提交的驗(yàn)證。將原本需要在ActionFrom Bean的validate()進(jìn)行的驗(yàn)證通過配置文件的描述進(jìn)行驗(yàn)證。 struts提供了一組可擴(kuò)展的自定義標(biāo)簽庫(TagLib),可以簡化創(chuàng)建用戶界面的過程。目前包括:Bea
15、n Tags,HTML Tags,Logic Tags,Nested Tags,Template Tags 這幾個Taglib。,問題反饋(二),BeanUtils組件的全稱是Bean Introspection Utilites。是屬于Jakarta Commons項(xiàng)目組的。主要是幫助構(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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(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
提交評論