龙空技术网

SpringMVC的HandlerMapping(处理器映射器)

程序的那些事儿 172

前言:

现在姐妹们对“映射处理器”大约比较重视,姐妹们都想要了解一些“映射处理器”的相关文章。那么小编在网上收集了一些关于“映射处理器””的相关资讯,希望看官们能喜欢,兄弟们快快来了解一下吧!

本节主要学习SpringMVC的常用处理器映射器。

1.BeanNameUrlHandlerMapping

默认映射处理器 (不重要),根据controller的name名称来映射寻找controller,默认开启,配置如下:

<!--  --><!-- 默认已开启 --><bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"/><bean id="type1" name="/type1" class="raky.train.controller.SimpleController" />
2.SimpleUrlHandlerMapping

简单URL映射处理器 (不重要),根据URL来映射寻找controller,配置如下:

<!--  --><bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">      <property name="mappings">          <props>              <prop key="/type21">type2</prop>            <prop key="/type22">type2</prop>              <prop key="/type23">type2</prop>          </props>      </property>  </bean><bean id="type2" class="raky.train.controller.SimpleController"/>
3.ControllerClassNameHandlerMapping

控制器类名映射处理器(废弃,不重要),根据controller的类名来映射寻找controller,配置如下:

<!--  --><!--  --><bean class="org.springframework.web.servlet.mvc.support.ControllerClassNameHandlerMapping"/> <bean id="simpleController" class="raky.train.controller.SimpleController"/>

url地址的规则:

1、控制器类,首字母小写 /simpleController

2、省略控制器类的Controller,首字母小写 /simple

3、类似通配符 1或2后面追加数字+字母+特殊字符 url地址

<!-- spring3支持此控制器类名映射处理器,后续已废弃 --><dependency>    <groupId>org.springframework</groupId>    <artifactId>org.springframework.web.servlet</artifactId>    <version>3.2.2.RELEASE</version></dependency>
4.DefaultAnnotationHandlerMapping

默认注解映射处理器(强烈推荐),使用注解来映射寻找controller,配置如下:

<!--  --><!-- 默认已开启 --><bean class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping" /><!-- 配置自动扫描的包 --><context:component-scan base-package="raky.train.controller" />

注意事项:一旦在SpringMVC 中,如同上面手动配置了HandlerMapping,最好把DefaultAnnotationHandlerMapping,BeanNameUrlHandlerMapping这两个都配置上,否则SpringMvc将不能解析http请求到Controller上。因为SpringMVC默认是会在HandlerMapping为空情况下自动注册这两个HandlerMapping,但是当你手动注册过任意HandlerMapping后,就不会再注册这两个HandlerMapping。

至此,SpringMVC的HandlerMapping(处理器映射器)学习笔记整理完毕。希望对大家有帮助。越分享越快乐。

标签: #映射处理器