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

正文內(nèi)容

計(jì)算機(jī)專(zhuān)業(yè)畢業(yè)設(shè)計(jì)外文文獻(xiàn)翻譯部分-其他專(zhuān)業(yè)-資料下載頁(yè)

2025-01-19 02:24本頁(yè)面

【導(dǎo)讀】1.了解國(guó)外相關(guān)知識(shí)的發(fā)展;2.熟悉外文科技文獻(xiàn)的寫(xiě)作格式及特點(diǎn);4.學(xué)會(huì)中英(外)文文獻(xiàn)的檢索方法。1.學(xué)生自主選題,經(jīng)指導(dǎo)教師審查合格。3.內(nèi)容與所學(xué)專(zhuān)業(yè)相關(guān),并注明來(lái)源。1.譯文正確,內(nèi)容完整,圖可以復(fù)印后貼于適當(dāng)位置。2.譯文打印在A4紙上,原稿復(fù)印后附在譯文后。在畢業(yè)設(shè)計(jì)開(kāi)題一周內(nèi)完成。過(guò)程中,代碼的可重用性與可維護(hù)性也給開(kāi)發(fā)人員好好的上了幾課。了對(duì)Web應(yīng)用開(kāi)發(fā)更好的解決方案的訴求——當(dāng)ApacheStruts在2021年出現(xiàn)的時(shí)候,Web項(xiàng)目的數(shù)量仍然顯著地增長(zhǎng)著,而且毫無(wú)終止之勢(shì)。Struts一出現(xiàn)便大受歡迎,更。成為了以后幾年內(nèi)web開(kāi)發(fā)的實(shí)際標(biāo)準(zhǔn)。Struts21是Struts的下一代產(chǎn)品。而最初提案StrutsTi所設(shè)想的發(fā)展方向,在Struts. 的現(xiàn)有代碼的基礎(chǔ)上是很難完成的。在發(fā)起提案的時(shí)候,PatrickLightbody把多個(gè)不同。的Web框架的領(lǐng)導(dǎo)者邀請(qǐng)到了一起,希望大家能夠達(dá)成共識(shí),協(xié)力完成一個(gè)通用框架。雖然最終由于各種原因,PatrickLightbody的愿望未能實(shí)現(xiàn),但是WebWork和StrutsTi

  

