下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、畢業(yè)設(shè)計(jì)(論文) 外文文獻(xiàn)翻譯文獻(xiàn)、資料中文題目:Spring 的web MVC構(gòu)架模式文獻(xiàn)、資料英文題目:文獻(xiàn)、資料來源:文獻(xiàn)、資料發(fā)表(出版)日期: 院(部):專 業(yè): 班 級(jí): 姓 名: 學(xué) 號(hào): 指導(dǎo)教師:翻譯日期: 2017.02.14Spring 的web MVC構(gòu)架模式Juergen Hoeller1、介紹:Spring 的應(yīng)用構(gòu)架當(dāng)你第一次看到并接觸Spring框架的時(shí)候,你一定會(huì)在心里想到;“哦哦, 不不,這又是另一種 Web構(gòu)架”。這篇文章將會(huì)指出Spring框架不是什么特殊 的web框架,而是一個(gè)通用的輕量級(jí)的應(yīng)用程序框架,在專用網(wǎng)絡(luò)支持下的應(yīng)用程序框架。并且它會(huì)告訴你S
2、pring框架明顯區(qū)別于其他輕量級(jí)即plicationframework,它將專注于 web的支持,與struts 和webwork有著明顯的區(qū)別。在和struts和webwork的對(duì)比上之中,Spring框架是一個(gè)服務(wù)于所有層面 上的application framework :提供了 bean的配置基礎(chǔ),AOP的支持,JDBC的 提取框架,抽象事務(wù)支持,等等諸如此類。它有一個(gè)非常顯著的特點(diǎn):在某個(gè)層面上如果你不需要Spring的支持,它有一個(gè)非常顯著的特點(diǎn):在某個(gè)層面上如果你不需要 Spring 的支持,你就可以不使用Spring框架的class (類),只使用它的某一部分的功 能。從它的
3、設(shè)計(jì)理念,你可以看到Spring框架幫助你實(shí)現(xiàn)了真正的邏輯層和 web 層的成功分離:例如:一個(gè)校驗(yàn)應(yīng)用將不用依靠con trollers ,就可以實(shí)現(xiàn)。這樣的目標(biāo)是更好的重用和易測(cè):過分依靠不必要的容器和框架將不能實(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)用里面來設(shè)置重用你的商務(wù)邏輯。還有就是在J2EE環(huán)境里面,可以讓你你的商務(wù)邏輯不必依靠容器
4、提供的服 務(wù),就比如像JTA, EJB的支持。良好的框架的一個(gè) web應(yīng)用是可以運(yùn)行在任何 容器上,就比如,Tomcat或者Resin這些容器。值得注意的事,Spring不是和 已經(jīng)存在的解決方案進(jìn)行競(jìng)爭(zhēng)的關(guān)系。我們鼓勵(lì)結(jié)合標(biāo)準(zhǔn)的技術(shù),如Servlet,JSP, JTA, JNDI,JDBC和JDQ 和其他非常匹配的工具,比方如 Hibernate, Velocity,Log4J, 和Caucho' s Hessian/Burlap 這類工具。這個(gè)框架的設(shè)計(jì)思想 是你的應(yīng)用處在需要改良的時(shí)候, 你將可以對(duì)其做一些技術(shù)的選擇:例如,如果你需要分布式事務(wù)處理, 你可能需要用Spring框架
5、的JTA Transaction Manager 來實(shí)現(xiàn) JTA 服務(wù)。或者,用 DataSourceTranscactionM anager 或者 HibernateTra nsction Ma nager來實(shí)現(xiàn)美妙完美的單個(gè)數(shù)據(jù)庫交換。2、Web MVC Spring web框架的設(shè)計(jì)思想Spring網(wǎng)絡(luò)框架通過配置操作mappings可配置的處理程序,展示 resolution ,本地化和模板集成圍繞著分派請(qǐng)求操作的servlet -DispatcherServlet分派請(qǐng)求處理程序,可配置的處理程序映射,決議,決議和語言環(huán)境和主題設(shè)計(jì)的。缺省的操作是一個(gè)非常簡(jiǎn)單的控制器接口,他只是提供
6、了一個(gè)“ ModelAndViewhandleRequest ( request 請(qǐng)求,response 響應(yīng))”的 方法。這已經(jīng)可以將它應(yīng)用于一個(gè)應(yīng)用的程序控制器,但是,如果你想包含多個(gè)層次 的控制 , Abstract Controlerr , AbstractCommand Controllers , MultiAction Controllers , SimpleForm Controllers , AbstractWizardForm Con troller將幫助你完成,應(yīng)用程序控制器將代表那些子系統(tǒng)通常是子類。注意,你可以選擇一個(gè)適當(dāng)?shù)幕悾喝绻銢]有web form(網(wǎng)絡(luò)形式),
7、你就不必用Form Controller 。這便就是和Struts最大的不同區(qū)別了。你可以把任何物 體作為命令或者形式對(duì)象來操作任何對(duì)象:這就可以不需要接口工具或者一個(gè)基礎(chǔ)類的驅(qū)動(dòng)。Spri ng的數(shù)據(jù)綁定是非常的高度靈活的。舉例來說,對(duì)待類型不 匹配的驗(yàn)證錯(cuò)誤,他描述了具有在應(yīng)用范圍內(nèi)的校驗(yàn)錯(cuò)誤的輸入機(jī)制,但不是系統(tǒng)錯(cuò)誤。所以在你的形式對(duì)象里面你大可不需要復(fù)制你的業(yè)務(wù)對(duì)象的Spring框架中的屬性作為字符串表單對(duì)象,就能夠處理無效的提交,或?qū)⒆址?。相反,它通?比直接綁定到您的業(yè)務(wù)對(duì)象。這是另一個(gè)主要區(qū)別Struts是建立在需要基類行動(dòng)和ActionForm對(duì)任何類型的行動(dòng)。只需要操作出錯(cuò)
8、的子任務(wù),或者適當(dāng)?shù)霓D(zhuǎn)換spring框架。換句話來說,他通??梢院芎玫淖止?jié)綁定你的業(yè)務(wù)對(duì)象。這也是和Struts圍繞請(qǐng)求基礎(chǔ)類 Action和ActionForm (每個(gè)action 操作類型) 建立主要的不同之一。對(duì)比WebWorlk網(wǎng)絡(luò)系統(tǒng)),Spring框架更多的區(qū)別在于對(duì)象角色:Spring框架支持控制器的概念,一個(gè)可選的操作命令或者表單對(duì)象,得到數(shù)據(jù)并傳遞給 視圖的模式這個(gè)模型。這個(gè)模式通常包含命令和表單對(duì)象,但有時(shí)也包含任意的參考數(shù)據(jù)。換句話來說,相反一個(gè) webwork acit on (網(wǎng)絡(luò)系統(tǒng)動(dòng)作)聯(lián)合了所有這些角色到單獨(dú)的對(duì)象中。網(wǎng)絡(luò)系統(tǒng)不允許你用已經(jīng)存在的業(yè)務(wù)對(duì)象作為你f
9、表單的一部分,但是只生成各自相關(guān) Action操作類的bean屬性。最后,相同的操作請(qǐng)求的aciotn操作實(shí)例在一個(gè)視圖里面獲得賦值和形成 人口集群。因此,引用數(shù)據(jù)需要模仿作為行動(dòng)的bean屬性。這些可以說是太多的 角色在一個(gè)對(duì)象中。然而,參考數(shù)據(jù)也需要作為action的屬性被模擬。一個(gè)類里面有太多的角 色是值得討論的。關(guān)于視圖:Spring框架的視圖方案非常的靈活。甚至可以編寫一個(gè)視圖控 制器實(shí)現(xiàn)通過respongse返回ModelAndview對(duì)象的null值,就可以直接寫到一 個(gè)視圖。在通常的狀況下,一個(gè) ModelAndView實(shí)例結(jié)合了一個(gè)view (視圖名稱)和 一個(gè)model M
10、ap (模型地圖),包含了 bean名稱和相應(yīng)的通訊對(duì)象(像命令或 者形式,參考數(shù)據(jù),等等)。視圖名稱解析是非常高端的配置,不是通過bean名稱,一個(gè)propertiese 文件,就是通過你自己的 ViewResolver來實(shí)現(xiàn)的。 這個(gè)抽象的model Map(模型映射)允許你在視圖層面完成提取視圖,沒有任何的 爭(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框架許多開發(fā)團(tuán)隊(duì)將為他們已有的項(xiàng)目或者新的項(xiàng)目已經(jīng)獲
11、得的期限和工具進(jìn) 行投資。這里沒有像Struts那樣大量的圖書和工具,但是同樣我們又大量的擁 有Spring開發(fā)技巧的開發(fā)人員。然而,如果你愿意生活在Strust的構(gòu)架瑕疵中 的話,它仍然是一種可行的選擇 web層而他將會(huì)是你在web層開發(fā)不錯(cuò)的選擇。 當(dāng)然,其他應(yīng)用也是一樣。如果你不想Spring框架的web MVC但是又想借用Spring框架嫁接其他的 解決方案,你可以非常簡(jiǎn)單的通過Spring框架來繼承你自己的web框架。你可以非常簡(jiǎn)單的通過 Con text LoaderListe ner 啟動(dòng)一個(gè) Spring root applicati on con text,并且,通過 Str
12、uts 或者網(wǎng)絡(luò)系統(tǒng)的 actio n,利用 Servletco ntext 屬性(或者Spring的helper方法)存取它。值得注意的事,這里沒有任何 的” plugings ”被調(diào)用,因此沒有專門的集成:來自web層的視圖,你可以簡(jiǎn)單 的將Spri ng作為一個(gè)管理application con text實(shí)例入口點(diǎn)的類庫。所有你注冊(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配
13、置數(shù)據(jù)訪問和事務(wù)處理。因?yàn)樗恍枰渲脭?shù)據(jù)存儲(chǔ)和事務(wù)操 作。所以,你可以利用Spring提供的中間層和數(shù)據(jù)存儲(chǔ)層來豐富你的應(yīng)用,甚 至,你只是想用JDBC或者Hibernate進(jìn)行事務(wù)抽象。4、特點(diǎn)核對(duì)列表如果聚焦于web支持,Spring框架的一些顯著特點(diǎn)是:清楚的角色分離: con troller , validator , comma nd object, form object , model object 和 Dispatcher Servlet ,handler mapping vs view resolver,等等。強(qiáng)大而且直接簡(jiǎn)單的框架和作為javaBean的應(yīng)用配置,包括簡(jiǎn)單
14、的參照和 應(yīng)用程序上下文引用內(nèi)容,例如,從 web控制器到業(yè)務(wù)對(duì)象和數(shù)據(jù)校驗(yàn)器。適應(yīng)性,外掛:無論使用什么樣的控制器你都需要得到替代 Action/ActionForm所做的每件事情的方案(簡(jiǎn)單,命令,form,范例,多重action,或者定制一個(gè))重用業(yè)務(wù)邏輯代碼,而不是源于Action/ ActionForm一切。不需要復(fù)制:你可以用已經(jīng)有的業(yè)務(wù)邏輯對(duì)象作為命令或者form對(duì)象代替反射特定的actio nform 子類??梢远ㄖ频慕壎ê蛿?shù)據(jù)校驗(yàn):作為應(yīng)用級(jí)的輸入機(jī)制的錯(cuò)誤 校驗(yàn),固定日期和數(shù)字綁定,定制綁定和驗(yàn)證:類型不匹配,應(yīng)用程序級(jí)驗(yàn)證錯(cuò)誤, 使違規(guī)值,本地化的日期和號(hào)碼綁定等代替 Strin
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 武漢紡織大學(xué)《醫(yī)藥企業(yè)管理》2023-2024學(xué)年第一學(xué)期期末試卷
- 二零二五年教育輔助機(jī)構(gòu)勞動(dòng)合同及教學(xué)質(zhì)量協(xié)議3篇
- 二零二五年環(huán)保產(chǎn)品生產(chǎn)加工合作合同范本2篇
- 二零二五年度塑料加工工廠承包生產(chǎn)與環(huán)保責(zé)任合同3篇
- 濰坊護(hù)理職業(yè)學(xué)院《學(xué)習(xí)科學(xué)與技術(shù)》2023-2024學(xué)年第一學(xué)期期末試卷
- 天津藝術(shù)職業(yè)學(xué)院《燈光照明基礎(chǔ)》2023-2024學(xué)年第一學(xué)期期末試卷
- 二零二五年度高科技設(shè)備租賃擔(dān)保服務(wù)合同3篇
- 2024民間借貸合同(自動(dòng)放棄利息)
- 二零二五年影視制作項(xiàng)目投資合同正本3篇
- 二零二五版影視制作借款合同示范文本2篇
- 基因突變和基因重組(第1課時(shí))高一下學(xué)期生物人教版(2019)必修2
- 天津市八校2023-2024學(xué)年高三年級(jí)下冊(cè)聯(lián)合模擬考試數(shù)學(xué)試題(二)(含答案解析)
- 納米技術(shù)增強(qiáng)早期疾病生物標(biāo)志物的檢測(cè)
- 產(chǎn)品銷量分析表折線圖excel模板
- 辦公設(shè)備(電腦、一體機(jī)、投影機(jī)等)采購(gòu) 投標(biāo)方案(技術(shù)方案)
- 【真題】2023年南京市中考語文試卷(含答案解析)
- 功率模塊可靠性壽命評(píng)估與預(yù)測(cè)
- 案卷評(píng)查培訓(xùn)課件模板
- 湘教版七年級(jí)地理第一學(xué)期期末試卷分析
- 上海春季高考英語真題試題word精校版(含答案)
- “數(shù)”我精彩-“學(xué)”有特色-小學(xué)六年級(jí)數(shù)學(xué)寒假特色作業(yè)展示
評(píng)論
0/150
提交評(píng)論