zoukankan      html  css  js  c++  java
  • Spring MVC 详解(一)

    springmvcspring的一个模块,提供web层解决方案(基于mvc设计架构),mvc是一个设计模式,在b/s系统的应用:

     

    spring 的架构

     

    mvc设计模式

    spring MVC的框架

    第一步:用户发起request请求,请求至DispatcherServlet前端控制器

    第二步:DispatcherServlet前端控制器请求HandlerMapping处理器映射器查找Handler

    DispatcherServlet:前端控制器,相当于中央调度器,各各组件都和前端控制器进行交互,降低了各各组 件之间耦合度。

    第三步:HandlerMapping处理器映射器,根据url及一些配置规则(xml配置、注解配置)查找Handler,将Handler返回给DispatcherServlet前端控制器

    第四步:DispatcherServlet前端控制器调用适配器执行Handler,有了适配器通过适配器去扩展对不同Handler执行方式(比如:原始servlet开发,注解开发)

    第五步:适配器执行Handler

    Handler是后端控制器,当成模型。

    第六步:Handler执行完成返回ModelAndView

    ModelAndViewspringmvc的一个对象,对Modelview进行封装。

    第七步:适配器将ModelAndView返回给DispatcherServlet

     

    第八步:DispatcherServlet调用视图解析器进行视图解析,解析后生成view

    视图解析器根据逻辑视图名解析出真正的视图。

    Viewspringmvc视图封装对象,提供了很多viewjspfreemarkerpdfexcel。。。

     

    第九步:ViewResolver视图解析器给前端控制器返回view

    第十步:DispatcherServlet调用view的渲染视图的方法,将模型数据填充到request域 。

    第十一步:DispatcherServlet向用户响应结果(jsp页面、json数据。。。。)

     

     

     

    DispatcherServlet:前端控制器,由springmvc提供

     

    HandlerMappting:处理器映射器,由springmvc提供

     

    HandlerAdapter:处理器适配器,由springmvc提供

     

    Handler:处理器,需要程序员开发

     

    ViewResolver:视图解析器,由springmvc提供

     

    View:真正视图页面需要由程序编写

  • 相关阅读:
    MySQL查询出错提示 --secure-file-priv解决方法
    导入csv文件到mysql
    Ubuntu16.04配置phpmyadmin
    TensorFlow安装(Ubuntu 16.04)
    github设置只识别指定类型的文件
    python file operations
    Ubuntu16.04 install flash plugin
    PRML读书笔记——3 Linear Models for Regression
    Ubuntu下查看机器信息
    PRML读书笔记——2 Probability Distributions
  • 原文地址:https://www.cnblogs.com/yuanfuqiang/p/5823729.html
Copyright © 2011-2022 走看看