MVC模式设计的初衷是,一旦一个项目的代码量变大的时候,src文件夹中可以写java代码,web文件夹中也可以写jsp代码。除此之外src中还可以写好多包,web文件夹中还可以写好多文件夹,现在假如新需要加入有一个类,那么这个类到底该往哪里写呢?所以需要一个模式来套,这个模式就可以选择MVC模式。简单来说,MVC模式就是将代码的位置具体化。
MVC模式有三个部分,分别是model,view和controller。翻译过来就称之为模型视图和控制器。三者之间有一定的关系。
视图部分比较好理解,就是给用户看的部分,负责页面的展示,比如表单,表格。这个部分可以用前端技术实现,比如HTML,css,jsp或者jquery。本篇文章中将主要使用的是jsp的内容。除此之外视图还负责和用户的交互功能。控制器可以理解为分发器,用于分发模型。分发的意思是接受一个请求并且进行跳转。模型指的就是完成业务的各种功能,比如登录功能,增加功能和删除功能等等。控制器负责接收视图的请求,然后将这个请求转发到相应的功能模型里面。说白了就是将视图和模型一一对应起来。在有好多视图和模型的情况下,可以通过控制器将其对应起来。控制器可以用JSP来实现,但是一般使用servlet来实现。
模型负责的板块就是各个功能的实现。模型处理完数据后返回到控制器,然后控制器再返回给前台请求的表单,也就是视图。模型可以用JavaBean等来模型。从请求流程来理解MVC模式的话,视图用于页面展示以及人机交互。控制器负责流程分发,模型的选择,或者选择视图。模型处理业务逻辑,处理数据,都是封装数据的JavaBean。
视图先给控制器发送一个请求,首先通过控制器选择一个模型,处理完后有个返回值返回到分发器,分发器再选择一个界面展示给用户。