`
seong
  • 浏览: 22731 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

HandlerMapping

 
阅读更多
当客户端发出Request的时候DispatcherServlet会将Request提交给HandlerMapping, 然后HanlerMapping根据Web Application Context的配置来回传给DispatcherServlet相应的Controller.

HandlerMapping

1. org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping

默认的HanlerMapping 会根据Controller的Bean Name来进行匹配 例如:

<bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"/>

<bean name="/welcome.html" class="me.iace.spring.controller.WelcomeController"/>

当客户端发出http://xxxx/ctx/welcome.html的时候 BeanNameUrlHandlerMapping指向该Controller回传给DispatcherServlet

2. org.springframework.web.servlet.mvc.support.ControllerClassNameHandlerMapping

ControllerClassNameHandlerMapping会根据Controller Bean的Class Name来做匹配 例如:

<bean class="org.springframework.web.servlet.mvc.support.ControllerClassNameHandlerMapping"/>

<bean name="/hello" class="me.iace.spring.controller.WelcomeController"/>

例如WelcomeController 会去掉后面的Controller 客户端发出 /welcome的request 会匹配到该Controller, 需要注意的是 如果welcome的第一个字母'w'为大写的话是错误的, 而且后welcome后面不管有什么都会匹配该WelcomeController 例如 ‘/welcome224sscc’也是可以匹配到该Controller的。

ControllerClassNameHandlerMapping的相关属性 如下

<bean class="org.springframework.web.servlet.mvc.support.ControllerClassNameHandlerMapping">
<property name="caseSensitive" value="true" />
<property name="pathPrefix" value="/haha" />
<property name="basePackage" value="me.iace.spring.controller" />
</bean>
caseSensitive: 是否识别大小写
pathPrefix: url的前缀,在这里的前缀是 '/haha'
basePackage: 指定匹配哪个package的Controller


再就是可以同时使用 BeanNameUrlHandlerMapping 和 ControllerClassNameHandlerMapping 例如

<bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"/>

<bean class="org.springframework.web.servlet.mvc.support.ControllerClassNameHandlerMapping"/>

<bean name="/hello" class="me.iace.spring.controller.WelcomeController"/>

当客户端发出 '/hello' 和 '/welcome'的时候都会匹配到该WelcomeController



3. org.springframework.web.servlet.handler.SimpleUrlHandlerMapping

SimpleUrlHandlerMapping会将在自身Properies里设置的Url映射到相关的Controller, 如下:



<bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
<property name="mappings">
<props>
<prop key="/welcome">welcomeController</prop>
<prop key="/hello">helloController</prop>
</props>
</property>
</bean>

<bean id="welcomeController" class="me.iace.spring.controller.WelcomeController" />

<bean id="helloController" class="me.iace.spring.controller.WelcomeController" />
分享到:
评论

相关推荐

    org.apache.cxf.spring.remoting.Jsr181HandlerMapping.jar

    org.apache.cxf.spring.remoting.Jsr181HandlerMapping.jar

    SpringMVC源码总结(一)HandlerMapping和HandlerAdapter入门

    NULL 博文链接:https://yihuawuye1.iteye.com/blog/2104547

    HandlerMapping HandlerAdapter View ViewResolver类图 矢量图

    HandlerMapping HandlerAdapter View ViewResolver类图 矢量图文件 https://blog.csdn.net/qq_39609993/article/details/105435850

    SpringMVC源码解读之 HandlerMapping - AbstractDetectingUrlHandlerMapping系列初始化

    主要介绍了SpringMVC源码解读之 HandlerMapping - AbstractDetectingUrlHandlerMapping系列初始化的相关资料,需要的朋友可以参考下

    SpringMVC源码解读之HandlerMapping

    主要介绍了SpringMVC源码解读之HandlerMapping 的相关资料,需要的朋友可以参考下

    SpringMVC源码解读之HandlerMapping - AbstractUrlHandlerMapping系列request分发

    主要介绍了SpringMVC源码解读之HandlerMapping - AbstractUrlHandlerMapping系列request分发 的相关资料,需要的朋友可以参考下

    ML精选面试题(选题中).docx

    (3)、 处理器映射器(HandlerMapping)找到具体的处理器(可以根据xml配置、注解进行查找),生成处理器对象及处理器拦截器(如果有则生成)一并返回给DispatcherServlet(前端控制器)。 (4)、 DispatcherServlet...

    Spring MVC 学习笔记

    2、 DispatcherServlet把请求转交给HandlerMapping, HandlerMapping将会把请求映射为HandlerExecutionChain对象(包含一个Handler处理器对象、多个HandlerInterceptor拦截器)对象.(后面会学习到拦截器) 3、 ...

    Spring SpringMVC 简单整合

    2、 DispatcherServlet收到请求调用HandlerMapping处理器映射器。 3、 处理器映射器找到具体的处理器(可以根据xml配置、注解进行查找),生成处理器对象及处理器拦截器(如果有则生成)一并返回给DispatcherServlet。 ...

    sprigmvc图文总结

    处理器映射器(HandlerMapping):根据URL去查找处理器,一般通过xml配置或者注解进行查找。 处理器(Handler):就是我们常说的controller控制器啦,由程序员编写。 处理器适配器(HandlerAdapter):可以将处理器...

    入门案例-SpringMVC技术架构图

    Spring MVC以DispatcherServlet为核心,众多组件如HandlerMapping为辅助,为用户封装了请求映射等底层逻辑,让用户可以更专注与业务逻辑的处理。本文会对Spring MVC整体结构做简单介绍。 Spring MVC结构图 Spring ...

    SpringMVC工作原理.docx

    2、 DispatcherServlet收到请求调用HandlerMapping处理器映射器。 3、 处理器映射器找到具体的处理器(可以根据xml配置、注解进行查找),生成处理器对象及处理器拦截器(如果有则生成)一并返回给DispatcherServlet。 4...

    springMVC技术概述

    springMVC相关技术配置使用注解的HandlerMapping和HandlerAdapter使用&lt;mvc:annotation-driver&gt; 不过springBoot已经省略了这些配置 配置使用注解的Handler和Service等等使用&lt;context:component-scan&gt; 不过springBoot...

    Spring面试题

    2.DispatcherServlet查询一个或多个HandlerMapping,找到处理请求的Controller. 3.DispatcherServlet请请求提交到目标Controller 4.Controller进行业务逻辑处理后,会返回一个ModelAndView 5.Dispathcher查询一个...

    全面掌握Spring MVC:从基础到高级的实践指南

    处理器映射器(HandlerMapping)和处理器适配器(HandlerAdapter)是核心组件,负责找到和调用适当的处理器(Controller)。 Spring MVC的一个关键特性是它的灵活性,支持多种类型的控制器和视图技术。它还提供了...

    java spring mvc

    主控制器调用HandlerMapping组件,根据请求不同调用Controller处理器 c.主控制器调用Controller方法处理请求,(对DB操作可以调用DAO组件),方法执行后返回一个ModelAndView对象结果 d.ModelAndView里包含了响应View和...

    23道SpringMVC常见面试题.docx

    23道SpringMVC常见面试题 ...2) DispatcherServlet 查询 handlerMapping 找到处理请求的 Controller 3)Controller 调 用 业 务 逻 辑 后 , 返 回 ModelAndView 4)DispatcherServlet 查询 ModelAndVi

    javaweb 毕业设计 springboot+html宠物医院,宠物医生、宠物主人以及系统管理人员

    SpringMVC在项目中拦截用户请求,它的核心Servlet即DispatcherServlet承担中介或是前台这样的职责,将用户请求通过HandlerMapping去匹配Controller,Controller就是具体对应请求所执行的操作。SpringMVC相当于SSH...

    民宿网站管理系统java+spring.7z,架构是SSM

    Spring MVC 内置了 Requestmapping、HandlerMapping 和 ViewResolver 等组件,可以简化开发流程。MyBatis 作为持久层框架,负责处理数据库操作。 在安全性方面,该网站采用了 SSL 证书进行加密传输,并实现了用户...

    基于spring+java的教务管理系统.7z,SSM框架

    Spring MVC 内置了 Requestmapping、HandlerMapping 和 ViewResolver 等组件,可以简化开发流程。MyBatis 作为持久层框架,负责处理数据库操作。 在安全性方面,该教务管理系统采用了 SSL 证书进行加密传输,并实现...

Global site tag (gtag.js) - Google Analytics