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框架就完成。我们就要代码来一起实现它吧!