`
_与狼共舞
  • 浏览: 61021 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

[转]SpringMVC工作原理

    博客分类:
  • Java
阅读更多

SpringMVC框架介绍

    1) 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 分离了控制器、模型对象、分派器以及处理程序对象的角色,这种分离让它们更容易进行定制。

    2) Spring的MVC框架主要由DispatcherServlet、处理器映射、处理器(控制器)、视图解析器、视图组成。

SpringMVC原理图

 

SpringMVC接口解释

DispatcherServlet接口:

Spring提供的前端控制器,所有的请求都有经过它来统一分发。在DispatcherServlet将请求分发给Spring Controller之前,需要借助于Spring提供的HandlerMapping定位到具体的Controller。

HandlerMapping接口:

能够完成客户请求到Controller映射。

Controller接口:

需要为并发用户处理上述请求,因此实现Controller接口时,必须保证线程安全并且可重用。

Controller将处理用户请求,这和Struts Action扮演的角色是一致的。一旦Controller处理完用户请求,则返回ModelAndView对象给DispatcherServlet前端控制器,ModelAndView中包含了模型(Model)和视图(View)。

从宏观角度考虑,DispatcherServlet是整个Web应用的控制器;从微观考虑,Controller是单个Http请求处理过程中的控制器,而ModelAndView是Http请求过程中返回的模型(Model)和视图(View)。

ViewResolver接口:

 

Spring提供的视图解析器(ViewResolver)在Web应用中查找View对象,从而将相应结果渲染给客户。

SpringMVC运行原理

1. 客户端请求提交到DispatcherServlet

2. 由DispatcherServlet控制器查询一个或多个HandlerMapping,找到处理请求的Controller

3. DispatcherServlet将请求提交到Controller

4. Controller调用业务逻辑处理后,返回ModelAndView

5. DispatcherServlet查询一个或多个ViewResoler视图解析器,找到ModelAndView指定的视图

6. 视图负责将结果显示到客户端

DispatcherServlet是整个Spring MVC的核心。它负责接收HTTP请求组织协调Spring MVC的各个组成部分。其主要工作有以下三项:

       1. 截获符合特定格式的URL请求。
       2. 初始化DispatcherServlet上下文对应的WebApplicationContext,并将其与业务层、持久化层的WebApplicationContext建立关联。
       3. 初始化Spring MVC的各个组成组件,并装配到DispatcherServlet中。

分享到:
评论

相关推荐

    SpringMVC框架原理.mp4

    SpringMVC框架原理.mp4

    SpringMVC工作原理

    阅读本篇文章有助于快速了解MVC框架实现原理,帮助新人熟悉开发环境。

    SpringMVC工作原理11

    SpringMVC的工作原理是基于一系列组件的协作,这些组件包括DispatcherServlet、HandlerMapping、Controller、ModelAndView和ViewResolver。 首先,客户端发起HTTP请求,这个请求会到达DispatcherServlet,这是...

    mybatis.hibernate,springmvc工作原理以及流程总结文档.pdf

    mybatis.hibernate,springmvc工作原理以及流程总结文档

    SpringMVC工作原理1

    在SpringMVC的工作流程中,各个组件协同工作,使得Web应用程序能够高效地处理用户请求并呈现响应结果。 1. 用户发送请求至前端控制器DispatcherServlet。这是SpringMVC流程的起点,用户发起HTTP请求到达服务器,...

    SpringMVC工作原理.docx

    其工作原理如下: 1. **用户请求**:当用户通过浏览器或其他HTTP客户端发送请求到服务器时,请求首先到达前端控制器`DispatcherServlet`。 2. **DispatcherServlet**:前端控制器是SpringMVC的核心组件,它接收...

    手写简易版SpringMVC,探索SpringMVC原理

    这是一项很好的练习,能够加深对SpringMVC工作原理的认识,并提高我们的编程能力。 在实际开发中,SpringMVC提供了许多开箱即用的功能,如注解驱动的控制器、数据绑定、类型转换、本地化和主题支持等。这些功能极大...

    springmvc工作原理

    SpringMVC 工作原理 SpringMVC 是一种基于 Java 的 Web 应用程序框架,它提供了一种 Model-View-Controller(MVC)架构的实现方式。SpringMVC 的工作原理可以分为以下几个步骤: 1. 用户发送请求:用户通过浏览器...

    SpringMVC工作原理及介绍

    SpringMVC是一个开源的Java框架,它是Spring项目的一部分,用于简化Web应用程序的开发。SpringMVC通过采用MVC(Model-View-Controller)设计模式,将Web层进行分层管理,以此来达到前后端代码分离的目的。在...

    SpringMVC框架原理、

    SpringMVC框架原理图

    SpringMVC工作原理实例详解

    SpringMVC 工作原理实例详解 SpringMVC 是 Spring Framework 中的一部分,当我们需要使用 Spring 框架创建 web 应用程序时,就需要引入 SpringWebMVC。SpringMVC 工作原理实例详解中,通过示例代码介绍了非常详细,...

    老司机带你分析SpringMVC框架设计原理与实现

    在深入探讨SpringMVC框架的设计原理与实现细节之前,我们先来明确一下SpringMVC的基本概念及其...无论是对于初学者还是资深开发者而言,在理解和掌握SpringMVC的工作原理后,都能够更加得心应手地进行Web应用开发工作。

    SpringMVC精品资源--深入解析SpringMVC核心原理:从手写简易版MVC框架开始(SmartMvc).zip

    本资源包"SpringMVC精品资源--深入解析SpringMVC核心原理:从手写简易版MVC框架开始(SmartMvc).zip"旨在帮助开发者深入理解SpringMVC的工作机制,并通过构建一个简单的SmartMvc框架来实践这一过程。 1. **MVC模式...

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

    DispatcherServlet 的初始化过程是 SpringMVC 实现原理的重要部分,本文将详细解释 DispatcherServlet 的初始化过程。 DispatcherServlet 和 ApplicationContext 的关系 DispatcherServlet 作为一个 Servlet,需要...

    SpringMVC+MyBatis源码

    刚想搭建一个新的网站,然后就搭建了一个SpringMVC+MyBatis的框架 IDE:MyEclipse 2015 JDK:1.8 Jar包里面都有了,可以直接跑通,自己也做一个记录,下次就可以直接用了。

    SpringMVC教程及实现原理

    #### 四、SpringMVC的工作原理 - **初始化阶段**:启动服务器时,根据`web.xml`的配置加载前端控制器`DispatcherServlet`。在加载过程中,`DispatcherServlet`会执行一系列初始化操作,如加载配置文件、初始化视图...

    springMVC的工作原理1

    Spring MVC的工作原理是通过一系列组件协同完成请求处理和响应生成的过程。以下是对Spring MVC工作流程的详细解释: 1. **请求接收**:当客户端(如浏览器)发送HTTP请求到Web服务器时,Web服务器会解析请求,并...

    理解springMVC的原理.docx

    在SpringMVC中,这些组件协同工作,实现从用户请求到业务逻辑处理再到结果展示的流程。 模型(Model)由JavaBean、Service层和DAO层组成,负责处理业务逻辑。Service层封装了数据库操作,DAO层则直接与数据库交互,...

    springmvc基础.docx

    2. springmvc框架原理 前端控制器、处理器映射器、处理器适配器、视图解析器 3. springmvc入门程序 目的:对前端控制器、处理器映射器、处理器适配器、视图解析器学习 非注解的处理器映射器、处理器适配器 注解...

    springmvc+mybatis原理分析

    springmvc+mybatis原理分析

Global site tag (gtag.js) - Google Analytics