當前位置:
首頁 >
前端技术
> javascript
>内容正文
javascript
(一)Spring MVC简介
生活随笔
收集整理的這篇文章主要介紹了
(一)Spring MVC简介
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一、概述
Spring web mvc和Struts2都屬于表現層的框架,它是Spring框架的一部分。Spring Web MVC是一種基于Java的實現了Web MVC設計模式的請求驅動類型的輕量級Web框架,
即使用了MVC架構模式的思想,將web層進行職責解耦,基于請求驅動指的就是使用請求-響應模型,框架的目的就是幫助我們簡化開發,Spring MVC大大簡化了我們日常Web開發。
?
二、Struts2和SpringMVC對比
1、springmvc的入口是一個servlet即前端控制器,而struts2入口是一個filter過濾器。 2、springmvc是基于方法開發(一個url對應一個方法),請求參數傳遞到方法的形參,可以設計為單例或多例(建議單例),struts2是基于類開發,傳遞參數是通過類的屬性,只能設計為多例。 3、Struts采用值棧存儲請求和響應的數據,通過OGNL存取數據, springmvc通過參數解析器是將request請求內容解析,并給方法形參賦值,將數據和視圖封裝成ModelAndView對象,最后又將ModelAndView中的模型數據通過request域傳輸到頁面。Jsp視圖解析器默認使用jstl。?
三、優點
√讓我們能非常簡單的設計出干凈的Web層和薄薄的Web層; √進行更簡潔的Web層的開發; √天生與Spring框架集成(如IoC容器、AOP等); √提供強大的約定大于配置的契約式編程支持; √能簡單的進行Web層的單元測試; √支持靈活的URL到頁面控制器的映射; √非常容易與其他視圖技術集成,如Velocity、FreeMarker等等,因為模型數據不放在特定的API里,而是放在一個Model里(Map數據結構實現,因此很容易被其他框架使用); √非常靈活的數據驗證、格式化和數據綁定機制,能使用任何對象進行數據綁定,不必實現特定框架的API; √提供一套強大的JSP標簽庫,簡化JSP開發; √支持靈活的本地化、主題等解析; √更加簡單的異常處理; √對靜態資源的支持; √支持Restful風格。四、Spring MVC架構
?
?
1、 用戶發送請求至前端控制器DispatcherServlet,前端控制器收到請求后自己不進行處理,而是調用處理器映射器。2、 DispatcherServlet收到請求后調用HandlerMapping處理器映射器。HandlerMapping將會把請求映射為HandlerExecutionChain對象(包含一個Handler處理器(頁面控制器)對象、多個HandlerInterceptor攔截器)對象。 3、 處理器映射器根據請求url找到具體的處理器,生成處理器對象及處理器攔截器(如果有則生成)一并返回給DispatcherServlet。 4、 DispatcherServlet通過HandlerAdapter處理器適配器調用處理器 5、 執行處理器(Controller,也叫后端控制器)。返回執行結果,封裝在ModelAndView中 6、 DispatcherServlet將ModelAndView傳給ViewReslover視圖解析器, ViewResolver將把邏輯視圖名解析為具體的View,通過這種策略模式,很容易更換其他視圖技術; 7、 ViewReslover解析后返回具體View 8、 DispatcherServlet對View進行渲染視圖(即將對象模型的數據填充至視圖中)。此處的Model實際是一個Map數據結構,因此很容易支持其他視圖技術; 9、 DispatcherServlet將結果響應給用戶
轉載于:https://www.cnblogs.com/yuexiaoyun/p/9460600.html
總結
以上是生活随笔為你收集整理的(一)Spring MVC简介的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ob系列函数归纳
- 下一篇: 自动化运维之部署Puppet