`

Spring MVC 工作流程描述

阅读更多
Spring MVC工作流程图

图一
spring MVC原理
 
图二 
spring MVC原理
 
Spring工作流程描述
      1. 用户向服务器发送请求,请求被Spring 前端控制Servelt DispatcherServlet捕获;
      2.  DispatcherServlet 对请求URL进行解析,得到请求资源标识符(URI)。然后根据该URI,调用HandlerMapping获得该Handler配置的所有相关的对象 (包括Handler对象以及Handler对象对应的拦截器),最后以HandlerExecutionChain对象的形式返回;
      3.  DispatcherServlet 根据获得的Handler,选择一个合适的HandlerAdapter。(附注:如果成功获得HandlerAdapter后,此时将开始执行拦截器的preHandler(...)方法
       4.  提取Request中的模型数据,填充Handler入参,开始执行Handler(Controller)。 在填充Handler的入参过程中,根据你的配置,Spring将帮你做一些额外的工作:
      HttpMessageConveter: 将请求消息(如Json、xml等数据)转换成一个对象,将对象转换为指定的响应信息
      数据转换:对请求消息进行数据转换。如String转换成Integer、Double等
      数据根式化:对请求消息进行数据格式化。 如将字符串转换成格式化数字或格式化日期等
      数据验证: 验证数据的有效性(长度、格式等),验证结果存储到BindingResult或Error中
      5.  Handler 执行完成后,向DispatcherServlet 返回一个ModelAndView对象;
      6.  根据返回的ModelAndView,选择一个适合的ViewResolver(必须是已经注册到Spring容器中的 ViewResolver)返回给DispatcherServlet ;
      7.  ViewResolver 结合Model和View,来渲染视图
      8. 将渲染结果返回给客户端。

Spring MVC 工作流程描述
     为什么Spring只使用一个Servlet(DispatcherServlet)来处理所有请求?
     详细见J2EE设计模式-前端控制模式
    Spring为什么要结合使用HandlerMapping以及HandlerAdapter来处理Handler?
    符合面向对象中的单一职责原则,代码架构清晰,便于维护,最重要的是代码可复用性高。如HandlerAdapter可能会被用于处理多种Handler。

来自:http://blog.csdn.net/xtu_xiaoxin/article/details/8796499

分享到:
评论

相关推荐

    开发Spring MVC应用程序补充—程序源码下载.rar_spring_spring mvc_spring mvc 源码_sp

    标题中的"开发Spring MVC应用程序补充—程序源码下载.rar_spring_spring mvc_spring mvc 源码_sp"表明这是一个关于Spring MVC框架的开发教程,其中包含了源代码供学习者参考。Spring MVC是Spring框架的一个核心组件...

    Spring MVC 教程快速入门 深入分析

    三、Spring MVC核心流程图:描述了Spring MVC处理请求的流程,包括前端控制器接收请求,经过分发器分发给具体的控制器,然后由控制器处理业务逻辑,最后将结果返回给用户。 四、Spring MVC DispatcherServlet说明:...

    maven与spring MVC

    而Spring MVC是Spring框架的一部分,用于构建高性能、灵活的Web应用程序。 【描述】"使用MAVEN 结合SPRING DWR hiberante validation"提到了另外三个技术:DWR(Direct Web Remoting)、Hibernate和Validation。DWR...

    helloworld spring mvc

    通过运行这个"helloworld spring mvc"项目,开发者可以了解Spring MVC的基本流程:从浏览器发送请求到DispatcherServlet,DispatcherServlet根据配置找到对应的Controller方法执行,然后Controller处理请求并返回一...

    spring mvc集成webservice

    Spring MVC 是一个强大的Java Web开发框架,用于构建可维护、高性能的Web应用程序。而Web服务是一种基于开放标准的,使得不同系统之间能够相互通信的技术。在本示例中,我们将探讨如何将Spring MVC与Web服务(特别是...

    一个入门的spring mvc demo,基于eclipse maven

    Spring MVC 是一款强大的Java Web开发框架,用于构建可维护、高性能和灵活的Web应用程序。它在Spring框架的基础上,为Web开发者提供了模型-视图-控制器(MVC)架构模式的实现,简化了Web应用的开发流程。在这个入门...

    两个小时学会了Spring MVC

    Spring MVC的工作流程如下: - 用户发起HTTP请求到达DispatcherServlet。 - DispatcherServlet根据请求信息(URL、参数等)找到合适的HandlerMapping,定位到具体的处理器(Controller)。 - HandlerAdapter执行...

    最简单的用户登录与注册系统 spring mvc spring jdbc

    Spring MVC是Spring框架的一个模块,主要用于构建Web应用程序,而Spring JDBC则是Spring提供的用于简化数据库操作的工具。 【描述】"用spring4.0.5版本开发的,spring mvc,spring jdbc,最简单的用户登录,注册和...

    spring MVC的HelloWorld完整实例

    Spring MVC是Spring框架的一部分,主要用于构建Web应用程序的后端控制器。这个"HelloWorld"实例是初学者学习Spring MVC的入门项目,它展示了如何配置、创建和运行一个基本的Spring MVC应用。下面将详细介绍这个实例...

    spring mvc+spring+maven框架项目,纯净项目

    Spring MVC、Spring 和 Maven 是Java开发中非常重要的三个框架,它们在构建现代企业级Web应用程序中扮演着核心角色。这个"spring mvc+spring+maven框架项目"提供了一个纯净的基础,便于开发者快速搭建和理解这三者...

    Java EE 框架整合开发⼊⻔到实战——Spring+Spring MVC+MyBatis(微课版)课后习题答案.pdf

    这份文档名为《Java EE 框架整合开发入门到实战——Spring+Spring MVC+MyBatis(微课版)课后习题答案.pdf》,它显然是关于Java EE中流行的三个框架整合使用的教程。这三个框架分别是Spring、Spring MVC和MyBatis,...

    基于 Java ssh整合 开源博客系统 spring mvc,hibernate,spring,maven 整合开发

    Spring MVC是Spring框架的一个模块,专门用于处理Web应用程序的模型-视图-控制器(MVC)架构。它提供了一个灵活的机制来分离业务逻辑、用户界面和数据访问,使得代码更易于维护和测试。 Hibernate是一个对象关系...

    基于注解Spring MVC环境搭建

    这篇博文(尽管描述为空,但提供了链接)很可能是关于创建一个基本的Spring MVC项目并使用注解来管理控制器、视图解析和其他关键组件的教程。 1. **Spring MVC简介** Spring MVC是Spring框架的一部分,它提供了...

    Spring mvc 超简完整注解可运行Demo

    Spring MVC 是一个基于 Java 的轻量级 Web 开发框架,它是 Spring 框架的一部分,专为构建 MVC(Model-View-Controller)架构的应用程序而设计。本示例提供了超简化的、完整的、注解驱动的 Spring MVC 应用程序,...

    综合spring mvc + spring + hibernate + bootstrap开发图书管理系统

    **Spring MVC** 是Spring框架的一部分,主要用于构建Web应用程序的Model-View-Controller(MVC)架构。Spring MVC通过解耦控制器、服务、模型和视图,使得代码更易于维护和测试。在本系统中,它负责处理HTTP请求,...

    Spring mvc例子程序

    **Spring MVC 示例程序详解** Spring MVC 是 Spring 框架的一部分,它是一个用于构建 Web 应用程序的模型-视图-控制器(MVC)框架...同时,通过调试和测试代码,可以进一步理解 Spring MVC 的工作流程,提升开发技能。

    swagger和spring mvc整合

    3. **注解接口**:在 Spring MVC 控制器中的方法上使用 Swagger 的注解,如 @ApiOperation 和 @ApiParam,来描述 API 的功能和参数信息。对于 MyBatis 的 Service 和 Mapper 接口,你也可以添加相应的注解来关联它们...

    spring mvc+activiti+mybatis小整合

    【标题】"Spring MVC + Activiti + MyBatis 小整合"揭示了这个项目的核心技术栈,它是一个基于Java的企业级应用示例,用于展示如何将这三个流行的技术框架集成在一起,构建一个完整的业务流程管理系统。Spring MVC是...

    Spring MVCSpring MVC基础.ppt

    Spring MVC 是一个轻量级的、基于Java的Web应用程序开发框架,它是Spring框架的一部分,主要用于构建Web应用的模型-视图-控制器(MVC)架构。Spring MVC的设计目标是简化开发,提高可测试性,并促进良好的编程实践。...

Global site tag (gtag.js) - Google Analytics