Spring MVC面试资料

      • MVC三层架构
      • SpringMVC主要组件
      • Spring MVC框架的控制器
      • springmvc执行流程
      • 三层架构和MVC的区别
      • springmvc的优点
      • 什么是DispatcherServlet
      • Spring MVC的异常处理?

MVC三层架构

全称Model(模型)-View(视图)-Controller(控制器),
这是一种开发模式,他的好处是可以将界面和业务逻辑分离

SpringMVC主要组件

1、前端控制器 DispatcherServlet(不需要开发,由框架提供【核心】)
2、处理器映射器 HandlerMapping (不需要开发,由框架提供)
3、处理器适配器 HandlerAdapter (不需要开发,由框架提供)
4、处理器 Handler (需要工程师开发)
5、视图解析器 View Resolver (不需要开发,由框架提供)
6、视图 View (需要工程师开发)

处理器Handler(也就是Controller控制器)以及视图层View是我们自己开发
前端控制器DispatcherServlet
处理器映射器HandlerMapping 
处理适配器HandlerAdapter 
都是由框架提供

Spring MVC框架的控制器

控制器的主要作用就是处理特定URL发过来的HTTP请求,然后进行业务逻辑处理,将结果返回给某个特定的视图。

springmvc执行流程

1:客户端请求提交到DispatcherServlet 2:DispatcherServlet
接收到请求后、将提交的信息交给处理器映射器(HandlerMapping)
3:HandlerMapping根据用户的url请求、匹配该url的Handler(Controller),并返回一个执行链
4:DispatcherServlet调用HandlerAdapter(处理器适配器)
5:HandlerAdapter经过适配调用具体的处理器(Controller)扫描
6:Controller扫描完成后返回一个ModelAndView
7:HandlerAdapter将Controller扫描结果(ModelAndView)返回给DispatcherServlet
8:DispatcherServlet将ModelAndView请求试图解析器(ViewReslover)进行解析
9:ViewReslover解析后返回具体的View
10:DispatcherServlet将view进行渲染试图(即将模型数据填充到视图中)
11:DispatcherServlet将页面响应给个用户

三层架构和MVC的区别


MVC(模型Model-视图View-控制器Controller)是一种架构模式
三层架构是(界面层UI-业务逻辑层BLL-数据访问层DAL)
三层架构是基于业务逻辑来分的,而mvc是基于页面来分担    

springmvc的优点

1、可以支持各种视图技术,而不仅仅局限于JSP
2、与Spring框架无缝集结合
3、可适配、非入侵
4、分工明细

什么是DispatcherServlet

Spring的MVC框架是围绕DispatcherServlet来设计的,它用来处理所有的HTTP请求和响应。

Spring MVC的异常处理?

可以将异常抛给Spring框架,由Spring框架来处理;我们只需要配置简单的异常处理器,在异常处理器中添视图页面即可

更多推荐

springmvc面试题2021