码迷,mamicode.com
首页 > Web开发 > 详细

Interceptor 与 <mvc:annotation-driven /> 的冲突

时间:2014-11-26 01:32:18      阅读:293      评论:0      收藏:0      [点我收藏+]

标签:io   ar   os   使用   sp   on   bs   ad   ef   

第一次写,希望大神们呵呵即可。


最近在学习拦截器,没想到刚开始就碰到难题了。我明明配置好了拦截器,但是丝毫没有起作用,百思不得其解。

这是起初的配置:

<context:component-scan base-package="sin.cara.controller" />
    
     <mvc:annotation-driven />  

     <bean
        class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping">
        <property name="interceptors">
            <list>
                <ref bean="myInterceptor"/>
            </list>
        </property>
    </bean> 

     <bean id="myInterceptor" class="sin.cara.interceptors.MyInterceptors"/>    

    <bean id="viewResolver"
        class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="prefix" value="/WEB-INF/views" />
        <property name="suffix" value=".jsp" />
    </bean>

这是修改后的配置:

<context:component-scan base-package="sin.cara.controller" />

    
<bean class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping"> 
   <property name="interceptors"> <list> <ref bean="myInterceptor" /> </list> 
   </property> 
</bean> 
<bean id="myInterceptor" class="sin.cara.interceptors.MyInterceptors"> 
</bean> 

 <bean
    class="org.springframework.web.servlet.view.InternalResourceViewResolver">
    <property name="prefix" value="/WEB-INF/views/" />
    <property name="suffix" value=".jsp" />
</bean>

细心的看官也许发现了不同之处,是的,少了

<mvc:annotation-driven />

居然可以成功拦截。

原因是因为

<mvc:annotation-driven />

会自动为我们注册DefaultAnnotationHandlerMapping 与AnnotationMethodHandlerAdapter 这两个bean。所以第一种配置无法注入  interceptors属性,就不能指定拦截器。

当使用这种配置时

<mvc:interceptors> 
    <bean class="sin.cara.interceptors.MyInterceptors" /> 
</mvc:interceptors>

使不使用

<mvc:annotation-driven />

都没关系,都会成功拦截。还没弄明白这是为什么,希望OSCER们能帮我我解答。

Interceptor 与 <mvc:annotation-driven /> 的冲突

标签:io   ar   os   使用   sp   on   bs   ad   ef   

原文地址:http://my.oschina.net/u/782633/blog/348757

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!