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

正文內(nèi)容

[計(jì)算機(jī)軟件及應(yīng)用]第5章struts2的高級(jí)應(yīng)用(參考版)

2024-10-19 23:20本頁面
  

【正文】 。本章介紹的內(nèi)容都是在實(shí)際項(xiàng)目中經(jīng)常遇到的問題, Struts2為開發(fā)者提供了簡化開發(fā)的方法,使發(fā)者更加有效率的工作,能把精力專注于業(yè)務(wù)的實(shí)現(xiàn)。類型轉(zhuǎn)換的annotation如表所示。使用泛型集合而不是在 Type Conversion文檔中指定集合和 map的類型。表中列出 struts2提供的驗(yàn)證器的 annotation。給出了一個(gè)例子如代碼所示。 配置攔截器 ? 要使用這些 Annotation,需要在攔截器棧中加入AnnotationWorkflowInterceptor。使用 Java5的annotation可以把這些配置直接寫到 action類中。而在類與配置文件分離的情況下,有時(shí)候很難定位,而且容易遺漏和配置錯(cuò)誤。 ? 在 Struts2中引入 Annotation就可以把很多配置以Annotation方式實(shí)現(xiàn),減少配置的工作量也減少錯(cuò)誤。這樣編譯器可以將元數(shù)據(jù)( Meta Data)存儲(chǔ)在 Class文件中。輸入 用 Annotation配置 Struts ? 在已經(jīng)發(fā)布的 (tiger)中增加新的特色叫 Annotation。ChatAction類使用屬性( Getter/Setter)注入法取得 ChatService對象。 ? /* ? * Ioc接口實(shí)現(xiàn) ? */ ? public interface ChatService { ? Set String getUserNames()。( 3) ,告知 Struts2運(yùn)行時(shí)使用 Spring來創(chuàng)建對象(如 Action等),內(nèi)容如下(這也是缺省配置): = spring 實(shí)現(xiàn)接口 ? 遵循 Spring的面向接口原則編程,創(chuàng)建接口 ChatService和默認(rèn)的默認(rèn)實(shí)現(xiàn) ChatServiceImpl類, ? 代碼 Ioc接口實(shí)現(xiàn): ? package tutorial。 ? ( 1)將所需的 Spring的 jar文件加入到工程的 classpath和應(yīng)用程序的 WEBINF/lib下,這些 jar文件包括: spring、 、 springcore、 、 struts2spring(這些文件都可以在 struts2的發(fā)布包中找到)。因此 Struts2推薦通過Spring實(shí)現(xiàn)控制反轉(zhuǎn)。而在Webwork Webwork版本,其自身有一套控制反轉(zhuǎn)的實(shí)現(xiàn), Webwork Spring 框架的如火如荼發(fā)展的背景下,決定放棄控制反轉(zhuǎn)功能的開發(fā),轉(zhuǎn)由 Spring實(shí)現(xiàn)。 Ioc又名為 Dependency Injection中文是依賴注射,也就是將類之間的關(guān)系通過第三方進(jìn)行注射,不需要類自己去解決調(diào)用關(guān)系。 控制反轉(zhuǎn) (IoC) ? Ioc是 Inversion of Control的縮寫,即反轉(zhuǎn)模式。如圖所示,顯示了用戶請求的流程,必須在 ation的所有工作完成之后,才能包頁面返回給用戶。 Struts2提供了 execAndWati interceptor可以為用戶返回一個(gè)等待頁面時(shí),在另外一個(gè)線程中運(yùn)行 action。這樣可以效地防止重復(fù)提交引發(fā)的 action重復(fù)執(zhí)行,這可以給用戶帶來更好的用戶體驗(yàn):他 們重新看到一個(gè)相同的結(jié)果頁面,這比得到一個(gè)錯(cuò)誤頁面要好很多。在 TokenSession StoreInterceptor中, handleValidToken()在session中保存了一個(gè)包含 actionInvocation和標(biāo)記 )值的對象。 使用 tokeninterceptor驗(yàn)證 ? 在配置文件中為 action定義nterceptor,就可以根據(jù) Web請求參數(shù)來驗(yàn)證標(biāo)記了。這個(gè) token的值是一個(gè)經(jīng)過加密的、非常安全的UUID,所以不用擔(dān)心出現(xiàn)重復(fù)的 token值或者用戶推測出 token值的情況。這種情況相當(dāng)危險(xiǎn),因?yàn)楸韱翁峤粫r(shí)要求服務(wù)器完成某種操作信號(hào),并且許多 action不應(yīng)該執(zhí)行多次。當(dāng)用戶不止一次單擊 Web表單的提交按鈕時(shí)候就會(huì)發(fā)生這個(gè)問題。 ? 代碼 多文件上傳: ? s:form action =doMultipleUploadUsingList method =POST enctype =multipart/formdata ? s:file label =File (1) name =upload / ? s:file label =File (2) name =upload / ? s:file label =FIle (3) name =upload / ? s:submit / ? / s:form 防止重復(fù)提交 ? 作為一個(gè) Web應(yīng)用的開發(fā)程序員, Web應(yīng)用的無限制特性會(huì)給應(yīng)用帶來很多問題。 charset=utf8% ? % taglib prefix=s uri=/strutstags % ? html ? head ? title Struts2 File Upload /title ? /head ? body ? s:form action =fileUpload method =POST enctype =multipart/formdata ? s:file name =myFile label =Image File / ? s:textfield name =c
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1