一起写框架-MVC框架的概述(一)

 BasicMVC子框架概述

 我们暂且将该MVC框架称为BasicMVC框架。

 由于我们正在BasicMVC框架,是基于我们前面写的BasicIoc内核实现的。所以必须依赖BasicIoc内核。所谓我们称BasicMVC框架是basicIoc框架的子框架。

 

 在BasicMVC框架的实现之前,先我们要先理解MVC的含义。

 MVC的定义

MVC全称:model-view-cotroller.就是:模型-视图-控制器。

从字面上可以看到是一个Web请求到调用后台逻辑代码的过程。意思就是从页面访问后台逻辑代码时,遵守(模型-视图-控制器-逻辑处理代码)的流程。

 

说白了,就是建议,我们不要在视图中编写后台逻辑代码,视图只写视图的标签,所有逻辑代码交予后台处理,视图与后台的代码的跳转以及数据的封装(表单数据to实体类)都在控制器做完。

 

所以说:MVC是一个在Web程序设计中,实现视图代码和后台逻辑代码分离的设计思想。

 

MVC设计思路流程图(通用)

 

那么根据MVC的设计思想可以得出,MVC框架的流程是:

1. 一个请求访问JavaWeb的程序,必须进入到JavaWeb程序的入口web.xml

2. 我们在web.xml配置一个核心控制器拦截所有的请求

3. 然后核心控制器根据请求和执行方法的配置(可以使用注解也可以使用XML),找到要执行的方法

4. 执行方法执行后返回一个视图的映射(可以通过一个字符串或者自定义类实现)

5. 根据视图映射与视图路径的关系跳转回到视图。

 

 

如下图所示:

 

 

 

 

经这么一分析,发现任何MVC框架,实现的流程都是大同小异的。发现了没,哈哈哈,哈哈哈!

1.3. 框架实现流程图

根据以上流程,我根据自己的逻辑,对框架BasicMVC子框架,做出以下设计。

 

 

 

实现MVC请求跳转的思路

定义一个核心控制器,名为DispacherServlet,核心控制器首先实现:

(1)启动JavaWeb项目时,将程序所有的对象使用Ioc内核的机制加载到容器池里面。

我们必须在Web启动是创建一个ApplicationContext容器操作对象;

我们必须需要一个配置类,来获得创建容器的信息

 

(2)在请求调用执行方法,那么我们需要指定请求路径和方法的关系。

      我定义一个@RequestMaping注解来指定它们的关系

 

(3)方法执行后,返回视图映射,我使用字符串对应视图路径的方式来实现。

 

实现以上三步。一个基础的MVC框架就完成。我们就要代码来一起实现它吧!

 

posted @ 2017-11-11 21:23  继续前向  阅读(351)  评论(0编辑  收藏  举报