【正文】 stener會(huì)從 ―WEBINF‖目錄下載入 ―‖配置文件,該文件中定義了應(yīng)用中的每一個(gè) tile。與 SiteMesh不一樣的是, Tiles是作為一種新的結(jié)果類(lèi)型實(shí)現(xiàn)的。要使用 Tiles布局的 Action結(jié)果都需要把 ―type‖屬性設(shè)置為 ―tiles‖(或者是把 Tiles結(jié)果設(shè)置為默認(rèn)值),并指定要使用的 tile名稱(chēng)。 Tile名稱(chēng)需要在 ―‖文件中定義。 action name=my class= result type=tiles/result /action Struts2中使用了 Tiles的第二版。這個(gè)版本還沒(méi)有穩(wěn)定的發(fā)布版,還會(huì)有更多的變化。所以 Struts2中對(duì) Tiles的支持被標(biāo)記為 ―試驗(yàn)性 ‖。 業(yè)務(wù)服務(wù) /依賴(lài)注入 EJB3,它雖然不是 Ioc容器,但仍可以用來(lái)為 Action提供業(yè)務(wù)服務(wù)?,F(xiàn)在 Strut2中現(xiàn)在還 沒(méi)有提供插件來(lái)提供對(duì) EJB3的支持,雖然實(shí)現(xiàn)起來(lái)并沒(méi)有什么難度。在Struts2中使用 EJB3有三種方式 ——實(shí)現(xiàn)一個(gè)自定義的 ObjectFactory,為 Action獲取EJB引用,然后在 ―‖配置文件的 ―‖屬性中加以定義,把這個(gè)新的工廠安裝到應(yīng)用程序中;創(chuàng)建一個(gè)新的攔截器,用來(lái)檢查每一個(gè) Action,并把所需的 EJB應(yīng)用注入其中;或者還可以使用 Spring插件來(lái)訪問(wèn) JPA或是 EJB, 南。 因?yàn)?Spring框架是推薦使用的庫(kù),所以下面我們將重點(diǎn)介紹它的使用。 Spring Framework Spring Framework插件是 Struts2推薦使用的依賴(lài)注入( DI)或控制反轉(zhuǎn)( IoC)容器,它可以為 Action提供完全配置好的業(yè)務(wù)服務(wù)實(shí)例。 11 這里還有其他幾種選擇,每一種都具有不同層次上的穩(wěn)定性: Plexus15 插件是剛剛加入代碼庫(kù)的,目前還是被標(biāo)記為 ―試驗(yàn)性 ‖。當(dāng)我們?cè)?―‖配置文件的每一項(xiàng)中使用 Plexus id而不是類(lèi)名時(shí), Plexus可以創(chuàng)建類(lèi)的實(shí)例,并向其中注入所有它所知的依賴(lài)。關(guān)于該插件的詳細(xì)信息可以在這里找到: PicoContainer16 是另外一個(gè) Ioc容器,不過(guò)雖然 WebWork對(duì)它提供了支持,但現(xiàn)在還沒(méi)有對(duì)應(yīng)的 Struts2插件。 安裝 Spring支持的時(shí)候,需要下載 Spring插件 17,并把它拷貝到 Web應(yīng)用中的―/WEBINF/lib‖目錄下,或者是在 Maven2 ―‖ 構(gòu)建文件中添加對(duì) Spring插件的依賴(lài): dependency groupId/groupId artifactIdstruts2springplugin/artifactId version/version /dependency 在 ―‖配置文件中,你需要添加兩部分代碼。第一部分用于注冊(cè)一個(gè)listener,來(lái)激活應(yīng)用程序?qū)ο笈c Spring的集成: : listener listenerclass /listenerclass /listener 然后是要指定 Spring配置文件所存放的位置。在下面這種情況下,任何以―applicationContext‖開(kāi)頭的 XML文件都會(huì)被裝載: contextparam paramnamecontextConfigLocation/paramname paramvalueclasspath*:applicationContext*.xml/paramvalue /contextparam 現(xiàn)在你就可以在 Spring的支持下進(jìn)行開(kāi)發(fā)了。所有需要?jiǎng)?chuàng)建的對(duì)象都會(huì)由Spring對(duì)象工廠代理創(chuàng)建。如果它知道如何創(chuàng)建對(duì)象實(shí)例的話,那它就會(huì)進(jìn)行創(chuàng)建,如果它不知道的話,就會(huì)把創(chuàng)建工作交回給框架完成。 無(wú)論是由 Spring對(duì)象工廠還是由 Struts2創(chuàng)建的對(duì)象,框架都會(huì)判斷是否有任何所依賴(lài)的對(duì)象被 Spring管理著。作為默認(rèn)的 DI容器, Spring會(huì)獲取所 有依賴(lài)對(duì)象的實(shí)例,并在所需的時(shí)候傳給目標(biāo)對(duì)象。這對(duì) Action而言尤為重要,因?yàn)殡m然 Action本身絕大多數(shù)情況下都由 Struts2來(lái)創(chuàng)建,但是它需要由 Spring來(lái)注入所需的業(yè)務(wù)服務(wù)。 使用 Spring時(shí)還有一點(diǎn)要注意的是如何編織依賴(lài)關(guān)系。對(duì)下面這個(gè)類(lèi)而言,Spring是應(yīng)該注入 id值為 ―service‖的 bean呢,還是類(lèi)型為 ―MyService‖的 bean呢? public class MyAction { 12 private MyService myService。 public void setService( MyService service ) { myService = service。 } public StString execute() { … } } 值 描述 name Spring在 bean的定義中,使用名 /id 值來(lái)自動(dòng)織入 bean。 type Spring在 bean的定義中,使用類(lèi)名來(lái)自動(dòng)織入bean。 auto Spring 自己決定織入 bean的最佳方法。 constructor Spring 會(huì)通過(guò) bean的構(gòu)造器自動(dòng)織入 bean。 還有一種方法可以完全由 Spring來(lái)管理 Action,不過(guò)配置起來(lái)就復(fù)雜多了。有興趣的讀者可以參考一下 Spring插件的文檔。 在 Struts2中集成數(shù)據(jù)庫(kù)并沒(méi)有什么特別的,不過(guò)這里仍然有多種不同的方法來(lái)訪問(wèn)數(shù)據(jù)庫(kù): 通過(guò)標(biāo)簽庫(kù) ——既然你使用的是基于 Action的框架,所以這并不是最佳的選擇。不過(guò)它依然可行;數(shù)據(jù)可以直接從 JSP中通過(guò)標(biāo)簽庫(kù)來(lái)訪問(wèn)( JSTL或者自定義的標(biāo)簽),然后將信息格式化。 通過(guò)依賴(lài)注入使用自定義的 DAO——如果你使用了依賴(lài)注入,那么就可以將 Action中所需的自定義的 DAO注 入到 Action里面;只要 Action中存在有對(duì) DAO的引用,那么它就可以直接調(diào)用 DAO的方法,就如同它自己創(chuàng)建了 DAO的實(shí)例一樣。 通過(guò)依賴(lài)注入使用 DAO / ORM ——如果你在使用高級(jí)的 DAO或者 ORM庫(kù)(例如 iBatis或 Hibernate),那么你就該考慮一下使用一個(gè)像 Spring一樣功能齊備的依賴(lài)注入框架; Spring提供了配置和初始化大多數(shù) DAO和 ORM庫(kù)的所有功能,幾乎不需要 Action做什么事情;當(dāng) Action需要執(zhí)行業(yè)務(wù)邏輯時(shí),所需的數(shù)據(jù)訪問(wèn)對(duì)象的實(shí)例就都已經(jīng)就緒了。 通過(guò)業(yè)務(wù)服 務(wù)來(lái)間接存取 ——不是直接使用數(shù)據(jù)訪問(wèn)對(duì)象,而是通過(guò)業(yè)務(wù)服務(wù)來(lái)間接調(diào)用;和上面其他方式一樣,業(yè)務(wù)服務(wù)也是通過(guò)依賴(lài)注入框架注入 Action的。 13 附帶說(shuō)一下,如果你打算在項(xiàng)目中使用 Hibernate作為 ORM技術(shù)的話,那么需要研究一下 ―OpenSessionInView‖過(guò)濾器或攔截器。它可以將 Hibernate Session一直保持連接的狀態(tài),直到 JSP渲染完畢以后才關(guān)閉。這樣 Hibernate就可以成功的完成延遲加載。否則的話, Action或者業(yè)務(wù)服務(wù)或者 DAO就必須在 JSP顯示數(shù)據(jù)之前,預(yù)先把所有需要的數(shù)據(jù)全都取出來(lái)。 安全 和數(shù)據(jù)庫(kù)集成一樣,在 Struts2中提供安全集成也沒(méi)有什么特別的地方。要在微架構(gòu)或是應(yīng)用程序的哪一層來(lái)實(shí)現(xiàn)授權(quán)和驗(yàn)證,是由系統(tǒng)架構(gòu)師或者開(kāi)發(fā)人員決定的。 進(jìn)行驗(yàn)證的地方: 應(yīng)用程序之外 ——單點(diǎn)登錄( SSO)服務(wù)器或者應(yīng)用服務(wù)器提供的驗(yàn)證模塊就是很好的例子 。 應(yīng)用程序之內(nèi) ——通過(guò) HTML表單或者另外一種 challengeresponse機(jī)制 。 進(jìn)行授權(quán)的地方: URI級(jí)別 ——每一個(gè)被請(qǐng)求的 URI都需要和發(fā)起請(qǐng)求的用戶(hù)帳戶(hù)進(jìn)行匹配來(lái)驗(yàn) 證用戶(hù)是否有權(quán)限訪問(wèn) 。 子頁(yè)面級(jí)別 ——頁(yè)面中的某些部分可能會(huì)需要具有特定的訪問(wèn)級(jí)別才能查看,修改或者執(zhí)行操作 。 Action級(jí)別 ——每一個(gè) Action在執(zhí)行業(yè)務(wù)操作之前,都需要判斷訪問(wèn)權(quán)限 。 業(yè)務(wù)服務(wù)級(jí)別 ——業(yè)務(wù)服務(wù)中的每一個(gè)方法在執(zhí)行邏輯之前都需要判斷訪問(wèn)權(quán)限 。 領(lǐng)域?qū)ο蠡蛘邤?shù)據(jù)庫(kù)級(jí)別 ——對(duì)一個(gè)用于獲取數(shù)據(jù)或者領(lǐng)域?qū)ο蟮耐ㄓ梅椒ㄕ{(diào)用而言,調(diào)用者的權(quán)限不同,返回結(jié) 果也會(huì)不同 。 在 Struts2 Web應(yīng)用的視圖中,需要對(duì)用戶(hù)是否有權(quán)訪問(wèn) URL進(jìn)行驗(yàn)證。在用戶(hù)有權(quán)訪問(wèn)應(yīng)用程序的前提下,還可以分 為如下的幾種情況。 第一種是外部的解決方案,通過(guò) HttpServletRequest來(lái)提供用戶(hù)帳戶(hù)信息。這之后用戶(hù)名和用戶(hù)的角色信息就可以在 Action中訪問(wèn)(通過(guò)實(shí)現(xiàn) PrincipalAware接口和在攔截器棧中配置 ―servletconfig‖),并通過(guò) Action暴露給被渲染的頁(yè)面。現(xiàn)有的Struts2標(biāo)簽都可以用來(lái)進(jìn)行基于角色的訪問(wèn)限制。 下一種情況是用戶(hù)訪問(wèn) HttpServletRequest的帳戶(hù)信息尚未提供的時(shí)候。這時(shí)就需要寫(xiě)一個(gè)攔截器,用它來(lái)進(jìn)行驗(yàn)證,獲取所需要的角色信息,并組裝信息。這個(gè)過(guò)程可以復(fù)雜如編寫(xiě)登錄表單,登錄和注銷(xiāo)代碼,驗(yàn)證邏輯等等;也可以簡(jiǎn)單如從暴露的 API中獲取信息并傳遞給 Action。 最后一種情況是由第三方類(lèi)庫(kù)來(lái)做所有的事情,比如 Acegi。 Acegi提供了用于保護(hù) Web應(yīng)用安全的所有組件 ——Servlet過(guò)濾器,自定義的標(biāo)簽庫(kù),與 Spring相集成來(lái)保護(hù)業(yè)務(wù)對(duì)象和領(lǐng)域?qū)ο?——這些都是在 Struts2 Web應(yīng)用的外部來(lái)完成。 14 當(dāng)然,只有當(dāng) Action處理過(guò)程中需要授權(quán)信息的時(shí)候,才需要這種集成。在這種情況下,需要有一個(gè)攔截器和一個(gè) action接口相配合,向 Action提 供 Authz接口的實(shí)例。 更多細(xì)節(jié)請(qǐng)參見(jiàn)
點(diǎn)擊復(fù)制文檔內(nèi)容
范文總結(jié)相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1