`

springMVC工作流程

 
阅读更多
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. 将渲染结果返回给客户端

分享到:
评论

相关推荐

    springmvc 的工作流程.docx

    ### SpringMVC的工作流程详解 #### 一、概述 SpringMVC是Spring框架的一个模块,主要用于简化Web应用程序的开发过程。它遵循Model-View-Controller(MVC)设计模式,帮助开发者更好地组织代码结构,提高代码的可...

    SpringMVC工作流程.vsdx

    该资源主要是SpringMVC工作流程,各个组件(DispatcherServlet、HandlerMapping、ViewResolver、Handler)的说明以及工作流程的文字说明等等。

    SpringMVC 入门小程序

    本入门程序旨在帮助初学者理解并掌握SpringMVC的基本概念和工作流程,通过实现用户在前端页面注册信息并显示的功能,来深入剖析其核心机制。 ### 1. SpringMVC框架概述 SpringMVC是Spring框架的一部分,提供了一个...

    SpringMVC详细文档,内容通俗易懂,适合学习springMVC的初学者

    3. SpringMVC工作流程 - 用户向DispatcherServlet发送请求。 - DispatcherServlet调用HandlerMapping,查找并确定合适的处理器。 - HandlerMapping返回处理器对象和可能的拦截器链给DispatcherServlet。 - ...

    图解springMVC执行流程及原理.docx

    SpringMVC 的执行流程是理解其工作原理的关键,下面我们将详细解析这个过程。 首先,SpringMVC 的执行流程始于客户端发起的HTTP请求,这个请求被Web服务器接收到。在传统的Java Web应用中,Web服务器(如Tomcat)会...

    springmvc入门程序(下载后你不会后悔的)

    入门程序的主要目的是帮助开发者理解SpringMVC的核心组件及其工作流程,特别是前端控制器、处理器映射器、处理器适配器和视图解析器。 ##### 2. 实现方式 - **非注解的方式**:通过XML配置文件指定处理方法和URL...

    springmvc例子

    下面将详细探讨SpringMVC的关键概念和工作流程,以及如何在实际项目中运用。 1. **核心组件** - **DispatcherServlet**:它是SpringMVC的入口点,负责接收HTTP请求,并将其转发给相应的处理器。 - **...

    spring和springMVC整合源码

    在IT领域,Spring框架是Java...这个整合示例不仅展示了SpringMVC的基本工作流程,也揭示了Spring框架的核心思想——依赖注入和面向切面编程。通过深入理解这些概念,开发者可以更高效地构建和维护大型的企业级应用。

    SpringMVC学习(一)——SpringMVC入门小程序

    SpringMVC是Spring框架的一部分,专门用于处理Web应用程序的请求-响应模型。它是一个轻量级的、基于注解的模型-视图-控制器(MVC)架构,为开发者提供了强大的控制层组件,使得构建可维护性和可测试性的Web应用变得...

    三歪教你学SpringMVC.docx

    #### 四、SpringMVC工作流程详解 **4.1 映射器(HandlerMapping)** 映射器负责将请求URL映射到具体的处理方法。 **4.2 适配器(HandlerAdapter)** 适配器负责调用具体的处理方法,并将返回结果传递给视图解析...

    springmvc第一天课堂笔记

    2. **SpringMVC工作流程** - **第一步**:用户发起请求到达前端控制器DispatcherServlet。 - **第二步**:DispatcherServlet通过处理器映射器HandlerMapping查找合适的处理器(Controller)。 - **第三步**:...

    SpringMVC入门demo

    下面将详细介绍SpringMVC的主要组件、工作流程以及如何设置一个入门项目。 **1. SpringMVC组件** - **DispatcherServlet**:它是SpringMVC的核心组件,作为前端控制器接收所有HTTP请求,并负责分发到相应的处理器...

    跟开涛学SpringMVC、Spring3

    3. **SpringMVC工作流程**: - 请求到达前端控制器DispatcherServlet。 - DispatcherServlet根据请求信息找到合适的HandlerMapping。 - HandlerMapping将请求映射到具体的处理器(Controller)。 - Controller...

    springmvc的流程图

    Spring为展现层提供的基于MVC设计理念的优秀的Web框架,是目前最主流的MVC框架之一 • Spring3.0后全面超越Struts2,成为最优秀的MVC框架 • Spring MVC通过一套MVC注解,让POJO成为处理请求的控制器,而无须实现...

    SpringMVC 简单实例

    **SpringMVC 简单实例** SpringMVC 是 Spring ...通过以上介绍,我们可以对 SpringMVC 的基本概念和工作流程有一个全面的了解。在实际开发中,我们需要结合具体需求,灵活运用这些知识来构建高效、稳定的应用程序。

    SpringMVC及视图解析器

    在本文中,我们将探讨 SpringMVC 及视图解析器的工作流程、相关注解和配置。 一、SpringMVC 工作流程 1. 加载 web.xml,读取前端控制器(DispatcherServlet) 2. 匹配到对应的 servlet,进入 spring 容器(spring...

    SpringMVC教学视频(包括整合spring和mybatis)网盘

    #### 三、SpringMVC 工作流程详解 1. **用户发送请求至前端控制器DispatcherServlet**。 2. **DispatcherServlet**接收到请求后,调用**HandlerMapping**处理请求,根据请求URL获取到相应的处理器(Controller)...

    SpringMVC 处置流程分析

    tionContext)用于自定义上下文配置。然后,调用 wac.refresh()来初始化上下文,这个过程包括解析配置文件、创建Bean定义、实例化Bean、依赖注入等。...了解这一流程对于理解和优化SpringMVC应用程序的性能至关重要。

    SpringMVC深入总结 核心流程图 中关村北大青鸟网上学堂 docx

    根据给定文件的信息,本文将对SpringMVC框架的核心流程进行深入总结,并通过核心流程图的形式来解析SpringMVC的工作机制。SpringMVC是Spring框架的一部分,它为Web应用程序提供了模型-视图-控制器(Model-View-...

Global site tag (gtag.js) - Google Analytics