版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、中南大學(xué) CentralSouthUniversity 本科畢業(yè)設(shè)計(jì) 英文文獻(xiàn)翻譯 目 題 學(xué)生姓名 號(hào)學(xué) 指導(dǎo)教師 學(xué) 院 專(zhuān)業(yè)班級(jí) 日八月一年二一六 構(gòu)架模式的 web MVC Spring Juergen Hoeller Spring 的應(yīng)用構(gòu)架1、 介紹:“哦哦,框架的時(shí)候,你一定會(huì)在心里想到;當(dāng)你第一次看到并接觸Spring框架不是什么特殊構(gòu)架”。這篇文章將會(huì)指出Spring不不,這又是另一種Web在專(zhuān)用網(wǎng)絡(luò)支持下的應(yīng)用框架,而是一個(gè)通用的輕量級(jí)的應(yīng)用程序框架,的webapplication Spring框架明顯區(qū)別于其他輕量級(jí)程序框架。并且它會(huì)告訴你 webwork有著明顯的區(qū)別。
2、web的支持,與struts和framework,它將專(zhuān)注于框架是一個(gè)服務(wù)于所有層面的對(duì)比上之中,Springstruts和webwork在和上的application framework:提供了bean的配置基礎(chǔ),AOP的支持,JDBC的提取框架,抽象事務(wù)支持,等等諸如此類(lèi)。它有一個(gè)非常顯著的特點(diǎn):在某個(gè)層面上如果你不需要Spring的支持,它有一個(gè)非常顯著的特點(diǎn):在某個(gè)層面上如果你不需要Spring你就可以不使用Spring框架的class(類(lèi)),只使用它的某一部分的功的支持,能。從它的設(shè)計(jì)理念,你可以看到Spring框架幫助你實(shí)現(xiàn)了真正的邏輯層和web層的成功分離:例如:一個(gè)校驗(yàn)應(yīng)用將不
3、用依靠controllers,就可以實(shí)現(xiàn)。這樣的目標(biāo)是更好的重用和易測(cè):過(guò)分依靠不必要的容器和框架將不能實(shí)現(xiàn)這一點(diǎn)。 當(dāng)然,Spring的自己本身的web支持和通??蚣苣J降募?xì)致完整。然而,Spring替換struts,webwork或者其他的web方案非常的容易。這個(gè)對(duì)于Spring的web支持或者不同的地方,Spring允許你在web容器里面建立一個(gè)中間層,在測(cè)試環(huán)境或者標(biāo)準(zhǔn)獨(dú)立的應(yīng)用里面來(lái)設(shè)置重用你的商務(wù)邏輯。 還有就是在J2EE環(huán)境里面,可以讓你你的商務(wù)邏輯不必依靠容器提供的服務(wù),就比如像JTA,EJB的支持。良好的框架的一個(gè)web應(yīng)用是可以運(yùn)行在任何容器上,就比如,Tomcat或者R
4、esin這些容器。值得注意的事,Spring不是和已經(jīng)存在的解決方案進(jìn)行競(jìng)爭(zhēng)的關(guān)系。我們鼓勵(lì)結(jié)合標(biāo)準(zhǔn)的技術(shù),如Servlet,JSP,JTA,JNDI,JDBC和JDO,和其他非常匹配的工具,比方如Hibernate,Velocity,Log4J,和Cauchos Hessian/Burlap這類(lèi)工具。這個(gè)框架的設(shè)計(jì)思想是你的應(yīng)用處在需要改良的時(shí)候,你將可以對(duì)其做一些技術(shù)的選擇:例如,如果你需要分布式事務(wù)處理,你可能需要用Spring框架的JTA Transaction Manager 來(lái)實(shí)現(xiàn)JTA服務(wù)?;蛘?,用DataSourceTranscactionM anager 或者 Hiberna
5、teTransction Manager 來(lái)實(shí)現(xiàn)美妙完美的單個(gè)數(shù)據(jù)庫(kù)交換。 2、 Web MVC:Spring web框架的設(shè)計(jì)思想 Spring網(wǎng)絡(luò)框架通過(guò)配置操作mappings可配置的處理程序,展示resolution,本地化和模板集成圍繞著分派請(qǐng)求操作的servlet -DispatcherServlet分派請(qǐng)求處理程序,可配置的處理程序映射,決議,決議和語(yǔ)言環(huán)境和主題設(shè)計(jì)的。缺省的操作是一個(gè)非常簡(jiǎn)單的控制器接口,他只是提供了一個(gè)“ModelAndView handleRequest(request請(qǐng)求,response響應(yīng))”的方法。這已經(jīng)可以將它應(yīng)用于一個(gè)應(yīng)用的程序控制器,但是,如
6、果你想包含多個(gè),ControllersAbstractCommand ,ControlerrAbstract , 制控的次層MultiAction Controllers,SimpleForm Controllers,AbstractWizardForm Controller將幫助你完成,應(yīng)用程序控制器將代表那些子系統(tǒng)通常是子類(lèi)。注意,你可以選擇一個(gè)適當(dāng)?shù)幕?lèi):如果你沒(méi)有web form(網(wǎng)絡(luò)形式),你就不必用 Form Controller。這便就是和Struts最大的不同區(qū)別了。你可以把任何物體作為命令或者形式對(duì)象來(lái)操作任何對(duì)象:這就可以不需要接口工具或者一個(gè)基礎(chǔ)類(lèi)的驅(qū)動(dòng)。Spring的數(shù)
7、據(jù)綁定是非常的高度靈活的。舉例來(lái)說(shuō),對(duì)待類(lèi)型不匹配的驗(yàn)證錯(cuò)誤,他描述了具有在應(yīng)用范圍內(nèi)的校驗(yàn)錯(cuò)誤的輸入機(jī)制,但不是系統(tǒng)錯(cuò)誤。 所以在你的形式對(duì)象里面你大可不需要復(fù)制你的業(yè)務(wù)對(duì)象的Spring框架中的屬性作為字符串表單對(duì)象,就能夠處理無(wú)效的提交,或?qū)⒆址O喾?它通常比直接綁定到您的業(yè)務(wù)對(duì)象。這是另一個(gè)主要區(qū)別Struts是建立在需要基類(lèi)行動(dòng)和ActionForm對(duì)任何類(lèi)型的行動(dòng)。只需要操作出錯(cuò)的子任務(wù),或者適當(dāng)?shù)霓D(zhuǎn)換spring框架。換句話來(lái)說(shuō),他通??梢院芎玫淖止?jié)綁定你的業(yè)務(wù)對(duì)象。這也是和Struts圍繞請(qǐng)求基礎(chǔ)類(lèi)Action和ActionForm(每個(gè)action操作類(lèi)型)建立主要的不同
8、之一。 對(duì)比WebWork(網(wǎng)絡(luò)系統(tǒng)),Spring框架更多的區(qū)別在于對(duì)象角色:Spring框架支持控制器的概念,一個(gè)可選的操作命令或者表單對(duì)象,得到數(shù)據(jù)并傳遞給視圖的模式這個(gè)模型。這個(gè)模式通常包含命令和表單對(duì)象,但有時(shí)也包含任意的參考數(shù)據(jù)。換句話來(lái)說(shuō),相反一個(gè)webwork aciton(網(wǎng)絡(luò)系統(tǒng)動(dòng)作) 聯(lián)合了所有這些角色到單獨(dú)的對(duì)象中。網(wǎng)絡(luò)系統(tǒng)不允許你用已經(jīng)存在的業(yè)務(wù)對(duì)象作為你f表單的一部分,但是只生成各自相關(guān)Action操作類(lèi)的bean屬性。 最后,相同的操作請(qǐng)求的aciotn操作實(shí)例在一個(gè)視圖里面獲得賦值和形成人口集群。因此,引用數(shù)據(jù)需要模仿作為行動(dòng)的bean屬性。這些可以說(shuō)是太多的角
9、色在一個(gè)對(duì)象中。 然而,參考數(shù)據(jù)也需要作為action的屬性被模擬。一個(gè)類(lèi)里面有太多的角色是值得討論的。 關(guān)于視圖:Spring框架的視圖方案非常的靈活。甚至可以編寫(xiě)一個(gè)視圖控制器實(shí)現(xiàn)通過(guò)respongse返回ModelAndview對(duì)象的null值,就可以直接寫(xiě)到一個(gè)視圖。 在通常的狀況下,一個(gè)ModelAndView實(shí)例結(jié)合了一個(gè)view(視圖名稱(chēng))和一個(gè)model Map(模型地圖),包含了bean 名稱(chēng)和相應(yīng)的通訊對(duì)象(像命令或者形式,參考數(shù)據(jù),等等)。視圖名稱(chēng)解析是非常高端的配置,不是通過(guò)bean名稱(chēng) ,一個(gè)propertiese 文件,就是通過(guò)你自己的ViewResolver來(lái)實(shí)現(xiàn)
10、的。這個(gè)抽象的model Map(模型映射)允許你在視圖層面完成提取視圖,沒(méi)有任何的爭(zhēng)辯麻煩:JSP ,速度,或者其他,每一種渲染器都可以直接完整集成使用。這個(gè)model Map(模型映射)還可以簡(jiǎn)單轉(zhuǎn)化得到適當(dāng)?shù)母袷交瘮?shù)據(jù)的轉(zhuǎn)換,像JSP請(qǐng)求屬性或者Velocity模板模式。 3、 集成:用Spring一個(gè)不同web框架 許多開(kāi)發(fā)團(tuán)隊(duì)將為他們已有的項(xiàng)目或者新的項(xiàng)目已經(jīng)獲得的期限和工具進(jìn)行投資。這里沒(méi)有像Struts那樣大量的圖書(shū)和工具,但是同樣我們又大量的擁的構(gòu)架瑕疵中Strust如果你愿意生活在然而,開(kāi)發(fā)技巧的開(kāi)發(fā)人員。Spring有的話,它仍然是一種可行的選擇web層而他將會(huì)是你在web
11、層開(kāi)發(fā)不錯(cuò)的選擇。當(dāng)然,其他應(yīng)用也是一樣。 如果你不想Spring框架的web MVC,但是又想借用Spring框架嫁接其他的解決方案,你可以非常簡(jiǎn)單的通過(guò)Spring框架來(lái)繼承你自己的web框架。你可以非常簡(jiǎn)單的通過(guò)Context LoaderListener啟動(dòng)一個(gè)Spring root application context,并且,通過(guò)Struts 或者網(wǎng)絡(luò)系統(tǒng)的action,利用Servletcontext屬性(或者Spring的helper方法)存取它。值得注意的事,這里沒(méi)有任何的”plugings”被調(diào)用,因此沒(méi)有專(zhuān)門(mén)的集成:來(lái)自web層的視圖,你可以簡(jiǎn)單的將Spring作為一個(gè)管
12、理application context 實(shí)例入口點(diǎn)的類(lèi)庫(kù)。 所有你注冊(cè)的bean和Spring框架的服務(wù)都可以在不需要Spring框架的web MVC的情況下都可以被你輕松掌握。Spring不是和Struts,Webwork這些應(yīng)用進(jìn)行競(jìng)爭(zhēng),他將作為一個(gè)純web框架應(yīng)用于很多領(lǐng)域,它解決了許多領(lǐng)域,純web框架不從bean配置數(shù)據(jù)訪問(wèn)和事務(wù)處理。因?yàn)樗恍枰渲脭?shù)據(jù)存儲(chǔ)和事務(wù)操作。所以,你可以利用Spring提供的中間層和數(shù)據(jù)存儲(chǔ)層來(lái)豐富你的應(yīng)用,甚至,你只是想用JDBC或者Hibernate進(jìn)行事務(wù)抽象。 4、 特點(diǎn)核對(duì)列表 如果聚焦于web支持,Spring框架的一些顯著特點(diǎn)是:清楚的角
13、色分離:controller,validator,command object,form object,model object和 Dispatcher Servlet,handler mapping vs view resolver,等等。 強(qiáng)大而且直接簡(jiǎn)單的框架和作為javaBean的應(yīng)用配置,包括簡(jiǎn)單的參照和應(yīng)用程序上下文引用內(nèi)容,例如,從web控制器到業(yè)務(wù)對(duì)象和數(shù)據(jù)校驗(yàn)器。 適應(yīng)性,外掛:無(wú)論使用什么樣的控制器你都需要得到替代Action/ActionForm所做的每件事情的方案(簡(jiǎn)單,命令,form,范例,多重action,或者定制一個(gè))重用業(yè)務(wù)邏輯代碼,而不是源于Action/ ActionForm一切。不需要復(fù)制: 你可以用已經(jīng)有的業(yè)務(wù)邏輯對(duì)象作為命令或者form對(duì)象代替反射特定的actionform子類(lèi)??梢远ㄖ频慕壎ê蛿?shù)據(jù)校驗(yàn):作為應(yīng)用級(jí)的輸入機(jī)制的錯(cuò)誤校驗(yàn),固定日期和數(shù)字綁定,定制綁定和驗(yàn)證:類(lèi)型不匹配,應(yīng)用程序級(jí)驗(yàn)證錯(cuò)誤,使違規(guī)值,本地化的日期和號(hào)碼綁定等代替String-on
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 高考物理總復(fù)習(xí)專(zhuān)題九磁場(chǎng)第3講帶電粒子在勻強(qiáng)磁場(chǎng)、復(fù)合場(chǎng)中的運(yùn)動(dòng)練習(xí)含答案
- 生產(chǎn)車(chē)間承包設(shè)備租賃
- 高中化學(xué) 第三冊(cè) 第九章 初識(shí)元素周期律 9.2 元素周期表教學(xué)設(shè)計(jì)1 滬科版
- 2024年四年級(jí)品德與社會(huì)上冊(cè) 第三單元 生活在這里真好 第11課《我家來(lái)了新鄰居》教案 粵教版
- 2024秋七年級(jí)英語(yǔ)上冊(cè) Unit 5 Family and Home Lesson 28 A Family Picnic教學(xué)設(shè)計(jì) (新版)冀教版
- 2023一年級(jí)數(shù)學(xué)下冊(cè) 五 認(rèn)識(shí)人民幣 1認(rèn)識(shí)人民幣教案 西師大版
- 2023九年級(jí)道德與法治下冊(cè) 第一單元 我們共同的世界 第一課 同住地球村第2課時(shí) 復(fù)雜多變的關(guān)系說(shuō)課稿 新人教版
- 文書(shū)模板-建設(shè)工程施工分包合同
- 外匯存款代辦委托書(shū)
- 銀行合同范本(2篇)
- 汽油柴油運(yùn)輸安全知識(shí)講座
- 關(guān)于生殖健康知識(shí)講座
- 洪恩識(shí)字配套字庫(kù)完整版識(shí)字啟蒙200字-生字組詞句子完整版可打印-點(diǎn)讀指讀
- 幼兒園園長(zhǎng)的幼教教研與項(xiàng)目管理
- 兒童超重與肥胖培訓(xùn)課件
- 廢棄物管理與處理培訓(xùn)分類(lèi)與安全處置技巧
- 2024年黑龍江建筑職業(yè)技術(shù)學(xué)院高職單招(英語(yǔ)/數(shù)學(xué)/語(yǔ)文)筆試歷年參考題庫(kù)含答案解析
- 曲臂登高車(chē)管理與維護(hù)
- 鐵路邊坡水害分析報(bào)告
- 手術(shù)中獲得性壓力性損傷護(hù)理課件
- 你畫(huà)我猜題目
評(píng)論
0/150
提交評(píng)論