999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Spring的Web開發(fā)

2011-12-29 00:00:00陸浩言
考試周刊 2011年22期


  摘 要: Spring是一個為了解決企業(yè)應(yīng)用程序開發(fā)復(fù)雜性而創(chuàng)建的開源框架,提供了一種有效的方式來建立和組織J2EE應(yīng)用程序。本文首先簡單介紹了Spring和Spring MVC框架,然后介紹了用Spring MVC開發(fā)應(yīng)用程序的過程。
  關(guān)鍵詞:Spring MVC 框架 Web開發(fā)
  
  一、引言
  在軟件開發(fā)中出現(xiàn)過各種各樣的框架,開源軟件的興起,使得各種各樣的框架紛紛出現(xiàn)。例如,Apache組織下就擁有諸多的框架類產(chǎn)品。框架就是一組協(xié)同工作的類,它們?yōu)樘囟愋偷能浖?gòu)筑了一個可重用的設(shè)計。然而,傳統(tǒng)的框架使得應(yīng)用程序組件過于依賴于框架中的類,這種耦合度的提高降低了組件的復(fù)用性。Spring框架的出現(xiàn),使得組件之間更松散的耦合成為了可能。
  二、Spring簡介
  Spring框架由一個容器,一個配置和組織組件的框架,和一組內(nèi)置的為事務(wù)、持久化和Web用戶接口提供的服務(wù)組成。作為一種輕量級的J2EE框架,Spring提供了一種有效的方式來建立和組織J2EE應(yīng)用程序。
  Spring IoC,借助于依賴注入設(shè)計模式,使得開發(fā)者不用理會對象自身的生命周期極其關(guān)系,而且能夠改善開發(fā)者對模式的使用。IoC(Inversion of Control;控制反轉(zhuǎn)),又稱DI(Dependency Injection;依賴注入),是面向?qū)ο箢I(lǐng)域新興的編程思想,也是Spring的精髓所在。簡單地說,IoC就是指程序之間的關(guān)系由容器來控制,而不是傳統(tǒng)實現(xiàn)中由程序代碼直接操控。這也就是所謂IoC的概念所在:控制權(quán)由應(yīng)用代碼轉(zhuǎn)到外部容器,控制權(quán)的轉(zhuǎn)移,也就是所謂的反轉(zhuǎn)。IoC將控制創(chuàng)建的職責(zé)搬進(jìn)了框架中,并把它從應(yīng)用代碼脫離開來。當(dāng)使用Spring的IoC容器時只需指出組件需要的對象,在運行時Spring的IoC容器會根據(jù)XML配置數(shù)據(jù)提供給它。
  Spring AOP,借助于Spring實現(xiàn)攔截器,開發(fā)者能夠?qū)崿F(xiàn)以聲名方式使用企業(yè)級服務(wù),比如安全性服務(wù)、事務(wù)服務(wù)。AOP合理地補(bǔ)充了OOP,借助于Spring AOP,開發(fā)者能夠高效地使用J2EE服務(wù)。
  Spring服務(wù)抽象,借助于各種J2EE API抽象,使得開發(fā)者能夠一致地使用J2EE技術(shù),而不管具體是使用什么J2EE API,借助于Spring服務(wù)抽象,使代碼大大減少,滿足“更少代碼,更少BUG”的軟件設(shè)計原則。
  Spring IoC+Spring AOP+Spring服務(wù)抽象,一起形成Spring,這樣一個有機(jī)體,使得構(gòu)建輕量級J2EE成為可能。
  三、Spring MVC簡介
  大部分Java應(yīng)用都是Web應(yīng)用,Spring框架提供了構(gòu)建Web的框架。和眾多其它Web框架一樣,它基于MVC設(shè)計理念。此外,由于它采用了松散耦合可插拔組件結(jié)構(gòu),因此具有比其它MVC框架更多的擴(kuò)展性和靈活性。
  Spring MVC框架圍繞DispatcherServlet這個核心展開,DispatcherServlet的作用是截獲請求并組織一系列組件共同完成請求的處理工作。
  Spring MVC是基于Model 2實現(xiàn)的技術(shù)框架,Model 2是經(jīng)典的MVC(Model View Control)模型的Web應(yīng)用變體,這個改變主要源于HTTP協(xié)議的無狀態(tài)性。Model 2的目的和MVC一樣,也是利用處理器分離模型、視圖和控制,達(dá)到不同技術(shù)層級間松散耦合的效果,提高系統(tǒng)靈活性、復(fù)用性和可維護(hù)性。在多數(shù)情況下,你可以將Model 2與MVC等同起來。
  四、用Spring MVC進(jìn)行開發(fā)的處理過程
 ?。?)整個過程開始于客戶端發(fā)送一個HTTP請求。
 ?。?)Dispatcher Servlet接收這個請求后,并將請求的處理工作委托給具體的處理器(Handler),后者負(fù)責(zé)處理請求執(zhí)行相應(yīng)的業(yè)務(wù)邏輯。在這之前,Dispatcher Servlet必須能夠憑借請求信息(URL或請求參數(shù)等)按照某種機(jī)制找到請求對應(yīng)的處理器,Dispatcher Servlet是通過垂詢Handler Mapping完成這一工作的。
 ?。?)當(dāng)Dispatcher Servlet從Handler Mapping中得到當(dāng)前請求對應(yīng)的處理器后,它就將請求分派給這個處理器。處理器根據(jù)請求的信息執(zhí)行相應(yīng)的業(yè)務(wù)邏輯,一個設(shè)計良好的處理器應(yīng)該通過調(diào)用Service層的業(yè)務(wù)對象完成業(yè)務(wù)處理。
  Spring提供了豐富的處理器類型,在真正處理業(yè)務(wù)邏輯前,有些處理器會事先執(zhí)行兩項預(yù)處理工作:
  第一項:將HttpServletRequest請求參數(shù)綁定到一個POJO對象中;
  第二項:對綁定了請求參數(shù)的POJO對象進(jìn)行數(shù)據(jù)合法性校驗;
 ?。?)處理器完成業(yè)務(wù)邏輯的處理后將返回一個Model And View給Dispatcher Servlet,Model And View包含了視圖邏輯名和渲染視圖時需要用到的模型數(shù)據(jù)對象。
 ?。?)由于Model and View中包含的是視圖邏輯名,DispatcherServlet必須知道這個邏輯名對應(yīng)的真實視圖對象,這項視圖解析的工作通過調(diào)用ViewResolver來完成。
  (6)當(dāng)?shù)玫秸鎸嵉囊晥D對象后,DispatcherServlet將請求分派給這個View對象,由其完成Model數(shù)據(jù)的渲染工作。
 ?。?)最終客戶端得到返回的響應(yīng),這可能是一個普通的HTML頁面,也可能是一個Excel電子表格,甚至是一個PDF文檔等不一而足的視圖形式,Spring的視圖類型異常豐富和靈活。
  
  參考文獻(xiàn):
 ?。?]王福強(qiáng).Spring揭秘.人民郵電出版社,2009.
 ?。?]羅時飛.精通Spirng.電子工業(yè)出版社,2007.

