一、MVC设计模式

MVC是Model、View、Control的简称。分别代表M-数据模型、V-用户界面、C-控制器。
1.Model-数据模型
数据模型是指抽象的业务规则以及系统数据。一般在系统中主要用来对应数据库以及数据在视图层的展示,也就是平常我们代码中所说的Entity。
2.View-用户界面
用户界面通俗点讲就是用户操作数据的浏览器展示页面,用户可以通过页面来对具体的数据操作。
3.Control-控制器
控制器存在的主要作用就是保证V与M的数据同步,页面用户操作了,需要将信息传给M从而进一步操作数据库,相反M的数据发生变化,视图也要随之更新

4.MVC模式优点
1.松耦合
MVC位于不同的层次,对于后期维护可以动态变化,引起的总体变更较小,如想要更换前端展示框架只需要修改V层框架即可,如果要数据库切换,修改M层即可。
2.开发时效率高
MVC开发时可以同步进行,互相定好需要的参数及返回值即可,提高开发效率

目前的java项目基本都是mvc结构的,所以面试提问的概率很低,适当连接即可。

二、Spring MVC是什么

Spring MVC 是一种基于java实现了web MVC设计模式的请求驱动类型的轻量级web框架,即使用了MVC架构的思想,将web进行职责解耦,基于请求驱动指的就是使用请求-响应模式。现在比较主流的应该就Spring mvc 跟struts2了,由于spring mvc与spring结合更好,所以目前使用最广泛的是spring mvc。

三、Spring MVC常见面试题

1.描述spring mvc请求流程

1.请求到达DispatcherServlet
DispatcherServlet需要确认请求是要请求哪个控制器(Controller),DispatcherServlet会查询一个或多个处理器映射(handlerMappings),处理映射器会根据请求所携带的url信息来进行决策
2.请求到达控制器(Controller)
找到url对应的控制器,DispatcherServlet会将请求发送给对应的控制器,到了控制器,请求就会卸下其负载(用户提交的信息)并耐心等待控制器处(Controller)理这些信息。
3.控制器(Controller)处理完毕后返回信息
在完成逻辑处理后,通常会产生一些信息即处理结果,这些信息需要返回给用户,并在浏览器上显示。
4.控制器将模型数据打包,并标出用于渲染的视图名(Controller返回的地址)
控制器将请求连同模型和视图名发回给DispatcherServlet
5.DispatcherServlet解析返回视图名
DispatcherServlet将会拿着返回的视图名去视图解析器中匹配一个特定是视图实现,他可能是也可能不是jsp
6.DispatcherServlet渲染视图
那请求的任务基本也就完成了,最后一站就是视图实现,需要使用的数据在DispatcherServlet中。渲染结束,视图将通过响应返回给用户。

2.spring mvc统一异常处理
3.spring mvc拦截器使用
4.spring mvc乱码处理

更多推荐

Spring MVC 学习起步--Spring MVC简介及请求处理流程