Spring MVC组件实现原理--Day4

1:执行逻辑图

 2:组件介绍

2.1:DispatcherServlet

       DispatcherServlet是整个流程控制的中心,由它调用其它组件处理用户的请求,DispatcherServlet的存在降低了组件之间的耦合性。

       MVC 模式: 传统定义,一个 WEB 应用中,只有唯一的一个控制器和客户端交互. 所有的客户端请求和服务器单点接触. 这个控制器称为核心控制器(前端控制器)。 传统定义中,核心控制器的实现使用 Servlet 实现。如:SpringMVC,Struts1。
       MVC 优势: 单点接触,可以有效的解耦。可以实现功能的重用。
       M - model
       V - view
       C - controller

2.2:HandlerMapping

       HandlerMapping(处理映射器)负责根据用户请求找到Handler即处理器(如用户自定义的Controller),SpringMVC提供了不同的映射器实现不同的映射方式,例如:配置文件方式,实现接口方式,注解方式等。

       映射器相当于配置信息或注解描述。映射器内部封装了一个类似Map的数据结构。使用URL作为Key,HandlerExecutionChain作为value。核心控制器,可以通过请求对象(请求对象中包含请求的URL)在handlerMapping中查询HandlerExecutionChain对象。

       是Spring MVC核心组件之一,是必不可少的组件。无论你是否配置,Spring MVC会有默认提供。 如果有<mvc:annotation-driven/>标签配置,默认的映射器是:RequestMappingHandlerMapping。如果没有该标签配置,且使用注解开发Spring MVC代码,默认的映射器也是:RequestMappingHandlerMapping。

2.3:Handler

         Handler(处理器)是继 DispatcherServlet 前端控制器的后端控制器(自定义控制器),在DispatcherServlet 的控制下 Handler 对具体的用户请求进行处理。由于 Handler 涉及到具体的用户业务请求,所以一般情况需要程序员根据业务需求开发 Handler。

        在 Spring MVC 中对 Handler 没有强制的类型要求。在 SpringMVC 框架中,对 Handler的引用定义类型为 Object。处理器理论上说不是必要的核心组件。

       Spring MVC 框架是一个线程不安全的,轻量级的框架。一个 handler 对象处理所有的请求。开发过程中,注意线程安全问题

2.4:ViewResolver

        ViewResolver 负责将处理结果生成 View 视图,ViewResolver 首先根据逻辑视图名解析成物理视图名即具体的页面地址,再生成 View 视图对象,最后对 View 进行渲染将处理结果通过页面展示给用户。是 SpringMVC 中 必 要 的 组 件 之 一 。                    SpringMVC 提 供 默 认 视 图 解 析 器 :InternalResourceViewResolver,内部资源视图解析器。视图解析器是用于处理动态视图逻辑的。静态视图逻辑不通过 SpringMVC 流程,直接通过 WEB 中间件(Tomcat)就可以访问静态资源。

2.5:源码解读

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值