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

正文內(nèi)容

[計算機軟件及應用]第5章struts2的高級應用-資料下載頁

2025-10-07 23:20本頁面
  

【正文】 饋頁面的時間就有多長。 控制反轉 (IoC) ? Ioc是 Inversion of Control的縮寫,即反轉模式。這里有著名的好萊塢理論:“你呆著別動,到時我會找你”。 Ioc又名為 Dependency Injection中文是依賴注射,也就是將類之間的關系通過第三方進行注射,不需要類自己去解決調(diào)用關系。(關于 Ioc的詳細解釋和優(yōu)點將在本書的 Spring篇重點解釋,本節(jié)僅介紹如何在 Struts2中采用 Ioc) ? 眾所周知, Struts2是以 Webwork作為基礎發(fā)展出來。而在Webwork Webwork版本,其自身有一套控制反轉的實現(xiàn), Webwork Spring 框架的如火如荼發(fā)展的背景下,決定放棄控制反轉功能的開發(fā),轉由 Spring實現(xiàn)。值得一提的是,因為有越來越多的開源組件(如 iBATIS等)都放棄與 Spring重疊的功能的開發(fā)。因此 Struts2推薦通過Spring實現(xiàn)控制反轉。 配置 Spring ? Struts2對明確的實現(xiàn)了對 Spring的支持的,所以在Struts2中配置 Spring是非常容易的。 ? ( 1)將所需的 Spring的 jar文件加入到工程的 classpath和應用程序的 WEBINF/lib下,這些 jar文件包括: spring、 、 springcore、 、 struts2spring(這些文件都可以在 struts2的發(fā)布包中找到)。( 2)在 Web應用中加入 Spring的ContextLoaderListener監(jiān)聽器,方便 Spring與 Web容器交互。( 3) ,告知 Struts2運行時使用 Spring來創(chuàng)建對象(如 Action等),內(nèi)容如下(這也是缺省配置): = spring 實現(xiàn)接口 ? 遵循 Spring的面向接口原則編程,創(chuàng)建接口 ChatService和默認的默認實現(xiàn) ChatServiceImpl類, ? 代碼 Ioc接口實現(xiàn): ? package tutorial。 ? import 。 ? /* ? * Ioc接口實現(xiàn) ? */ ? public interface ChatService { ? Set String getUserNames()。 ? } 創(chuàng)建 Action ? 接下來就該新建 Action了,如代碼所示。ChatAction類使用屬性( Getter/Setter)注入法取得 ChatService對象。 ? 代碼 反轉控制配置: ? package name =Struts2_IoC extends =strutsdefault ? action name =Chat class =chatAction ? result / / result ? / action ? / package 結果頁面 ? 最后編寫 ,內(nèi)容如所示。輸入 用 Annotation配置 Struts ? 在已經(jīng)發(fā)布的 (tiger)中增加新的特色叫 Annotation。 Annotation提供一種機制,將程序的元素如:類,方法,屬性,參數(shù),本地變量,包和元數(shù)據(jù)聯(lián)系起來。這樣編譯器可以將元數(shù)據(jù)( Meta Data)存儲在 Class文件中。這樣虛擬機和其它對象可以根據(jù)這些元數(shù)據(jù)來決定如何使用這些程序元素或改變它們的行為。 ? 在 Struts2中引入 Annotation就可以把很多配置以Annotation方式實現(xiàn),減少配置的工作量也減少錯誤。如果與類或者方法的配置,可以直接加入的類和方法注釋中去,在查看代碼的時候也就知道了配置的情況,如每一個方法或者屬性都應該用 Annotation實現(xiàn)的配置,新添加一項屬性或方法,也就順便添加了配置。而在類與配置文件分離的情況下,有時候很難定位,而且容易遺漏和配置錯誤。 配置 Action ? 在 action可以使用annotation來代替,如表所示。使用 Java5的annotation可以把這些配置直接寫到 action類中。給出了一個例子如代碼所示。 配置攔截器 ? 要使用這些 Annotation,需要在攔截器棧中加入AnnotationWorkflowInterceptor。配置攔截器的 Annotation列表如表所示。給出了一個例子如代碼所示。 配置驗證器的 ? 如果需要使用基于 annotation的驗證,必須用Validation Annotation標注類或者接口。表中列出 struts2提供的驗證器的 annotation。 配置類型轉換 ? 如果要使用基于 annotation的類型轉換,必須用Conversion Annotation標注類或者接口。使用泛型集合而不是在 Type Conversion文檔中指定集合和 map的類型。這就是說基本上不用 *ClassName*文件了。類型轉換的annotation如表所示。 小結 ? 本章涵蓋了很多主題,盡管它們之間看上去沒有什么聯(lián)系,但他們都有一個共同的特點:底層的Struts2框架讓這些高級的、獨特的特性成為可能。本章介紹的內(nèi)容都是在實際項目中經(jīng)常遇到的問題, Struts2為開發(fā)者提供了簡化開發(fā)的方法,使發(fā)者更加有效率的工作,能把精力專注于業(yè)務的實現(xiàn)。這正是采用框架的初衷,使框架為實現(xiàn)業(yè)務服務。
點擊復制文檔內(nèi)容
教學課件相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1