zoukankan      html  css  js  c++  java
  • (一)spring MVC基本概念和流程

    MVC的概念

    Model(模型):包含数据和行为。不过现在一般都分离开来:Value Object(数据) 和 服务层(行为)。

    View(视图):负责进行模型的展示,一般就是展示给用户的界面。

    Controller(控制器):接收用户请求,委托给模型进行处理,处理完毕后把返回的模型数据返回给视图,由视图负责展示,起了调度的作用。

    spring MVC

    Spring MVC围绕DispatcherServlet设计。

    处理流程:

    1.      客户端发出HTTP请求,服务器接收

    如果匹配DispatcherServlet的请求映射路径(在web.xml中指定),Web容器将该请求转交给DispatcherServlet处理。

    2.      DispacherServlet接收到此请求后,根据请求的信息(URL、HTTP方法、请求报头文、请求参数、Cookie等)及HandleMapping的配置匹配Handler

    匹配成功,则返回一个HandlerExecutionChain对象(包含一个Handler处理器对象、多个HandlerInterceptor拦截器)

    3.      DispacherServlet得到Handler后,把Handler封装为适配器

    以适配器接口真正调用了处理器的功能处理方法(先执行拦截器的preHandler方法)

    返回ModelAndView(如其名,包含了视图逻辑名和模型数据信息)

    4.      DispacherServlet借由ViewResolver完成逻辑视图名到真实对象的解析工作。

    5.      DispacherServlet得到视图对象View,使用它对ModelAndView中的模型数据进行渲染。

    6.      客户端得到响应(可能是HTML页面、XML、JSON串、PDF……)

     整理自《spring 3.x企业应用开发实战》以及 一些博客……

    P.S.我用的是4

    做了一个spring MVC 处理请求流程的视频,spring MVC流程

    有点丑不过很清楚呀 ~

  • 相关阅读:
    使用scp进行远程数据传输时避免输入密码(scp without password)
    scons用户指南翻译(附gcc/g++参数详解)
    StringIO 模块用于在内存缓冲区中读写数据
    注意变换的顺序
    为什么static成员必须在类外初始化
    Visual Studio中删除所有空行
    rendering order of skybox
    解决VS中注释乱码的问题
    一道数论题目
    First Chance Exception
  • 原文地址:https://www.cnblogs.com/imirror707/p/springMVC1.html
Copyright © 2011-2022 走看看