SpringMVC框架深刻(八)--SpringMVC原理

前言

  SpringMVC Spring 的一个模块,与 Spring 是直接整合在一块儿
  SpringMVC 是基于 MVC web 框架
  MVC:模型-视图-控制器
前端

1、MVC模式的演进

  一、标准MVCjava

   (1)、是架构型的模型;web

   (2)、Model:模型,包含数据和行为,提供模型数据查询和模型数据更新等功能,包含数据和业务;架构

   (3)、View:视图,负责模型的展现;app

   (4)、Controller:控制器,让模型进行数据处理,让视图进行数据返回和展现;框架

   (5)、推模型spa

  

  

  二、web MVC对象

   web是一个请求响应的模型,没法作到模型推送数据blog

  

 

  三、model1
   JSP 负责表现逻辑、业务对象调用、控制逻辑,调用 javaBean 业务对象;
接口

  

 

 

  四、model2

   (1)、在JavaEE里,web MVC就是指model2的模型;

   (2)、servlet做为控制器,JSP做为视图,JavaBean做为模型;

   (3)、控制器的问题

    a、请求参数封装麻烦;

    b、给视图传输共享数据,视图和视图数据严重依赖控制器;

    c、控制器逻辑麻烦(增删改查)

   (4)、模型:业务和数据,service/dao;

   (5)、视图:被绑定为JSP,更换很难;

  

 

2、web MVC改进

  一、前端控制器:全部的请求都会到达前端控制器;

  二、应用控制器:真正的处理请求,视图管理,业务逻辑管理,策略模式;

  三、页面控制器(动做):功能处理代码(controller);

  四、上下文:全部请求的一些公用的逻辑,数据传递和共享;

  

  生命周期线性图:

  

  总结:

  

 

3、SpringMVC框架图

  

  

  一、DispatcherServlet

   (1)、前端控制器,会接收全部请求的servlet;

   (2)、全部的交互都是来自于前端处理器,能够减小耦合;

  二、HandlerMapping

   (1)、处理器映射器;

   (2)、将URL映射到Handler,找到的是通过封装的Handler的类型;

  三、HandlerExecutionChain

   (1)、Handler+interceptor拦截器;

   (2)、方法执行前,视图返回前,方法执行完成后,对其附加上通用功能;

  四、Handler

   (1)、controller

  五、HandlerAdapter

   (1)、接口,找到适配的类来实现Handler的执行,是真正执行Handler的地方;

  六、ViewResolver

   (1)、视图解析,将ModelAndView对应的逻辑视图转换为物理视图;

  七、View

   (1)、接口,不一样的视图实现(JSP,freemarker等);

  

  八、SpringMVC灵活的体现

   (1)、拦截器,可自定义拦截器进入执行链;

   (2)、HandlerAdapter:执行controller,可自定义adapter执行各类Handler;

   (3)、ViewResolver:能够解析不一样的视图;

 

PS:因做者能力有限,若有误还请谅解;

相关文章
相关标签/搜索