`

springmvc的初始化及请求处理流程

 
阅读更多

一、springmvc的初始化流程

1. web应用启动时初始化DispatcherServlet

2. 调用父类的父类HttpServletBeaninit()方法,把配置的初始化参数设置到DispatcherServlet

3. 调用父类FrameworkServletinitServletBean()方法,创建springMVC容器并初始化容器、关联spring父容器

4. 调用DispatcherServletonRefresh方法进行DispatcherServlet的策略组件初始化工作,url映射初始化,文件解析初始化,运行适配器初始化等等。

 

 

二、springmvc请求处理流程

这里写图片描述 
从上图我们可以看到, Spring MVC主要包括: 
      1. 前端控制器组件(DispatcherServlet) 
      2. 处理器组件(Controller) 
      3. 处理器映射器组件(HandlerMapping) 
      4. 处理器适配器组件(HandlerAdapter) 
      5. 拦截器组件(HandlerInterceptor) 
      6. 视图解析器组件(ViewResolver) 
      7. 视图组件(View) 
      8. 数据转换组件(DataBinder) 
      9. 消息转换器组件(HttpMessageConverter)

整个处理过程从一个HTTP请求开始: 
      1、可发发起HTTP请求 
      2、DispatcherServlet接收到请求后,根据对应配置文件中配置的处理器映射,找到对应的处理器映射项(HandlerMapping、HandlerExecutionChain),根据配置的映射规则,找到对应的处理器(Handler)和拦截器 
      3、调用相应处理器处理器适配器 
      4、转换消息和数据,执行响应拦截器处理方法 
      5、调用相应处理器(Handler, 即Controller类)中的处理方法,处理该请求,处理器处理结束后会将一个ModelAndView类型的数据传给DispatcherServlet,这其中包含了处理结果的视图和视图中要使用的数据 
      6、DispatcherServlet根据得到的ModelAndView中的视图对象,找到一个合适的ViewResolver(视图解析器) 
      7、根据视图解析器的配置,DispatcherServlet将视图要显示的数据传给对应的视图 
      8、最后给浏览器构造一个HTTP响应。

 

分享到:
评论

相关推荐

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

    在SpringMVC中,核心的前端控制器DispatcherServlet扮演了这个角色,它是一个Servlet实现,通常在web.xml配置文件中被声明并初始化。 DispatcherServlet首先会通过doService方法处理请求,这个方法是Servlet的生命...

    SpringMVC源码剖析(三)- DispatcherServlet的初始化流程1

    在本文中,我们将深入探讨`DispatcherServlet`的初始化流程,这是SpringMVC的核心组件。`DispatcherServlet`扮演着中央调度者的角色,负责接收请求、解析请求信息,并调用合适的控制器进行业务逻辑处理。 首先,让...

    Spring框架系列(13) - SpringMVC实现原理之DispatcherServlet的初始化过程.doc

    init() 方法位于 HttpServletBean 中,然后跑 Spring 基础 - SpringMVC 请求流程和案例中的代码,在 init 方法中打断点。 init() 方法主要读取 web.xml 中的 servlet 配置,并将其交给子类方法 initServletBean() ...

    SpringMvc学习笔记

    在`web.xml`中配置`DispatcherServlet`,指定其初始化参数`contextConfigLocation`为配置文件的位置,如`springmvc-servlet.xml`,并设置URL映射规则。 5. **第一个Spring MVC工程** - 创建Web项目,并添加Spring ...

    SpringMVC 处置流程分析

    2. DispatcherServlet 的初始化DispatcherServlet 是 SpringMVC 的核心组件,它负责处理HTTP请求。每个 DispatcherServlet 都有自己的WebApplicationContext,称为子上下文,它继承自 Spring 根上下文。在Servlet...

    从源码的角度来看SpringMVC.pdf

    总结来看,从源码角度分析SpringMVC可以让我们了解到整个请求处理流程,包括初始化、分发、适配器调用、异常处理以及视图解析等步骤。深入理解SpringMVC的内部工作原理,有助于开发者更有效地使用框架,以及在遇到...

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

    1. **初始化阶段**:当应用启动时,`DispatcherServlet`读取配置文件并初始化相应的组件,如`HandlerMapping`、`ViewResolver`等。 2. **请求处理阶段**: - 用户发起HTTP请求。 - `DispatcherServlet`接收请求,...

    Spring MVC启动时初始化的几个常用方法

    在Spring MVC框架中,应用程序启动时会执行一系列初始化操作,这些操作对于理解Spring MVC的工作原理至关重要。本篇文章将深入探讨Spring MVC启动时初始化的几个常用方法,并解释它们在实际开发中的作用。 首先,...

    SpringMVC请求流程源码分析.doc

    ### SpringMVC请求流程源码分析 #### 一、SpringMVC使用与配置 ##### 1. 工程创建 为了构建一个支持SpringMVC框架的项目,首先需要创建一个Maven工程。在这个过程中,我们需要完成以下几个步骤: - **创建项目...

    SpringMVC入门案例源码

    SpringMVC是Spring框架的一部分,专门用于处理Web应用程序的请求-响应模型。它是一个轻量级的MVC(Model-View-Controller)架构,能够帮助开发者构建可维护性高、结构清晰的Java Web应用。本入门案例源码适用于...

    跟我学SpringMVC

    #### 三、SpringMVC请求处理流程 1. **用户发出请求**:浏览器向服务器发送HTTP请求。 2. **请求被DispatcherServlet接收**:DispatcherServlet是前端控制器,统一处理所有请求。 3. **查找Handler**:根据请求URL...

    springMVC初步

    SpringMVC是Spring框架的一个模块,专门用于处理Web应用程序的请求和响应。它是一个轻量级的、模型-视图-控制器(MVC)架构,旨在简化开发过程,提高代码的可测试性和可维护性。在本文中,我们将深入探讨SpringMVC的...

    SpringMvc教程 跟着我学SpringMVC

    我们将学习如何配置DispatcherServlet,以及它的初始化过程和工作流程。此外,还会接触到SpringMVC的配置文件,了解如何进行视图解析、异常处理等高级配置。 第四部分则是Controller接口控制器的详解。控制器是处理...

    自主实现的简易SpringMVC

    8. **web.xml配置**: 在SpringMVC的简易实现中,web.xml文件是必需的,它配置了DispatcherServlet和其他必要的Servlet或Filter,定义了它们的初始化参数和监听器。 9. **依赖注入(Dependency Injection, DI)**: ...

    SpringMVC入门最简洁工程

    `web.xml`是应用的部署描述符,用于配置前端控制器DispatcherServlet和SpringMVC的初始化参数。`spring-servlet.xml`是SpringMVC的核心配置文件,用于定义处理器映射器、视图解析器以及其他Bean。 **3. 最少的Jar包...

    SpringMVC框架简单实现

    这个简化的SpringMVC实现可以帮助你理解请求处理的基本流程,包括请求的接收、路由、业务处理、模型绑定以及响应的生成。不过,实际的SpringMVC框架提供了更高级的功能,如数据绑定、类型转换、本地化、主题支持等,...

    SpringMVC jar包合集

    这个"SpringMVC jar 包合集"包含了开发 Spring MVC 应用所需的所有核心库,使得开发者可以快速搭建一个功能完备的 MVC 应用程序。 1. **Spring Framework**: - Spring 框架是 Spring MVC 的基础,它提供了依赖...

    初识SpringMVC以及springmvc基本应用入门案例彩色PPT版本.pptx

    1. 容器初始化:SpringMVC 会初始化 DispatcherServlet,加载配置文件,扫描并实例化所有 Controller 类。 2. 单次请求工作流程:当收到 HTTP 请求时,DispatcherServlet 会根据请求路径查找匹配的 HandlerMapping,...

    纯springMVC基础框架

    SpringMVC是Spring框架的一个模块,主要负责处理Web应用程序的请求和响应。它提供了一种模型-视图-控制器(MVC)的架构模式,帮助开发者将业务逻辑、数据访问和用户界面有效地解耦。在“纯springMVC基础框架”中,...

Global site tag (gtag.js) - Google Analytics