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

正文內(nèi)容

武漢大學(xué)工程碩士專業(yè)學(xué)位論文模板-文庫吧資料

2024-08-17 02:05本頁面
  

【正文】 求分析人員將客戶描述的需求用計(jì)算機(jī)語言描述出來,分析用戶的需求是否能實(shí)現(xiàn),是否還可以提交更多的功能。用戶可以根據(jù)需要利用ICPS系統(tǒng)發(fā)表文章,提出問題并表達(dá)自己的觀點(diǎn)。第五章 ICPS系統(tǒng)的設(shè)計(jì)依據(jù)在前面的第二至第四章,分別介紹了Struts、Hibernate和Spring框架技術(shù),本章將結(jié)合一個(gè)具體的信息交流平臺(tái)系統(tǒng),設(shè)計(jì)了一個(gè)整合Struts、Hibernate和Spring技術(shù)的框架,并詳細(xì)闡述了系統(tǒng)的設(shè)計(jì)。通過IntroductionInterceptor可以實(shí)現(xiàn)多線程訪問中的類鎖定。ThrowsAdvice可以被用于任何類型的切入點(diǎn)。l :用于實(shí)現(xiàn)Throws Advice,對(duì)處理事務(wù)或者特定的業(yè)務(wù)需求很有幫助。通過調(diào)用MethodInvocation 的proceed()來執(zhí)行對(duì)目標(biāo)操作的調(diào)用。 } Invoke()方法的MethodInvocation 參數(shù)暴露將被調(diào)用的方法、目標(biāo)連接點(diǎn)、AOP代理和傳遞被調(diào)用方法的參數(shù)。l :供實(shí)現(xiàn)Around Advice使用,它是一個(gè)功能強(qiáng)大的Advice類型,能夠在執(zhí)行目標(biāo)操作前后執(zhí)行,因此這對(duì)于一些需要做資源初始化和釋放操作的應(yīng)用而言,特別有用。如果它拋出一個(gè)異常,這個(gè)異常而不是目標(biāo)操作的返回值將被沿著攔截器鏈向上拋出。After處理邏輯在執(zhí)行目標(biāo)操作后執(zhí)行afterRetruning()方法。Before處理邏輯可被用于任何類型的切入點(diǎn)。這個(gè)異常將沿著攔截器鏈后退著向上傳播。Before處理邏輯可以在連接點(diǎn)執(zhí)行之前插入自定義的行為,但是不能改變返回值。Spring封裝了上述5種處理邏輯類型的接口:l :用于實(shí)現(xiàn)Before Advice。Spring AOP只實(shí)現(xiàn)了方法級(jí)的連接點(diǎn)。從技術(shù)角度來講,所謂動(dòng)態(tài)AOP,即通過動(dòng)態(tài)Proxy模式,在目標(biāo)對(duì)象的方法調(diào)用前后插入相應(yīng)的處理代碼。在Spring中,AOP代理可以是JDK動(dòng)態(tài)代理或者是CGLIB代理。④切入點(diǎn)(PointCut)一系列連接點(diǎn)的集合,它指明處理方式(Advice)將在何時(shí)被觸發(fā)。l Throw:在連接點(diǎn)拋出異常時(shí)進(jìn)行異常處理。l After:在連接點(diǎn)之后插入后處理過程。③處理邏輯(Advice)在某個(gè)連接點(diǎn)所采用的處理邏輯。②連接點(diǎn)(JoinPoint)程序運(yùn)行過程中的某個(gè)階段點(diǎn)。各切面只需集中于自己領(lǐng)域內(nèi)的邏輯實(shí)現(xiàn)。AOP中幾個(gè)比較重要的概念:①切面(Aspect)切面,對(duì)象操作過程中的截面。④多實(shí)例加載可以在同一個(gè)應(yīng)用中加載多個(gè)Context實(shí)例。②資源訪問支持對(duì)文件和URL的訪問。為加強(qiáng)BeanFactory及其實(shí)現(xiàn)提供的功能,Spring框架引入了ApplicationContext接口。 Bean實(shí)例,可通過如下的方式:BeanFactory factory = new XMLBeanFactory(new FileInputSteam()); Action action = (Action) (TheAction);此時(shí)我們獲得的Action實(shí)例,由BeanFactory進(jìn)行加載,并根據(jù)配置文件進(jìn)行了初始化和屬性設(shè)定。因?yàn)? 是一個(gè)簡(jiǎn)單接口,所以可以針對(duì)各種底層存儲(chǔ)方法實(shí)現(xiàn)。其中,BeanFactory依據(jù)Spring配置文件定義了各個(gè)JavaBean及其關(guān)系。u BeanFactoryBeanFactory主要負(fù)責(zé)創(chuàng)建并維護(hù)Bean實(shí)例。ApplicationContext繼承了BeanFactory,所以它覆蓋了BeanFactory的所有功能,并提供了更多的特性。① BeanFactory:。Spring IoC容器采用Type2和Type3實(shí)現(xiàn)了IoC設(shè)計(jì)模式。IoC的實(shí)現(xiàn)模式有三種:Type1 接口注入、Type2 設(shè)值注入、Type3 構(gòu)造子注入。IoC指的就是由容器控制程序之間的關(guān)系,而非傳統(tǒng)實(shí)現(xiàn)中由程序代碼直接操控。在代碼中不直接與對(duì)象和服務(wù)連接,但在配置文件中描述哪一個(gè)組件需要哪一項(xiàng)服務(wù)。通過策略接口,MVC 框架變成為高度可配置的,MVC 容納了大量視圖技術(shù),其中包括 JSP、Velocity、Tiles、iText 和 POI。Web 模塊還簡(jiǎn)化了處理多部分請(qǐng)求以及將請(qǐng)求參數(shù)綁定到域?qū)ο蟮墓ぷ?。?Spring Web 模塊:Web 上下文模塊建立在應(yīng)用程序上下文模塊之上,為基于 Web 的應(yīng)用程序提供了上下文。所有這些都遵從 Spring 的通用事務(wù)和 DAO 異常層次結(jié)構(gòu)。更重要的一點(diǎn)是它同時(shí)能夠提供編程方式和聲明方式控制事務(wù)。異常層次結(jié)構(gòu)簡(jiǎn)化了錯(cuò)誤處理,并且極大地降低了需要編寫的異常代碼數(shù)量(例如打開和關(guān)閉連接)。通過使用 Spring AOP,不用依賴 EJB 組件,就可以將聲明性事務(wù)管理集成到應(yīng)用程序中。所以,可以很容易地使 Spring 框架管理的任何對(duì)象支持 AOP。這對(duì)于Web應(yīng)用和J2EE應(yīng)用尤為有效,甚至可以認(rèn)為Spring引入上下文模塊更多地是為了簡(jiǎn)化開發(fā)Web應(yīng)用和J2EE應(yīng)用目的地。② Spring 上下文(Context)模塊:直接位于Spring核心模塊之上。核心容器的主要組件是 BeanFactory,它是工廠模式的實(shí)現(xiàn)。圖41 Spring架構(gòu)組成 Spring 框架的每個(gè)模塊(或組件)都可以單獨(dú)存在,或者與其他一個(gè)或多個(gè)模塊聯(lián)合實(shí)現(xiàn)。Spring 框架由 7 個(gè)定義良好的模塊組成。 Spring框架概述Spring框架是一個(gè)分層的Java/J2EE應(yīng)用程序框架,基于Expert OneonOne J2EE設(shè)計(jì)和發(fā)行的代碼??刂品崔D(zhuǎn)是一個(gè)用于“基于組件的體系結(jié)構(gòu)”的設(shè)計(jì)模式,它將“判斷依賴關(guān)系”的職責(zé)移交給容器,而不是由組件本身來判斷彼此之間的依賴關(guān)系。使用本地?cái)?shù)據(jù)庫的SQL查詢,這種查詢Hibernate只關(guān)心把JDBC 結(jié)果集映射到持久對(duì)象圖。這種API封裝了基于字符串形式的查詢語句,提供了更加面向?qū)ο蟮慕涌?,它主要由Criteria接口、Criterion接口、和Expression類組成,支持在運(yùn)行式動(dòng)態(tài)生成查詢語句。④QBC檢索方式。此外,Hibernate還提供了Query接口,它是Hibernate提供的專門的HQL查詢接口,能夠執(zhí)行各種復(fù)雜的HQL查詢語句。使用面向?qū)ο蟮腍QL查詢語言。Session的get()和load()方法提供了這種功能。②標(biāo)識(shí)符檢索方式。().getCity()的屬性訪問器方法訪問相關(guān)聯(lián)的對(duì)象。Hibernate提供了以下幾種檢索對(duì)象的方式:①導(dǎo)航對(duì)象圖檢索方式。Criteria接口完全封裝了基于字符串形式的查詢語句,比Query接口更加面向?qū)ο螅宜瞄L(zhǎng)于執(zhí)行動(dòng)態(tài)查詢。u Query和Criteria接口Query和Criteria接口是Hibernate的查詢接口,用于向數(shù)據(jù)庫查詢對(duì)象,以及控制執(zhí)行查詢的過程。事務(wù)將應(yīng)用代碼從下層的事務(wù)實(shí)現(xiàn)中抽象出來——這可能是一個(gè)JDBC事務(wù),一個(gè)JTA用戶事務(wù)或者甚至是一個(gè)公共對(duì)象請(qǐng)求代理結(jié)(CORBA)——允許應(yīng)用通過一組一致的API控制事務(wù)邊界。u Transaction接口Transaction(事務(wù))接口是一個(gè)可選的API。u Configuration接口Configuration(配置)對(duì)象用來配置和引導(dǎo)Hibernate。如果應(yīng)用程序只訪問一個(gè)數(shù)據(jù)庫,只需要在應(yīng)用初始化的時(shí)候創(chuàng)建一個(gè)會(huì)話工廠實(shí)例。它也保存了在一個(gè)工作單元中讀入的數(shù)據(jù)并且可能在以后的工作單元中被重用(只有類和集合映射指定了這種二級(jí)緩存是想要的時(shí)才會(huì)如此)。它是線程安全的,這意味著它的同一個(gè)實(shí)例可以被應(yīng)用的多個(gè)線程共享。u SessionFactory接口應(yīng)用從SessionFactory(會(huì)話工廠)里獲得會(huì)話實(shí)例。Hibernate可以檢測(cè)到這個(gè)工作單元中對(duì)象的改變。 Hibernate會(huì)話是一個(gè)介于連接和事務(wù)之間的概念。會(huì)話接口的實(shí)例是輕量級(jí)的且創(chuàng)建和銷毀不需要消耗太多的資源。Session也被稱為持久化管理器,它提供了和持久化相關(guān)的操作:保存、更新、刪除、加載和查詢對(duì)象。圖33是這5個(gè)核心接口的類框圖。有5個(gè)核心接口幾乎在所有的Hibernate應(yīng)用中都會(huì)用到。映射語言是以Java為中心的,意味著映射是按照持久化類的定義來創(chuàng)建的,而非表的定義。域模型是面向?qū)ο蟮?,而關(guān)系數(shù)據(jù)模型是面向關(guān)系的,一般情況下,一個(gè)持久化類和一個(gè)表對(duì)應(yīng),類的每個(gè)實(shí)例對(duì)應(yīng)表中的一條記錄。圖32 ORM充當(dāng)業(yè)務(wù)邏輯層和數(shù)據(jù)庫層之間充當(dāng)橋梁ORM解決的主要問題就是對(duì)象關(guān)系的映射。它提供了實(shí)現(xiàn)持久化層的一種模式:采用映射元數(shù)據(jù)來描述對(duì)象關(guān)系映射細(xì)節(jié),使得ORM中間件能夠在任何一個(gè)Java應(yīng)用的業(yè)務(wù)邏輯層和數(shù)據(jù)庫層之間充當(dāng)橋梁。它的架構(gòu)如31圖所示: 圖31 Hibernate 架構(gòu)圖此圖顯示了hibernate的工作原理,XML Mapping等來為應(yīng)用程序提供數(shù)據(jù)持久服務(wù)的。它不僅負(fù)責(zé)從Java類到數(shù)據(jù)庫表格(以及來自Java數(shù)據(jù)類型的SQL數(shù)據(jù)類型)的映射,而且還提供數(shù)據(jù)查詢和檢索能力,并能大大減少花在SQL和JDBC手工數(shù)據(jù)處理上的開發(fā)時(shí)間。 Hibernate概述 Hibernate是一種適合于Java語言的對(duì)象關(guān)系映射(ORM)解決方案。 第三章 Hibernate技術(shù)介紹Hibernate是目前非常流行的ORM(Object/Relation Mapping)工具,是一個(gè)基于Java的開源代碼的持久化中間件,它對(duì)JDBC進(jìn)行了輕量級(jí)封裝。Action的Execute方法執(zhí)行完業(yè)務(wù)邏輯,返回一個(gè)ActionForward對(duì)象。此外,還可以在ActionForm類中調(diào)用Validate方法來檢查請(qǐng)求參數(shù)的合法性,并且可以返回一個(gè)包含所有錯(cuò)誤信息的ActionErrors對(duì)象。Struts架構(gòu)將檢查UserActionForm是否存在,如果不存在,就會(huì)創(chuàng)建一個(gè)該類的實(shí)例。控制器接受Http請(qǐng)求,并從ActionConfig中找到對(duì)應(yīng)于該請(qǐng)求的Action子類,如果沒有對(duì)應(yīng)的Action,控制器直接將請(qǐng)求轉(zhuǎn)發(fā)給JSP或者靜態(tài)頁面,否則控制器將請(qǐng)求分發(fā)至具體的Action類進(jìn)行處理。在應(yīng)用服務(wù)啟動(dòng)的時(shí)候,控制器(ActionServlet)進(jìn)行初始化工作,讀取配置文件(),為不同的Struts模塊初始化相應(yīng)的ModuleConfig對(duì)象。為了實(shí)現(xiàn)自動(dòng)被填充和調(diào)用的機(jī)制,該Bean必須是Struts 。u Struts ActionForm Bean在Struts架構(gòu)中,使用一種名為ActionForm的系統(tǒng)狀態(tài)Bean,來實(shí)現(xiàn)應(yīng)用系統(tǒng)的非持久性數(shù)據(jù)儲(chǔ)存和維護(hù)功能。ActionForward對(duì)象是一種配置對(duì)象,代表了Web資源,可以是JSP頁面、Servlet以及Action。當(dāng)ActionServlet轉(zhuǎn)發(fā)請(qǐng)求時(shí),ActionMapping實(shí)例被作為參數(shù)之一傳給相應(yīng)的Action對(duì)象的execute()方法。u Struts Action MappingActionServlet負(fù)責(zé)轉(zhuǎn)發(fā)客戶端請(qǐng)求給相應(yīng)的Action對(duì)象進(jìn)行處理,同時(shí)還轉(zhuǎn)發(fā)了其他一些相關(guān)信息,這種請(qǐng)求和處理之間具體的映射關(guān)系保存在XML配置文件()中。這樣的分離,使得客戶請(qǐng)求和Action類之間可以有多個(gè)點(diǎn)對(duì)點(diǎn)的映射。u Struts Action Classes,它是Struts架構(gòu)中控制器組件的重要組成部分。 按照Servelt的標(biāo)準(zhǔn),所有的Servlet必須在web配置文件()中聲明。它提供一個(gè)中心位置來處理全部的終端請(qǐng)求。這幾個(gè)組件就是:ActionServlet,Action Classes,Action Mapping(包括ActionForward),ActionFrom Bean。其中,Action扮演了真正的控制邏輯的實(shí)現(xiàn)者,而ActionMapping和ActionForward則指定了不同業(yè)務(wù)邏輯或流程的運(yùn)行方向。另一方面,Struts提供了豐富的JSP標(biāo)記庫,View部分使用這些標(biāo)記庫可以實(shí)現(xiàn)與Model的有效交互并能增強(qiáng)顯示。 圖24 Struts MVC架構(gòu) 從Model角度看,在Struts中,系統(tǒng)模型的狀態(tài)主要由ActionForm Bean和值對(duì)象體現(xiàn)。 圖23 JSP Model 2Model 2實(shí)現(xiàn)了系統(tǒng)業(yè)務(wù)邏輯功能模塊、顯示模塊和數(shù)據(jù)持久層處理模塊的分離,同時(shí)還提高了應(yīng)用系統(tǒng)的可維護(hù)性、可擴(kuò)展性、可移植性和組件的可復(fù)用性。在Servlet中只包含了控制邏輯和一些簡(jiǎn)單的處理邏輯,更加復(fù)雜的業(yè)務(wù)處理邏輯則借助特定的JavaBean具體實(shí)現(xiàn)。 JSP Model 2Model 2則是MVC設(shè)計(jì)模式的一種具體實(shí)現(xiàn)方式,如圖23所示。 圖22 JSP Model 1在JSP Model 1中,JSP頁面負(fù)責(zé)接收處理客戶端Web瀏覽器發(fā)送的請(qǐng)求,并在處理后直接進(jìn)行響應(yīng)。最初很多的Java Web應(yīng)用甚至全部由JSP頁面構(gòu)成,這種以JSP為中心的開發(fā)模型被稱為Model 1。 JSP Model 1 在JSP技術(shù)的發(fā)展初期,由于其便于快速開發(fā)的優(yōu)點(diǎn),很快就成為創(chuàng)建Web應(yīng)用的熱門技術(shù)之一。圖21 MVC模式的結(jié)構(gòu)在MVC設(shè)計(jì)模式中,事件一般是指客戶端Web瀏覽器提交的各種不同的請(qǐng)求,這些請(qǐng)求由控制器進(jìn)行處理,控制器根據(jù)事件的類型來改變模型或各個(gè)視圖,視圖也可以接受模型發(fā)出的數(shù)據(jù)更新的通知,根據(jù)數(shù)據(jù)更新的結(jié)果調(diào)整視圖效果,展示給用戶。起到控制整個(gè)業(yè)務(wù)流程(Flow Control)的作用,實(shí)現(xiàn)View和Model部分的協(xié)同工作。即與用戶實(shí)現(xiàn)交互的界面,是應(yīng)用程序的外在表現(xiàn),通常實(shí)現(xiàn)數(shù)據(jù)的輸入和輸出功能。實(shí)現(xiàn)具體的業(yè)務(wù)邏輯、狀態(tài)管理的功能。 MVC模式介紹MVC模式,即模型視圖控制器模式,其核心思想是將整個(gè)程序代碼分成相對(duì)獨(dú)立的而又能協(xié)同工作的3個(gè)組成部分
點(diǎn)擊復(fù)制文檔內(nèi)容
試題試卷相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1