Spring3 MVC框架簡介:SpringMVC是Spring的框架的Web組件。它提供了豐富的功能,為建設強大的Web應用程序。SpringMVC框架的架構,并在這樣的高度可配置的方式,每一塊的邏輯和功能設計。此外Spring可以毫不費力地與其他流行的Web框架,如Struts,WebWork的,的JavaServerFaces和Tapestry集成。這意味著,你甚至可以告訴Spring使用Web框架中的任何一個。比Spring更不緊耦合的servlet或JSP向客戶端呈現視圖。喜歡速度與其他視圖技術集成,Freemarker的,Excel或PDF現在也有可能。
棄用了struts,用spring mvc框架做了幾個項目,感覺都不錯,而且使用了注解方式,可以省掉一大堆配置文件。本文主要介紹使用注解方式配置的spring mvc,之前寫的spring3.0 mvc和rest小例子沒有介紹到數據層的內容,現在這一篇補上。下面開始貼代碼。
棄用了struts,用spring mvc框架做了幾個項目,感覺都不錯,而且使用了注解方式,可以省掉一大堆配置文件。本文主要介紹使用注解方式配置的spring mvc,之前寫的spring3.0 mvc和rest小例子沒有介紹到數據層的內容,現在這一篇補上。下面開始貼代碼。
spring 3.0 mvc 簡單自學教程
Spring發行版本附帶了PetClinic 示例,它是一個在簡單的表單處理的上下文中, 利用了本節中說明的注解支持的Web應用程序。 可以在“samples/petclinic ”目錄中找到PetClinic 應用程序。
學習spring3.0.x(以下簡稱spring 3)已經一段日子了,新特性也接觸不少,比較感興趣還是spring mvc這一塊3.0的mvc變化太大了,跟2.5基本上是兩個樣子,至于詳細的區別可以參考以下文章 領略Spring 3.x 時代的Spring MVC spring3 mvc變化比較大,但是還是有些2.5的影子的,首先來個2.5也可以使用的注解版本的mvc 入門例子.例子采用maven2管理,所以必須要安裝m2eclipse插件或者使用maven2進行管理.
最近的項目在用Spring3,涉及到了基于注解的MVC,事務管理,與hibernate的整合開發等內容,我打算寫一個系列出來,記錄下這個痛苦但又充滿成就感的過程----網上實在太難找能讓新手快速理解掌握的文章了
只有對應的HandlerMapping (為了實現類型級別的注解)和/ 或HandlerAdapter (為了實現方法級別的注解)出現在 dispatcher中時, @RequestMapping 才會被處理。 這在DispatcherServlet 和DispatcherPortlet 中都是缺省的行為。
Spring MVC 3.0新特性:支持REST風格的URL ;添加更多注解,可完全注解驅動;引入HTTP輸入輸出轉換器(HttpMessageConverter);和數據轉換、格式化、驗證框架無縫集成; 對靜態資源處理提供特殊支持;更加靈活的控制器方法簽名,可完全獨立于Servlet API。
DispatcherServlet是SpringMVC的核心類,它就是一個Servlet.此類默認讀取WEB-INF/[servlet-name]-servlet.xml配置文件。 重要說明:DispatcherServlet可以多次配置到web.xml中,它們將會讀取自己的配置文件,但不會共享Bean.如果希望設置一些共享的Bean應該配置ContextLoaderListener來讀取Spring的配置文件。
Spring 3.0 MVC 簡單自學教程(英文)
Spring MVC經過三個版本,功能已經改進和完善了很多。尤其是2.5以來采用的Annotation的參數綁定,極大的方便了開發,3.0對其進行更進一步的完善。Spring MVC經過三個版本,功能已經改進和完善了很多。尤其是2.5以來采用的Annotation的參數綁定,極大的方便了開發,3.0對其進行更進一步的完善。對于一些特殊的前臺框架,傳到后臺的不是普通的request中的參數,而是request流中的xml格式,這時就不能采用SpringMVC自帶的參數綁定方法。這時候考慮是否能擴展一下。
Spring MVC架構:Spring MVC是結構最清晰的MVC Model 2實現。它的Action也不叫Action,而是稱做Controller;Controller接收request,response參數,然后返回ModelAndView(其中的Model不是Object類型,而是Map類型)。
在使用Spring提供的控制器時,AbstractController和SimpleFormController是應用得最多的。AbstractController是最基本的Controller,可以給予用戶最大的靈活性。SimpleFormController則用于典型的表單編輯和提交。在一個需要增,刪,改,查的需求中,增加和修改擴展SimpleFormController完成,刪除和查詢則擴展AbstractController完成。
在當今的MVC framework里,似乎Webwork2逐漸成為主流, Webwork2+SpringFramework的組合變得越來越流行。這似乎意味著Spring自帶的MVC framework遠比Webwork2差,所以大家紛紛用Webwork2來代替。確實,Spring的MVC framework不算是整個Spring的核心部件,但它的威力卻超過了很多人的想象。很多人包括xiecc認為Spring的MVC framework是非常優秀的,甚至比Webwork2更優秀。
MVC架構是"Model-View-Controller"的縮寫,中文翻譯為"模型-視圖-控制器"。MVC應用程序總是由這三個部分組成。Event(事件)導致Controller改變Model或View,或者同時改變兩者。只要Controller改變了Models的數據或者屬性,所有依賴的View都會自動更新。類似的,只要Controller改變了View,View會從潛在的Model中獲取數據來刷新自己。
Spring Framework可以被使用在很多場合之中,考慮到目前大多數Java EE的項目是B/S結構的,所以這里的快速上手教程會以Spring MVC為切入點,用最簡單的代碼一步一步來實現一個圖書列表的頁面。
你是否覺得當你的Web應用越來越復雜,理解和管理頁面流程—驅動你應用程序用例的樂譜—也越來越困難了呢?而被迫使用特定的方式做事情并且無法重用是不是讓你感覺很累?你是否覺得使用了太多時間開發你自己特定的方法去解決普遍問題就像會話狀態管理?<br><br> 進入Spring Web Flow。什么是Spring Web Flow?<br>Spring Web Flow(SWF)是Spring Framework的一個脫離模塊。這個模塊是Spring Web應用開發模塊棧的一部分,Spring Web包含SpringMVC。<br>Spring Web Flow的目標是成為管理Web應用頁面流程的最佳方案。當你的應用需要復雜的導航控制,例如向導,在一個比較大的事務過程中去指導用戶經過一連串的步驟的時候,SWF將會是一個功能強大的控制器。
大部分Java應用都是Web應用,展現層是Web應用不可忽略的重要環節。Spring為展現層提供了一個優秀的Web框架——SpringMVC。和眾多其它Web框架一樣,它基于MVC設計理念,此外,由于它采用了松散耦合可插拔組件結構,具有比其它MVC框架更多的擴展性和靈活性。SpringMVC框架圍繞DispatcherServlet這個核心展開,DispatcherServlet的作用是截獲請求并組織一系列組件共同完成請求的處理工作。
作為一個J2EE的開發者,我們基本上是開發基于WEB的應用系統。事實上,工作流,狀態管理以及驗證都是需要解決的重要功能。而HTTP協議的無狀態性決定了這些功能都不容易實現。Spring的WEB框架就是來幫助我們解決這些問題的。使用Spring,我們可以讓WEB框架自動將傳遞進來的請求參數填充到模型對象中,同時提供驗證和錯誤處理。還可以管理用戶在WEB表單中創建的對象的狀態。在了解SpringMVC之前,我們先來復習下MVC。