SpringMVC--BeanNameUrlHandlerMapping详解

来源:互联网 发布:三星s7解网络锁工具 编辑:程序博客网 时间:2024/06/16 21:10

简述

SpringMVC框架中在定义URL与控制类之间的映射中有多种实现方式,比如org.springframework.web.servlet.handler.SimpleUrlHandlerMapping、
org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping、org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping等等。其中BeanNameUrlHandlerMapping就是接下来要讨论的方式。这个方式主要是将URL中的请求转换为Spring中的Bean的name,然后将这个请求交给name对应的控制类。

在网上查看博客的时候发现有这么一段话“如果没有明确声明任何处理器映射,spring会默认使用BeanNameUrlHandlerMapping,但如果明确声明了其它的处理器映射,则需要将BeanNameUrlHandlerMapping明确声明出来,而且在每个包含被映射的bean的配置文件中都要加入BeanNameUrlHandlerMapping,否则会抛异常:WARN - No mapping found for HTTP request with URI [/BOSS_SUPPORT/service/httpService] in DispatcherServlet with name 'backend'”,博客中并没有说明出现这个的原因,我的猜想是其他方式都是以当前讨论的BeanNameUrlHandlerMapping为基础,但是当配置了其他映射方式的时候就会自动取消BeanNameUrlHandlerMapping方式,而其他又是以这个为基础,所以需要配置。

应用实例