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流程

    有点丑不过很清楚呀 ~

  • 相关阅读:
    反射 Reflection
    后台输出的数据进行字符判断,小数点后边是0不显示,不是0显示
    判断input内的字符是不是数字或字母
    手机端底部按钮隐藏与显示
    CSS改变checkbox样式
    js小数取整 小数保留两位
    如何判断打开页面时使用的设备?
    H5 拖放实例
    根据手机系统引入不同的css文件
    HTML 5 video 视频标签全属性详解(转)
  • 原文地址:https://www.cnblogs.com/imirror707/p/springMVC1.html
Copyright © 2011-2022 走看看