JAVA开发

Spring MVC

事实上就是一种java实现的web mvc设计模式的请求驱动类型的轻量级Web框架,就是用了MVC的架构模式思想。把Web层解耦,这样基于请求驱动指的就是请求-响应模型。

前端控制器是DispatcherServlet, 应用控制事实上是两部分:处理器映射器(Handler Mapping)进行处理器管理和视图解析器(View Resolver)进行视图管理。页面控制器就是Controller接口。包括一些ModelAndView handleRequest (request, response)的实现,就是POJO类。提供了灵活的数据燕珍。格式化和数据绑定。

Spring MVC用途

简单的Web层单元測试。灵活的URL到页面控制器映射,灵活数据验证格式化和数据绑定。

Spring MVC架构

MVC的这个框架是基于请求驱动的框架,也是用前端控制器模式,依据请求映射规则分发给响应的控制器来处理。

Spring MVC处理请求流程

  1. 首先用户发送请求-》前端控制器,依据请求信息(如URL)决定页面控制器。
  2. 页面控制器收到了请求之后,进行功能处理。然后返回一个ModelAndView.
  3. 前端控制器收回控制权。依据返回的逻辑视图进行渲染。
  4. 前端控制器将响应返回给用户。

Spring MVC核心流程

  1. 首先用户发送请求——>DispatcherServlet,前端控制器收到请求后自己不进行处理。而是托付给其它的解析器进行处理,作为统一訪问点,进行全局的流程控制;

  2. DispatcherServlet——>HandlerMapping, HandlerMapping将会把请求映射为HandlerExecutionChain对象(包括多个HandlerInterceptor拦截器)对象,通过这样的策略模式。非常easy加入新的映射策略。

  3. DispatcherServlet——>HandlerAdapter,HandlerAdapter将会把处理器包装为适配器,从而支持多种类型的处理器,即适配器设计模式的应用,从而非常easy支持非常多类型的处理器;

  4. HandlerAdapter——>处理器功能处理方法的调用,HandlerAdapter将会依据适配的结果调用真正的处理器的功能处理方法,完毕功能处理;并返回一个ModelAndView对象(包括模型数据、逻辑视图名);

  5. ModelAndView的逻辑视图名——> ViewResolver, ViewResolver将把逻辑视图名解析为详细的View,通过这样的策略模式,非常easy更换其它视图技术;

  6. View——>渲染,View会依据传进来的Model模型数据进行渲染,此处的Model实际是一个Map数据结构,因此非常easy支持其它视图技术;

  7. 返回控制权给DispatcherServlet,由DispatcherServlet返回响应给用户。到此一个流程结束。
    这部分内容来自:开涛博客

主要是近期在做,所以一边參考一边实践来尝试写一下。后面写一些比較实践性的内容。

原文地址:https://www.cnblogs.com/wgwyanfs/p/7346569.html