主站蜘蛛池模板: 国产一级毛片网站| 99这里只有精品免费视频| 精品国产99久久| 亚洲一区网站| 成人av专区精品无码国产| 爽爽影院十八禁在线观看| 国产在线啪| 精品91在线| 亚洲天堂视频在线免费观看| 国产精品无码久久久久AV| 色综合五月| 久久久久夜色精品波多野结衣| 日本道中文字幕久久一区| 综1合AV在线播放| 日韩经典精品无码一区二区| 免费无码一区二区| 国产日韩欧美在线播放| 99国产在线视频| 欧美 国产 人人视频| 午夜不卡福利| 久久亚洲国产最新网站| 亚洲综合天堂网| 毛片a级毛片免费观看免下载| 澳门av无码| 麻豆精选在线| 日本不卡在线视频| 日韩A∨精品日韩精品无码| 最新痴汉在线无码AV| 欧美三級片黃色三級片黃色1| 日韩国产黄色网站| 欧美在线中文字幕| 99手机在线视频| 在线欧美日韩国产| 人与鲁专区| 日日碰狠狠添天天爽| 中日无码在线观看| 少妇精品在线| 五月婷婷亚洲综合| 黄色片中文字幕| 最新加勒比隔壁人妻| 日本欧美午夜| 五月丁香在线视频| 青青操视频免费观看| 国内毛片视频| 中文纯内无码H| 性色一区| 蜜臀AVWWW国产天堂| 国产日产欧美精品| 免费在线看黄网址| jizz在线免费播放| 四虎精品国产AV二区| 国产呦视频免费视频在线观看| 亚洲午夜福利在线| 一级毛片免费观看不卡视频| 亚洲第一视频网| 尤物在线观看乱码| 黄色网址手机国内免费在线观看| 欧美视频在线播放观看免费福利资源| 99视频只有精品| 国产成人三级在线观看视频| 国产黄色爱视频| 国产一二视频| 夜夜操狠狠操| 免费在线a视频| 最新加勒比隔壁人妻| 精品国产自在在线在线观看| 久久精品丝袜高跟鞋| 又爽又大又光又色的午夜视频| 麻豆AV网站免费进入| 久久永久精品免费视频| 欧美成人A视频| 亚洲成人动漫在线观看| 国产精品自在拍首页视频8| 色偷偷av男人的天堂不卡| 午夜a级毛片| 亚洲Av激情网五月天| 亚洲欧美日韩视频一区| 亚洲无码视频一区二区三区| 亚洲永久色| 夜夜操国产| 久久精品亚洲热综合一区二区| 一区二区午夜|