Spring mvc工作原理

框架介绍:

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

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

Spring MVC分离了控制性、模型对象、分派器以及处理对象的角色,这种分离让它们更容易进行定制。

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

Spring MVC原理图:

Spring MVC接口解释

DispatcherServlet接口:

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

HandlerMapping接口:

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

Controller接口:

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

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

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

ViewResolver接口:

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

Spring MVC运行原理

1、用户请求提交到DispatcherServlet

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

3、DispatcherServlet将请求提交Controller

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

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

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

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

1、截获符合特定格式的URL请求

2、初始化DispatcherServlet上下文对应的WebApplicationContext,并将其与业务层,持久化层的WebApplicationContext建立关联

3、初始化Spring MVC的各个组成组件,并装配到DispatcherServlet中

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值