天天看點

Spring MVC 入門基礎(一)

一、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 &gt; struts == SpringMVC &gt; struts2(但是struts2出現了一個不可修複的bug)

3、靈活,易于擴充

4、更易于和Spring容器整合內建。

三、Spring Web MVC處理請求的流程?

  如圖:

Spring MVC 入門基礎(一)
Spring MVC 入門基礎(一)

解析步驟: 

1、  首先使用者發送請求————&gt;前端控制器,前端控制器根據請求資訊(如URL)來決定選擇哪一個頁面控制器進行處理并把請求委托給它,即以前的控制器的控制邏輯部分;圖中的1、2步驟;

2、  頁面控制器接收到請求後,進行功能處理,首先需要收集和綁定請求參數到一個對象,這個對象在Spring Web MVC中叫指令對象,并進行驗證,然後将指令對象委托給業務對象進行處理;處理完畢後傳回一個ModelAndView(模型資料和邏輯視圖名);圖中3、4、5步驟;

3、  前端控制器收回控制權,然後根據傳回的邏輯視圖名,選擇相應的視圖進行渲染,并把模型資料傳入以便視圖渲染;圖2中的步驟6、7;

4、  前端控制器再次收回控制權,将響應傳回給使用者,圖中的步驟8;至此整個結束。

四:建立一個簡單的project。

先看看我自己建立的工程整體。

Spring MVC 入門基礎(一)

 1 建立Web工程。導入spring mvc所需的jar包。

Spring MVC 入門基礎(一)

log4j-1.2.15jar

因為我之前建立過spring的工程,我就直接把spring的jar包都拷貝過來了!

2 在web.xml下配置

3 在spring-servlet.xml裡的配置。

 login.jsp頁面》

 index.jsp

運作結果:

Spring MVC 入門基礎(一)
Spring MVC 入門基礎(一)

結果2

Spring MVC 入門基礎(一)
Spring MVC 入門基礎(一)

在web.xml裡配置。