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

基于Spring的Web開發

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


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

主站蜘蛛池模板: 激情综合图区| 久久99蜜桃精品久久久久小说| 婷婷六月综合网| 国产在线拍偷自揄拍精品| 亚洲日韩精品伊甸| 91久久偷偷做嫩草影院| av在线无码浏览| 国产在线欧美| 亚洲天堂免费观看| 91成人在线观看视频| 日韩福利在线观看| 伦伦影院精品一区| 国产成人一区在线播放| 亚洲精品视频免费看| 国产美女一级毛片| 不卡无码网| 色妞www精品视频一级下载| 美女高潮全身流白浆福利区| 欧美国产另类| 无码一区二区波多野结衣播放搜索| 国产一级一级毛片永久| 国产精品v欧美| 国产女人在线| 全午夜免费一级毛片| 国产一区二区三区日韩精品| 色婷婷亚洲综合五月| 午夜精品久久久久久久99热下载| 国产小视频在线高清播放| 无码福利视频| 亚洲无码精品在线播放| 看av免费毛片手机播放| 亚洲三级片在线看| 国产亚洲成AⅤ人片在线观看| 午夜国产精品视频黄| 日韩东京热无码人妻| 青青青国产精品国产精品美女| 天堂中文在线资源| 中文字幕亚洲另类天堂| 国产精品香蕉| 国产精品99一区不卡| 亚洲天堂伊人| 国产素人在线| 色135综合网| 国产乱人伦AV在线A| 久久国语对白| 日本黄网在线观看| 无码区日韩专区免费系列| 久久亚洲美女精品国产精品| 福利在线不卡| 国产产在线精品亚洲aavv| 97视频免费看| 日韩av无码精品专区| 精品一区二区三区中文字幕| 国产精品无码制服丝袜| 久久综合色88| 中文精品久久久久国产网址| 欧美色99| 99久久精品免费视频| 欧美色99| 日韩精品成人网页视频在线| 一级毛片在线播放| 波多野衣结在线精品二区| 亚洲国产一成久久精品国产成人综合| 亚洲欧美成人在线视频| 国产精品污视频| 91久久偷偷做嫩草影院电| 亚洲人精品亚洲人成在线| 九九九久久国产精品| 丁香婷婷综合激情| 91无码人妻精品一区| 国产在线观看91精品亚瑟| 日韩在线观看网站| 美女被躁出白浆视频播放| 久久综合国产乱子免费| 国产精品久久久久久久伊一| 免费国产在线精品一区| 国产91线观看| 亚洲精品福利视频| 丰满人妻被猛烈进入无码| 国产精品亚洲综合久久小说| 精品国产成人av免费| 青青草国产免费国产|