SpringMVC
初始SpringMVC
在 Spring 的基本架構中,紅色圈起來的 Spring Web MVC ,也就是本系列的主角 SpringMVC,它是屬于Spring基本架構里面的一個組成部分,屬于SpringFrameWork的后續產品,已經融合在Spring Web Flow里面,所以我們在后期和 Spring 進行整合的時候,幾乎不需要別的什么配置,
Spring+MVC=SpringMVC : 在spring的基礎上,對MVC思想的一個實作,是一個MVC框架
SpringMVC: 對servlet做的一個封裝,換成controller層
相對于struts2,SpringMVC和Spring結合的更加完美
SpringMVC初配置
1. 復制專案到Test_Shop_SSM,添加一個jar包
spring-webmvc-4.1.0.RELEASE.jar
2. 配置web.xml


只有在滿足地址后綴 .do,才會進入SpringMVC框架
3. 添加,配置SpringMVC的主組態檔 springmvc-servlet.xml

4. 創建controller包,創建一個普通的類ClientController,添加對應注解

與視圖決議器,拼接前置和后置地址為/success.jsp
5. 修改login.jsp 的登錄跳轉地址

地址后加上匹配規則 .do,進入SpringMVC框架

作業流程:
1. 加載web.xml,讀取配置,啟動SpringMVC
2. 發送URL請求,匹配規則*.do,實體化SpringMVC的Servlet物件
3. 掃描注解路徑,尋找標記注解@Controller層
4. 根據URI請求的地址,匹配方法上的注解@RequestMapping的值
5. 執行方法
6. 決議回傳值,匹配默認的視圖決議器,拼接成一個跳轉的URI(默認轉發)
引數收集
1. 內置物件 HttpServletRequest (了解)

2. 方法引數收集(常用)

前臺的key值對應到引數值,就可以獲取到value
3. 方法物件收集 (常用)

3.1 后臺執行無參構造方法,創建物件
3.2 根據前臺的key,呼叫對應的set/get方法完成賦值
SpringMVC亂碼處理
在web.xml添加Spring過濾,處理所有請求地址,轉譯字符編碼UTF-8

模擬完成SSM框架下登錄功能

|
1.Spring家族體系 Spring AOP:為Spring容器管理的物件提供了對面向切面編程的支持; Spring DAO:該層封裝了對資料庫的訪問,并且處理了其拋出的錯誤訊息,同時還基于AOP模塊提供了事務管理; Spring ORM:Spring支持多種ORM框架,簡化了資料庫操作, Spring Web :Web 背景關系模塊建立在應用程式背景關系模塊之上,為基于 Web 的應用程式提供了背景關系, Spring MVC :MVC 框架是一個全功能的構建 Web 應用程式的 MVC 實作,通過策略介面,MVC 框架變成為高度可配置的,MVC 容納了大量視圖技術,其中包括 JSP、Velocity、Tiles、iText 和 POI,
2.SpringMVC框架定義 Spring 框架提供了構建 Web 應用程式的全功能 MVC 模塊,使用 Spring 可插入的 MVC 架構,可以選擇是使用內置的 Spring Web 框架還是 Struts 這樣的 Web 框架,通過策略介面,Spring 框架是高度可配置的,而且包含多種視圖技術,例如 JavaServer Pages(JSP)技術、Velocity、Tiles、iText 和 POI,Spring MVC 框架并不知道使用的視圖,所以不會強迫您只使用 JSP 技術, Spring MVC 分離了控制器、模型物件、分派器以及處理程式物件的角色,這種分離讓它們更容易進行定制, Spring的MVC框架主要由DispatcherServlet、處理器映射、處理器(控制器)、視圖決議器、視圖組成,
3.SpringMVC執行流程 首先用戶發送請求到前端控制器,前端控制器根據請求資訊(如 URL)來決定選擇哪一個頁面控制器進行處理并把請求委托給它,即以前的控制器的控制邏輯部分; 頁面控制器接收到請求后,進行功能處理,首先需要收集和系結請求引數到一個物件,這個物件在 Spring Web MVC 中叫命令物件,并進行驗證,然后將命令物件委托給業務物件進行處理;處理完畢后回傳一個 ModelAndView(模型資料和邏輯視圖名); 前端控制器識訓控制權,然后根據回傳的邏輯視圖名,選擇相應的視圖進行渲染,并把模型資料傳入以便視圖渲染; 前端控制器再次識訓控制權,將回應回傳給用戶
4.視圖決議器 在開發中,視圖通常就是JSP、Velocity 等,Spring 默認提供了多種視圖決議 器,比如,我們可以使用最常用決議器InternalResourceViewResolver 來查找 JSP視圖(與之相對應的視圖類為InternalResourceView), 通常,一- 個視圖解 析器只能查找- - -個或多個特定型別的視圖,在遇到Spring 不支持的視圖或者我 們要自定義視圖查找規則的情況下,我們就可以通過擴展Spring 來自定義自己 所需的視圖決議器,目前,視圖決議器都需要實作介面 org. springframework.web.servlet.ViewResolver,它包含方法 resolveViewName,該方法會通過視圖名查找并回傳Spring 視圖物件, |
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/2480.html
標籤:Oracle
上一篇:了解Spring

