zoukankan      html  css  js  c++  java
  • SpringMVC原理

    SpringMVC简介

           Spring MVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面。


           spring 框架提供了构建 Web 应用程序的全功能 MVC 模块。使用 Spring 可插入的 MVC 架构,可以选择是使用内          置的 Spring Web 框架还是 Struts 这样的 Web 框架。通过策略接口,Spring 框架是高度可配置的,而且包含多种          视图技术,例如 JavaServer Pages(JSP)技术、Velocity、Tiles、iText 和 POI。Spring MVC 框架并不知道使用          的视图,所以不会强迫您只使用 JSP 技术。

            
           Spring的MVC框架主要由DispatcherServlet、HandlerMapping、HandlerAdapter、Handler/View Resolver、

           View组成。


    SpringMVC组件:

          1)前端控制器--DispatcherServlet

                 DispatcherServlet是Spring MVC的心脏和灵魂, DispatcherServlet是Spring MVC的灵魂和心脏,

                  它负责接收HTTP请求并协调Spring MVC的各个组件完成请求处理的工作。和任何Servlet一样,

                 用户必须在web.xml中配置好DispatcherServlet,并且让其接受一 切HTTP请求。

          2)处理器映射器--HandlerMapping

                根据请求的URL查找Handler

          3)处理器适配器--HandlerAdapter

                定义去执行Handler的规则

          4)处理器--Handler

                 也就是我们通常所说的Controller,这个需要按照HandlerAdapter的要求去做,

                 这样适配器才能正确执行Handler

          5)视图解析器--View Resolver

                 进行视图解析,根据逻辑视图名返回真正的视图View

          6)视图--View

                View是一个接口,实现类支持不同的View类型(jsp、freemarker、pdf...)




    SpringMVC原理图

           

             


    SprinvgMVC运行原理:

           1)发起请求到前端控制器(DispatcherServlet)
           2)前端控制器请求HandlerMapping查找 Handler
         可以根据xml配置、注解进行查找
           3)处理器映射器HandlerMapping向前端控制器返回Handler
           4)前端控制器调用处理器适配器去执行Handler
           5)处理器适配器去执行Handler
           6)Handler执行完成给适配器返回ModelAndView
           7)处理器适配器向前端控制器返回ModelAndView
        ModelAndView是springmvc框架的一个底层对象,包括 Model和view
           8)前端控制器请求视图解析器去进行视图解析
       根据逻辑视图名解析成真正的视图(jsp)
           9)视图解析器向前端控制器返回View
           10)前端控制器进行视图渲染
         视图渲染将模型数据(在ModelAndView对象中)填充到request域
           11)前端控制器向用户响应结果 




  • 相关阅读:
    HDU3910(数学期望题,题目难懂)
    HDU2389(二分图匹配Hopcroft-Carp算法)
    二分图详解
    巴什博弈、威佐夫博弈、尼姆博弈
    HDU2819(二分图匹配,记录过程)
    查找外键未创建索引
    acl使用示例
    oracle数据库备份任务
    集中备份相关
    集中备份项目实施方案
  • 原文地址:https://www.cnblogs.com/zsswpb/p/6329414.html
Copyright © 2011-2022 走看看