`
zc_888
  • 浏览: 19857 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
文章分类
社区版块
存档分类
最新评论

浅谈BeanNameUrlHandlerMapping

阅读更多

spring为我们提供了多种处理器映射的支持,比如org.springframework.web.servlet.handler.SimpleUrlHandlerMapping、

org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping、org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping,等等。

我用SimpleUrlHandlerMapping和DefaultAnnotationHandlerMapping比较多,其它的基本没用过。

最近在项目中使用了BeanNameUrlHandlerMapping,发现有这样一个现象:

如果没有明确声明任何处理器映射,spring会默认使用BeanNameUrlHandlerMapping,但如果明确声明了其它的处理器映射,则需要将BeanNameUrlHandlerMapping明确声明出来,而且在每个包含被映射的bean的配置文件中都要加入BeanNameUrlHandlerMapping,否则会抛异常:

WARN - No mapping found for HTTP request with URI [/BOSS_SUPPORT/service/httpService] in DispatcherServlet with name 'backend'
2010-01-08 11:14:57 [backend]:253 ERROR - Servlet.service() for servlet backend threw exception
java.io.IOException: Did not receive successful HTTP response: status code = 404, status message = [Not Found]

从异常看,报告没有找到相应的映射地址,这个现象很是奇怪,也许是我没有搞清楚,不过在网上也没有找到相关的说明,希望高手指点。

相关配置文件如下:

主配置文件a.xml:

<!-- 定义注解URL映射处理器 -->
<bean id="urlMapping"
class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping">
<property name="interceptors" ref="interceptors" />
<property name="order" value="1"></property>
</bean>

<bean id="beanNameUrlHandlingMapping" class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping">
<property name="interceptors" ref="interceptors" />
<property name="order" value="2"></property>
</bean>

包含映射的一个配置文件b.xml:

<bean id="httpService" name="/httpService" class="org.springframework.remoting.httpinvoker.HttpInvokerServiceExporter">
<property name="service">
<ref bean="ucService" />
</property>
<property name="serviceInterface" value="com.netqin.baike.service.UcService"/>
</bean>

以上两个文件都在服务器启动时加载,虽然a.xml中已经声明了BeanNameUrlHandlerMapping,但如果b.xml中没有声明BeanNameUrlHandlerMapping,系统就会抛异常。

分享到:
评论

相关推荐

    第二课:通过MVC原理,自定义MVC框架实现1

    分别是:RequestMappingHandlerMapping与BeanNameUrlHandlerMapping实现组成结构:RequestMappingH

    SPRING API 2.0.CHM

    BeanNameUrlHandlerMapping BeanNameViewResolver BeanNotOfRequiredTypeException BeanPostProcessor BeanPropertyBindingResult BeanPropertySqlParameterSource BeanReference BeansDtdResolver ...

    Spring 2.0 开发参考手册

    13.4.1. BeanNameUrlHandlerMapping 13.4.2. SimpleUrlHandlerMapping 13.4.3. 拦截器(HandlerInterceptor) 13.5. 视图与视图解析 13.5.1. 视图解析器 13.5.2. 视图解析链 13.5.3. 重定向(Rediret)到另一个...

    spring chm文档

    13.4.1. BeanNameUrlHandlerMapping 13.4.2. SimpleUrlHandlerMapping 13.4.3. 拦截器(HandlerInterceptor) 13.5. 视图与视图解析 13.5.1. 视图解析器 13.5.2. 视图解析链 13.5.3. 重定向(Rediret)到另一个...

    Spring中文帮助文档

    13.4.1. BeanNameUrlHandlerMapping 13.4.2. SimpleUrlHandlerMapping 13.4.3. 拦截器(HandlerInterceptor) 13.5. 视图与视图解析 13.5.1. 视图解析器(ViewResolver) 13.5.2. 视图解析链 13.5.3. 重定向...

    Spring API

    13.4.1. BeanNameUrlHandlerMapping 13.4.2. SimpleUrlHandlerMapping 13.4.3. 拦截器(HandlerInterceptor) 13.5. 视图与视图解析 13.5.1. 视图解析器(ViewResolver) 13.5.2. 视图解析链 13.5.3. 重定向...

    Spring-Reference_zh_CN(Spring中文参考手册)

    13.4.1. BeanNameUrlHandlerMapping 13.4.2. SimpleUrlHandlerMapping 13.4.3. 拦截器(HandlerInterceptor) 13.5. 视图与视图解析 13.5.1. 视图解析器 13.5.2. 视图解析链 13.5.3. 重定向(Rediret)到另一个视图 ...

Global site tag (gtag.js) - Google Analytics