freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

struts教程(參考版)

2024-08-25 12:14本頁面
  

【正文】 這時(shí)元素定義如下: 以上兩種方法都可以節(jié)省你的時(shí)間,并有助于減少一個(gè)應(yīng)用所需的文件數(shù)。運(yùn)用 ForwardAction的好處是不必創(chuàng)建自己的 Action類,你需要做的僅僅是在 Struts配置文件中配置一個(gè) Action mapping。 在上一點(diǎn)中曾提到總是由 Action調(diào)用 JSP是個(gè)好習(xí)慣。 使用 Prebuilt Action 類提升開發(fā)效率 Struts framework帶有好幾個(gè) prebuilt Action類,使用它們可以大大節(jié)省開發(fā)時(shí)間。 WebLogic早期的版本不能解釋 Servlet聲明,因此無法提供支持,據(jù)報(bào)道在新版本中已經(jīng)改進(jìn)了。即使該 Action只是一個(gè)很基本的很簡(jiǎn)單 JSP,也總是要調(diào)用一個(gè) Action,再由它調(diào)用 JSP。如下所示:請(qǐng)注意粗體部分 . 這個(gè)方法在任何情況下都不失為 Struts實(shí)踐中的一個(gè)好方法。例如,在一個(gè) Struts配置文件中為一個(gè) logoff action寫一個(gè) Action mapping。我們?nèi)匀豢梢允褂?WEBINF目錄下的 JSP頁面來提供視圖給客戶,客戶卻不能直接請(qǐng)求訪問 JSP?;?Servlet的聲明, WEBINF不作為 Web應(yīng)用的公共文檔樹的一部分。用戶可以繞過 Struts的 controller直接調(diào)用 JSP同樣也是個(gè)問題。 基于不同的功能 JSP 被放置在不同的目錄下 這種方法的問題是這些頁面文件容易被偷看到源代碼,或被直接調(diào)用。跟 catalog (商品目錄)相關(guān)的 JSP被保存在 catalog子目錄下。 通常 JSP開發(fā)人員會(huì)把他們的頁面文件存放在 Web應(yīng)用相應(yīng)的子目錄下。當(dāng)然,就算是只有一個(gè)模塊,系統(tǒng)還是一樣的運(yùn)作。應(yīng)用模塊是對(duì)框架的一個(gè)新的擴(kuò)充,有助于進(jìn)行并行的團(tuán)隊(duì)開 發(fā)。為此必須使用 Struts框架提供的 SwitchAction類。第三個(gè)配置文件是 ,其中含有屬于缺省的應(yīng)用模塊中的一般性的功能。允許創(chuàng)建自己的獨(dú)立于其他模塊的Action, ActionForm,異常處理甚至更多。 為了使用多應(yīng)用模塊功能,必須執(zhí)行以下幾個(gè)準(zhǔn)備步驟: 一個(gè)典型的商店應(yīng)用程序的目錄結(jié)構(gòu) 注:如果你無需將項(xiàng)目劃分成多個(gè)模塊, Struts框架支持一個(gè)缺省的應(yīng)用模塊。每個(gè)模塊可以分布到不同的目錄下,這樣各 部分的資源很容易定位,有助于開發(fā)和部署。例如,假設(shè)我們要開發(fā)一個(gè)典型的商店應(yīng)用程序。 顯然,當(dāng)很多開發(fā)人員一起參加一個(gè)項(xiàng)目時(shí),單個(gè)的 Struts配置文件很容易引起資源沖突。應(yīng)用模塊允許將單個(gè) Struts應(yīng)用劃分成幾個(gè)模塊,每個(gè)模塊有自己的 Struts配置文件, JSP頁面, Action等等。因此,我們可以定義一個(gè)層次型的異常處理關(guān)系結(jié)構(gòu),在配置文件中已經(jīng)體現(xiàn)了這一點(diǎn)。下面的 XML片斷解釋了如何配置以實(shí)現(xiàn)這一點(diǎn)。 最后必須指出的一點(diǎn)是,你可以有不同的異常處理類來處理不同的異常。 假如該屬性沒有定義,Struts會(huì)采用自己的缺省值。例如,假設(shè)我們創(chuàng)建了異常處理類CustomizedExceptionHandler用于所有的 Action類 , 元素定義如下所示: 在元素中可以對(duì)很多屬性進(jìn)行設(shè)置。如果是用于 Action Mapping特定的部分就在元素中配置。假設(shè)該異常 20 包含有嵌套異常,這些嵌套異常又包含了其他異常,因此我們必須覆蓋原來的 execute()方法,對(duì)每個(gè)異常編寫出錯(cuò)信息。缺省的,系統(tǒng)的異常處理功能是創(chuàng)建一個(gè)出錯(cuò)信息,同時(shí)把請(qǐng)求轉(zhuǎn)發(fā)到配置文件中指定的地方去。方法返回一個(gè)ActionForward對(duì)象,用于異常處理結(jié)束后將 controller類帶到請(qǐng)求必須轉(zhuǎn)發(fā)的地方去。這個(gè)類有 2個(gè)方法可以覆蓋,一個(gè)是 excute()另外一個(gè)是 storeException(). 在多數(shù)情況下,只需要覆蓋其中的 excute()方法。如果你認(rèn)為這不能滿足你的需求,那么可以很方便的實(shí)現(xiàn)你自己的 ExcepionHandler類。 Struts缺省的 ExceptionHandler類會(huì)生成一個(gè) ActionError對(duì)象并保存在適當(dāng)?shù)姆秶?scope)對(duì)象中。在最新的版本中,情況大大的改觀了, Struts Framework提供了內(nèi)置的一個(gè)稱為 ExceptionHandler 的類, 用于系統(tǒng)缺省處理 action類運(yùn)行中產(chǎn)生的錯(cuò)誤。這一點(diǎn)在版本 ,包括新的異常處理功能。從實(shí)現(xiàn) EJB的安全性和事務(wù)性行為到描述 JMS消息和目的地之間的關(guān)系,很多運(yùn)行時(shí)的處理流程都是可以在程序之外定義的。 使用異常處理聲明 要定義應(yīng)用程序的邏輯流程,成熟的經(jīng)驗(yàn)是推薦在代碼之外,用配置的方法來實(shí)現(xiàn),而不是寫死在程序代碼中的。但是,如果因發(fā)生驗(yàn)證故障而調(diào)用了 JSP, 則為用戶顯示的內(nèi)容將受到屬性文件中是否包括下列鍵的影響: ― ,它導(dǎo)致在所有錯(cuò)誤消息前面顯示一個(gè)字符串;或者 ― ,它導(dǎo)致在所有錯(cuò)誤消息后面顯示一個(gè)字符串;或者 ― ,和 兩者 例如,在 中, 和 的 “鍵-字符串 ”對(duì)以及先前顯示的這兩個(gè)消息鍵為如下所示,它們各自都在單獨(dú)的一行上(但是分成了多行顯示以便于您復(fù)查): = p class=“errors” The Action failed because of the following reason(s): ul class=“errors” =liyou must enter a User ID. = liYour account must start with a positive balance. =/ul/p 如果在注冊(cè)時(shí)用戶對(duì)用戶名輸入了空白,對(duì)余額輸入零,則用戶將接收到一個(gè)包括兩個(gè)錯(cuò)誤的列表的屏幕: 19 The Action failed because of the following reason(s): o You must enter a User ID. o Your account must start with a positive balance. 可以為標(biāo)記 html:errors/指定屬性以支持國際化或者只顯示有關(guān)指定了給定屬性值的錯(cuò)誤的信息。當(dāng)配置 ActionError 對(duì)象時(shí),最多可以包括要代入字符串中用來替代{ 0}、{ 1}等的四個(gè)值。 如果想要在特定的輸入字段或輸入字段的子集發(fā)生錯(cuò)誤時(shí) 標(biāo)識(shí)該錯(cuò)誤,則指定屬性值。 } 18 return errors。 ? 如果發(fā)生了錯(cuò)誤,則表單 bean 的驗(yàn)證方法將舉例說明錯(cuò)誤類并將錯(cuò)誤條目添加至該類。此驗(yàn)證在 ActionServlet 訪問操作類之前進(jìn)行。 Struts 高級(jí)特性( Struts Advanced Feature) 驗(yàn) 證 僅當(dāng)在下列情況下才會(huì)在表單 bean 中對(duì)用戶輸入進(jìn)行驗(yàn)證: ? 表單 bean 覆蓋超類的驗(yàn)證方法 ? Struts 配置文件中的 action元素的驗(yàn)證屬性顯式地或者缺省設(shè)置為 TRUE。在 ,你可以定義多了配置文 件協(xié)同工作。在 struts 的早先版本中,只有一個(gè) struts 配置文件,一般叫 。 return(forward); } path 指定非限定 URL(例如, “/” 或 “/”)必須包括文件擴(kuò)展名,僅當(dāng)使用當(dāng)前映射時(shí)才會(huì)調(diào)用該 URL,轉(zhuǎn)發(fā)操作類是根據(jù) differentaction元素中的屬性來處理的,尤其是,在其 path 屬性標(biāo)識(shí)相同 URL 的 action元素中。下面 的執(zhí)行方法不是很重要,但是會(huì)導(dǎo)致使用 “success”映射: public ActionForward exectue( ActionMapping mapping, ActoinForm form, HttpServletRequest request, HttpServletResponse response) Throws IOException,ServletException { ActionForward forward=new ActionForward()。 Struts 配置文件中的每個(gè)< action>元素還包括子元素< forward>,它指定從方法結(jié)果至后續(xù)調(diào)用的映射。 scope 指定將對(duì)表單 bean 的引用存儲(chǔ)在哪個(gè)作用域中。 name 用于保存發(fā)送至 HTML 表單或接收自 HTML 表單的數(shù)據(jù)表單 bean 的名稱。該類必須在類路徑中。 Action 元素 Struts 配置文件中的一個(gè)示例< action>元素為如下所示: action path=“/register” type=“” name=“registerForm” input=“/” scope=“request” forward name=“success”path=“/”/ forward name=“failure”path=“/”/ /action 每個(gè)< action>元素都包括下列屬性中的某些屬性或所有屬性: 16 path 將請(qǐng)求指定為非限定 URL,不帶文件擴(kuò)展名(例如, “/register”)請(qǐng)求是根據(jù)<action>元素中的其它屬 性來處理的,并且是用戶輸入的結(jié)果或者是在 different< action>元素中標(biāo)識(shí)的轉(zhuǎn)發(fā)的結(jié)果。接受 “Struts 貿(mào)易樣本 ”中的注冊(cè)的表單 bean 包括 HTML 注冊(cè)表單中每個(gè)字段的 getter 和 setter 方法。 ActionServlet 舉例說明了該 bean(如果需要的話)并在將對(duì) bean 的引用存儲(chǔ)在請(qǐng)求或會(huì)話對(duì)象中時(shí)將該名稱用作鍵。 有 關(guān) 其 DTD 文檔的描述,請(qǐng)參考 一般 strutsconfig( )包含了如下幾個(gè)部分: ( 1) formbean ( 2) globalforwards ( 3) actionmappings ( 4) datasources 我們知道, 對(duì)于這樣的一個(gè)請(qǐng)求(例如,表示為 “/”),執(zhí)行下列步驟: 尋找 操作類 對(duì)象 (繼承 . 的類) ActionServlet 調(diào)用 操作類對(duì)象 的執(zhí)行方法 操作類中的執(zhí)行方法的特征符為如下所示: public ActionForward execute( ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) ? 映射對(duì)象( ActionMapping),它包含指示如何響應(yīng)方法的每個(gè)可能結(jié)果的規(guī)則 15 ( “映射 ”) ? Struts表單 bean( ActionForm),它保存發(fā)送至 HTML 表單或接收自 HTML 表單的數(shù)據(jù) ? 請(qǐng)求和響應(yīng)對(duì)象( HttpServletReques/ HttpServletResponse) 從執(zhí)行方法返回 ActionForward 對(duì)象,用于指導(dǎo) ActionServlet 接著訪 問哪個(gè)操作類或 JSP 返回的 ActionForward 對(duì)象中的信息取決于兩個(gè)值: ? 方法的結(jié)果(如在 “成功 ”或 “故障 ”等字符串中所述) ? 映射對(duì)象,它包含從 Struts 配置文件中讀取的信息 要弄明白某些運(yùn)行時(shí)關(guān)系, 要明白 : ? < formbeans>標(biāo)記標(biāo)識(shí)每個(gè)表單 bean ? < actionmappings>標(biāo)記包括用于指導(dǎo)應(yīng)用程序流的信息,每個(gè) < action>子標(biāo)記都使相對(duì) URL 與操作類和潛在的后續(xù)操作相關(guān)。 有關(guān) Struts Action Mapping 的配置描述 作為先前描 述的 , Web 應(yīng)用程序服務(wù)器將請(qǐng)求的一個(gè)子集按路徑發(fā)送至 ActionServlet,它通常調(diào)用一系列操作和 JSP。每個(gè) JSP 都可以使用同一個(gè) URL 來表示給定的標(biāo)記庫,而 。 ? errorpage元素指示顯示哪個(gè) JSP 來響應(yīng)錯(cuò)誤 。按照慣例, ActionServlet 調(diào)用對(duì)象以響應(yīng)與命名模式“*do”(其中 “*”是通配符 )一致的 URL。 ― servlet mapping元素指定 URL 的結(jié)尾的命名模式。 14 ? servletmapping元素標(biāo)識(shí)這樣的命名模式:當(dāng)命名模式由 URL 進(jìn)行匹配時(shí),Web 服務(wù)器就將控制權(quán)移交給 ActionServlet。 ”detail”具有整數(shù)值,它指示將 “映射 ”詳細(xì)信息 (如后面所述 )寫至控制臺(tái)的程度。該文件包括下列條目: ? servlet條目定義用于 Web應(yīng)用程序的 servlet(在本例中,這是唯一 的 servlet): ― servlet name 和 servletclass指
點(diǎn)擊復(fù)制文檔內(nèi)容
高考資料相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1