一、Spring Web MVC是什麼?
Spring Web MVC是一種基于Java的實作了Web MVC設計模式的請求驅動類型的輕量級Web架構,使用了MVC架構模式的思想,将web層進行職責解耦,基于請求驅動指的就是使用請求-響應模型,架構的目的就是幫助我們簡化開發,Spring Web MVC也是要簡化我們日常Web開發的。
Spring Web MVC也是服務到工作者模式的實作,但進行可優化。[前端控制器是<code>DispatcherServlet</code><code>;</code>應用控制器其實拆為處理映射器(Handler Mapping)進行處理器管理和視圖解析器(View Resolver)進行視圖管理;頁面控制器/動作/處理器為Controller接口(僅包含<code>ModelAndView handleRequest(request, response)</code> 方法)的實作(也可以是任何的POJO類);支援本地化(Locale)解析、主題(Theme)解析及檔案上傳等;提供了非常靈活的資料驗證、格式化和資料綁定機制;提供了強大的約定大于配置(慣例優先原則)的契約式程式設計支援。]這些在接下來的學習中将會講解到。
二、Spring MVC的優勢(簡單說兩個)?
1、簡單、容易上手;
2、性能優異:jsp+sevlet > struts == SpringMVC > struts2(但是struts2出現了一個不可修複的bug)
3、靈活,易于擴充
4、更易于和Spring容器整合內建。
三、Spring Web MVC處理請求的流程?
如圖:

解析步驟:
1、 首先使用者發送請求————>前端控制器,前端控制器根據請求資訊(如URL)來決定選擇哪一個頁面控制器進行處理并把請求委托給它,即以前的控制器的控制邏輯部分;圖中的1、2步驟;
2、 頁面控制器接收到請求後,進行功能處理,首先需要收集和綁定請求參數到一個對象,這個對象在Spring Web MVC中叫指令對象,并進行驗證,然後将指令對象委托給業務對象進行處理;處理完畢後傳回一個ModelAndView(模型資料和邏輯視圖名);圖中3、4、5步驟;
3、 前端控制器收回控制權,然後根據傳回的邏輯視圖名,選擇相應的視圖進行渲染,并把模型資料傳入以便視圖渲染;圖2中的步驟6、7;
4、 前端控制器再次收回控制權,将響應傳回給使用者,圖中的步驟8;至此整個結束。
四:建立一個簡單的project。
先看看我自己建立的工程整體。
1 建立Web工程。導入spring mvc所需的jar包。
log4j-1.2.15jar
因為我之前建立過spring的工程,我就直接把spring的jar包都拷貝過來了!
2 在web.xml下配置
3 在spring-servlet.xml裡的配置。
login.jsp頁面》
index.jsp
運作結果:
結果2
在web.xml裡配置。