`
youyu4
  • 浏览: 440305 次
社区版块
存档分类
最新评论

Spring MVC之HandlerMapping

 
阅读更多

Spring MVC之HandlerMapping

 

spring的HandlerMapping,说白了就是根据URL找到访问哪个对象哪个方法,将这些放到Handler对象中,然后Handler和拦截器一起放到HandlerExecutionChain对象中。

 

HandlerMapping的使用主要分为两步:注册和查找

 

注册是根据配置文件中的配置将一个字符串和一个Controller类以<key,value>的形式存入到Map中,这个key就是对应的url中的某个字段。

 

查找就是HandlerMapping根据url中的的某个字段,在Map中以这个字段为key值对应的Controller类,并将Controller类封装成一个HandlerExecutionChain对象,HandlerExecutionChain中除了有Controller对象外,还有一组拦截器。

 

 

 

HandlerMapping返回的是一个HandlerExecutionChain对象,其中包含:

 

1. Handler(其中包含bean)

 

2. bean需要的一组拦截器

 

 

HandlerMapping接口的实现 : 

 

BeanNameUrlHandlerMapping :通过对比url和bean的name找到对应的对象 

SimpleUrlHandlerMapping :也是直接配置url和对应bean,比BeanNameUrlHandlerMapping功能更多 

DefaultAnnotationHandlerMapping : 主要是针对注解配置@RequestMapping的,已过时 

RequestMappingHandlerMapping :取代了上面一个 

 

 

总结

 

handlerMapping的作用

handlerMapping根据用户请求找到执行该请求的controller。

 

handlerMapping的找到controller过程

      1. 根据配置文件对url到controller的映射进行注册

      2. 根据具体的url请求找到执行该请求的controller

分享到:
评论

相关推荐

    Spring MVC核心组件之HandlerMapping详解

    ### Spring MVC核心组件之HandlerMapping详解 #### 一、引言 在Java Web开发领域,Spring MVC框架因其灵活且强大的特性而备受青睐。它提供了一种简洁的方式来构建可维护、可扩展的应用程序。Spring MVC的核心组件之...

    Spring MVC jar包

    Spring MVC 是一个基于Java的轻量级Web应用框架,它为开发者提供了模型-视图-控制器(MVC)架构,使开发人员能够更好地组织和分离应用程序的业务逻辑、数据处理和用户界面。Spring MVC是Spring框架的一个核心组件,...

    Spring MVC 教程快速入门 深入分析

    二、Spring MVC核心类与接口:Spring MVC架构中包含许多核心组件,如DispatcherServlet、HandlerMapping、Controller、ViewResolver等。这些组件协同工作,处理用户的请求并返回相应的响应。 三、Spring MVC核心...

    spring mvc mybatis 整合源码,带数据库脚本,带详细注释

    Spring MVC 和 MyBatis 是两个在Java Web 开发中广泛使用的框架。Spring MVC 作为Spring框架的一部分,负责处理HTTP请求并转发到相应的业务逻辑,而MyBatis则是一个轻量级的持久层框架,用于简化数据库操作。整合这...

    spring mvc 的入门级资料

    在 Spring MVC 中,核心类和接口是 DispatcherServlet、HandlerMapping、HandlerAdapter、Controller、ViewResolver、HandlerInterceptor、View 等。 DispatcherServlet 是 Spring MVC 的前置控制器,它负责处理...

    Spring MVC使用Demo

    它是Spring MVC的前端控制器,接收所有HTTP请求,然后根据请求信息选择合适的HandlerMapping找到对应处理器(Controller方法)。处理器执行后,通过HandlerAdapter将结果转换为ModelAndView对象,最后由ViewResolver...

    开发Spring MVC应用程序补充—程序源码下载.rar_spring_spring mvc_spring mvc 源码_sp

    标题中的"开发Spring MVC应用程序补充—程序源码下载.rar_spring_spring mvc_spring mvc 源码_sp"表明这是一个关于Spring MVC框架的开发教程,其中包含了源代码供学习者参考。Spring MVC是Spring框架的一个核心组件...

    spring MVC .docx

    Spring MVC 是一个基于Java的轻量级Web应用框架,它是Spring框架的重要组成部分,主要用于构建Web应用程序的后端控制器。Spring MVC的设计目标是提供一个清晰的组件化架构,使得开发者可以独立地开发和测试控制器、...

    spring-MVC.zip_Java spring mvc_spring mvc_spring mvc

    Spring MVC 是一款基于Java的轻量级Web应用框架,它是Spring框架的重要组成部分,主要用于构建Web应用程序的后端控制器。在本实例中,我们有一个名为"spring-MVC.zip"的压缩包,里面包含了一个关于Spring MVC的开发...

    Spring MVC 基础实例源码01

    2. **DispatcherServlet**:Spring MVC的入口点,它是一个前端控制器,接收所有HTTP请求,并根据配置的HandlerMapping转发到相应的Controller。 3. **Controller**:Controller是处理用户请求的组件,通常使用注解...

    spring MVC配置详解

    Spring MVC 是一个基于 DispatcherServlet 的 MVC 框架,它是当前主流的 Web 框架之一。要想灵活运用 Spring MVC 来应对大多数的 Web 开发,就必须要掌握它的配置及原理。 一、Spring MVC 环境搭建 1. jar 包引入 ...

    精通spring mvc 4 看透springmvc pdf 高清完全版

    本书首先介绍了Spring MVC的基础知识,包括如何搭建Spring MVC环境,以及它的核心组件如DispatcherServlet、ModelAndView、HandlerMapping和HandlerAdapter等的工作原理。这些组件在Web请求处理过程中扮演着重要角色...

    Spring MVC 学习记录总结1

    Spring MVC 是一个广泛使用的 Java Web 开发框架,它实现了MVC(Model-View-Controller)设计模式,使得开发者可以更高效地构建可维护且松耦合的Web应用程序。在这个学习记录总结中,我们将深入理解Spring MVC的核心...

    spring mvc

    DispatcherServlet 是 Spring MVC 中的核心组件之一,它作为前端控制器的角色,主要负责以下任务: - **初始化**:读取配置文件并初始化 Spring 容器。 - **请求处理**:处理所有进入系统的 HTTP 请求。 - **响应...

    Spring mvc整合mybatis例子

    在IT行业中,Spring MVC 和 MyBatis 是两个非常重要的框架,它们分别负责Web应用程序的控制器层和数据访问层。Spring MVC 提供了模型-视图-控制器架构模式的实现,而MyBatis则是一个轻量级的SQL映射框架,用于简化...

    一个入门的spring mvc demo,基于eclipse maven

    在Spring MVC的生命周期中,当用户发起HTTP请求时,DispatcherServlet首先捕获请求,然后根据请求映射找到合适的HandlerMapping,接着调用对应的Controller进行业务逻辑处理。Controller处理完成后,会返回一个...

    spring mvc + spring + hibernate 全注解整合开发视频教程 12

    1. Spring MVC的基本概念和配置,包括DispatcherServlet、HandlerMapping和ViewResolver。 2. 如何创建Spring MVC的Controller,以及使用注解进行请求映射和参数绑定。 3. Spring的依赖注入和AOP的使用,包括@...

    spring mvc框架源码

    Spring MVC提供了多种HandlerMapping实现,如BeanNameUrlHandlerMapping、DefaultAnnotationHandlerMapping等,用于将URL与Controller方法关联。 3. **Controller**: 控制器是处理业务逻辑的地方,通常由用户定义的...

Global site tag (gtag.js) - Google Analytics