spring-mvc-01.Spring MVC基本概念

1.1 Spring MVC基本概念
spring-mvc-01.Spring MVC基本概念_第1张图片spring-mvc-01.Spring MVC基本概念_第2张图片

  1. DispatcherServlet
    前端控制器,前端用户的request请求通过DispatcherServlet分发给各个控制器来生成业务数据Model,再通过DispatcherServlet传递给View完成最终的页面呈现。可以说Spring MVC将数据业务逻辑和页面呈现分离是通过DispatcherServlet完成的。
    spring-mvc-01.Spring MVC基本概念_第3张图片
  2. HandlerAdapter
    Handler是DispatvherServlet内部使用的一个类,是DispatcherServlet调用Controller的一个中间过渡对象,可以看做是controller的一种表现形式,在Spring MVC中,通过各种annotation来识别Controller,但是Spring MVC中没有类似于接口的controller或者interface来找到controller,最终controller以handler形式出现。
    HandlerAdapter是适配器模式,将各种不同类型的handler适配成DispatcherServlet
    可以使用的handler,DispatcherServlet就可以很轻松的调用controller。
  3. HandlerInterceptor
    拦截器,在被拦截对象的前后添加操作,这个接口有三种方法,preHandle,postHandle,afterCpmpletion。
  4. HandlerMapping
    Mapping就是DispatcherServlet和Controller之间映射关系的一种类,负责告诉DispatcherServlet在一个请求到来之后由哪一个Controller来响应本次请求。
    在HandlerMapping工作完毕之后,会给DispatcherServlet返回一个HandlerAdapter,其中包括的内容一方面是某一个Controller具体的实例,另一方面是Controller被包裹的HnadlerInterceptor,构成了一个执行的链条HandlerExecutionChain往下走。
    spring-mvc-01.Spring MVC基本概念_第4张图片
  5. HandlerExecutionChain
    image.png
  6. ModelAndView
    无论是Model还是Map,最终在DispatcherServlet中都会转换成ModelAndView,所以可以把ModelAndView看作Model的具体表现。

你可能感兴趣的:(spring-mvc)