1. 程式人生 > >Spring MVC教程——檢視閱讀

Spring MVC教程——檢視閱讀

Spring MVC教程——檢視閱讀 參考 Spring MVC教程——一點——藍本 Spring MVC教程——c語言中午網——3.0版本太老了 Spring MVC教程——易百——4.0版本不是通過maven建立的 Spring MVC教程——javaschool純理論 Spring MVC應用——javaschool純理論 Spring MVC學習總結 Spring MVC 4.2.4.RELEASE 中文文件——基礎學習後看 SpringMVC面試題 目前大多數使用的是spring4.x. springboot基於 Spring Framework 5.0 on JDK 8 & 9 --- Spring 框架提供了構建 Web 應用程式的全功能 MVC 模組。 - 基於Spring MVC框架:spring-framework-5.0.2.RELEASE 什麼是MVC MVC是一個架構,或者說是一個設計模式,它就是強制性使應用程式的輸入,處理和輸出分開。將一個應用程式分為三個部分:Model,View,Controller。 原理圖 : Model模型:負責完成業務邏輯:由JavaBean構成,在MVC的三個部件中,模型擁有最多的處理任務。例如它可能用像EJB和javabean這樣的構件物件來處理資料庫。由於應用於模型的程式碼只需寫一次就可以被多個檢視重用,所以減少了程式碼的重複性。 View檢視:就是負責跟使用者互動的介面。一般就是由HTML,css元素組成的介面,當然現在還有一些像js,ajax,flex一些也都屬於檢視層。 在檢視層裡沒有真正的處理髮生,只負責資料輸出,並允許使用者操縱的方式。MVC能為應用程式處理很多不同的檢視。 Controller控制器:負責接收請求—>呼叫模型—>根據結果派發頁面並經過模型處理返回相應資料。 MVC的優點 1、分工明確:使用MVC可以把資料庫開發,程式業務邏輯開發,頁面開發分開,每一層都具有相同的特徵,方便以後的程式碼維護。它使程式設計師可以集中精力於各自的模型開發領域。 2、鬆耦合:檢視層和業務層分離,這樣就允許更改檢視層程式碼而不用重新編譯模型和控制器程式碼,同樣,一個應用的業務流程或者業務規則的改變只需要改動MVC的模型層即可。因為模型與控制器和檢視相分離,所以很容易改變應用程式的資料層和業務規則。 3、複用性高(利於各層邏輯的複用):像多個檢視能夠共享一個模型,不論你檢視層是用flash介面或是wap介面,用一個模型就能處理他們。將資料和業務規則從表示層分開,就可以最大化從用程式碼。 4、有利於標準化. MVC的缺點 1、有時會導致級聯的修改。這種修改尤其體現在自上而下的方向。如果在表示層中需要增加一個功能,為保證其設計符合分層式結構,可能需要在相應的業務邏輯層和資料訪問層中都增加相應的程式碼。 2、降低了系統的效能。這是不言而喻的。如果不採用分層式結構,很多業務可以直接造訪資料庫,以此獲取相應的資料,如今卻必須通過中間層來完成。 3、增加理解的複雜度。由於它沒有明確的定義,所以完全理解MVC並不是很容易。 常見的MVC框架 常見的伺服器端MVC框架有:Struts、Spring MVC、ASP.NET MVC、Zend Framework、JSF;常見前端MVC框架:vue、angularjs、react、backbone;由MVC演化出了另外一些模式如:MVP、MVVM。 什麼是Spring MVC Spring MVC概述 Spring MVC是Spring Framework的一部分,是基於Java實現MVC的輕量級Web框架。Spring MVC的特點: 1. 輕量 2. 高效 3. 與Spring相容性好 4. 功能強大。RESTful、資料驗證、格式化、繫結機制、本地化、主題等 5. 簡潔靈活 Spring MVC功能 Spring MVC圍繞DispatcherServlet設計。 DispatcherServlet的作用是將請求分發到不同的處理器。從Spring 2.5開始,使用Java 5或者以上版本的使用者可以採用基於註解的Controller宣告方式。官網上說Spring的Web模組提供了大量獨特的功能,包括: - 清晰的角色劃分:控制器(controller)、驗證器(validator)、 命令物件(command object)、表單物件(form object)、模型物件(model object)、 Servlet分發器(DispatcherServlet)、 處理器對映(handler mapping)、檢視解析器(view resolver)等等。 每一個角色都可以由一個專門的物件來實現。 - 強大而直接的配置方式:將框架類和應用程式類都能作為JavaBean配置,支援跨多個context的引用,例如,在web控制器中對業務物件和驗證器(validator)的引用。 - 可適配、非侵入:可以根據不同的應用場景,選擇合適的控制器子類 (simple型、command型、form型、wizard型、multi-action型或者自定義),而不是從單一控制器 (比如Action/ActionForm)繼承。 - 可重用的業務程式碼:可以使用現有的業務物件作為命令或表單物件,而不需要去擴充套件某個特定框架的基類。 - 可定製的繫結(binding) 和驗證(validation):比如將型別不匹配作為應用級的驗證錯誤, 這可以儲存錯誤的值。再比如本地化的日期和數字繫結等等。在其他某些框架中,你只能使用字串表單物件, 需要手動解析它並轉換到業務物件。 - 可定製的Handler Mapping和View Resolution:Spring提供從最簡單的URL對映, 到複雜的、專用的定製策略。與某些web MVC框架強制開發人員使用單一特定技術相比,Spring顯得更加靈活。 - 靈活的Model轉換:在Springweb框架中,使用基於Map的 鍵/值對來達到輕易地與各種檢視技術的整合。 - 可定製的本地化和主題(Theme)解析:支援在JSP中可選擇地使用Spring標籤庫、支援JSTL、支援Velocity(不需要額外的中間層)等等。 - 簡單而強大的JSP標籤庫(Spring Tag Library):支援包括諸如資料繫結和主題(Theme) 之類的許多功能。它提供在標記方面的最大靈活性。 - JSP表單標籤庫:在Spring2.0中引入的表單標籤庫,使得在JSP中編寫 表單更加容易。 Spring MVC 快速入門 示例: 1、可以通過module建立工程,再通過"JBLJavaToWeb"外掛把Java專案改為Web專案。 2、直接maven建立一個webapp工程,再新增對應的資料夾和包。 pom.xml web.xml 注意事項: - DispathcerServlet是Spring MVC提供的核心控制器,這是一個Servlet程式,該Servlet會接收所有請求。 - 核心控制器會讀取一個hellospringmvc-servlet.xml配置,載入Spring MVC的核心