一塊兒寫框架-MVC框架的概述(一)

 BasicMVC子框架概述

 咱們暫且將該MVC框架稱爲BasicMVC框架。web

 因爲咱們正在BasicMVC框架,是基於咱們前面寫的BasicIoc內核實現的。因此必須依賴BasicIoc內核。所謂咱們稱BasicMVC框架是basicIoc框架的子框架。api

 

 在BasicMVC框架的實現以前,先咱們要先理解MVC的含義。框架

 MVC的定義

MVC全稱:model-view-cotroller.就是:模型-視圖-控制器。spa

從字面上能夠看到是一個Web請求到調用後臺邏輯代碼的過程。意思就是從頁面訪問後臺邏輯代碼時,遵照(模型-視圖-控制器-邏輯處理代碼)的流程。設計

 

說白了,就是建議,咱們不要在視圖中編寫後臺邏輯代碼,視圖只寫視圖的標籤,全部邏輯代碼交予後臺處理,視圖與後臺的代碼的跳轉以及數據的封裝(表單數據to實體類)都在控制器作完。xml

 

因此說:MVC是一個在Web程序設計中,實現視圖代碼和後臺邏輯代碼分離的設計思想。對象

 

MVC設計思路流程圖(通用)

 

那麼根據MVC的設計思想能夠得出,MVC框架的流程是:blog

1. 一個請求訪問JavaWeb的程序,必須進入到JavaWeb程序的入口web.xml字符串

2. 咱們在web.xml配置一個核心控制器攔截全部的請求io

3. 而後核心控制器根據請求和執行方法的配置(可使用註解也可使用XML),找到要執行的方法

4. 執行方法執行後返回一個視圖的映射(能夠經過一個字符串或者自定義類實現)

5. 根據視圖映射與視圖路徑的關係跳轉回到視圖。

 

 

以下圖所示:

 

 

 

 

經這麼一分析,發現任何MVC框架,實現的流程都是大同小異的。發現了沒,哈哈哈,哈哈哈!

1.3. 框架實現流程圖

根據以上流程,我根據本身的邏輯,對框架BasicMVC子框架,作出如下設計。

 

 

 

實現MVC請求跳轉的思路

定義一個核心控制器,名爲DispacherServlet,核心控制器首先實現:

(1)啓動JavaWeb項目時,將程序全部的對象使用Ioc內核的機制加載到容器池裏面。

咱們必須在Web啓動是建立一個ApplicationContext容器操做對象;

咱們必須須要一個配置類,來得到建立容器的信息

 

(2)在請求調用執行方法,那麼咱們須要指定請求路徑和方法的關係。

      我定義一個@RequestMaping註解來指定它們的關係

 

(3)方法執行後,返回視圖映射,我使用字符串對應視圖路徑的方式來實現。

 

實現以上三步。一個基礎的MVC框架就完成。咱們就要代碼來一塊兒實現它吧!

相關文章
相關標籤/搜索