1、在spring 3.0文档中,关于mvc:annotation-driven是:
“这个标签注册了 Spring MVC 将请求分派到 @Controllers 所需的 DefaultAnnotationHandlerMapping 和 AnnotationMethodHandlerAdapter bean。”
但我没有将此标签注入任何弹簧配置文件,我确信这一点。
那么为什么我的应用可以在没有它的情况下向@Controllers 发送请求呢?
2,在我的应用程序中注入mvc:default-servlet-handler处理静态资源后,所有控制器都不起作用,只是在网页上出现 404 not found 错误,但静态资源很好。
我搜索它发现可能是一个mvc:annotation-driven Lost。
不幸的是,在添加了mvc:annotation-driven后,自定义拦截器停止工作。这是拦截器定义:
<bean id="currentMemberInterceptor" class="com.skill.common.CurrentMemberInjectionInterceptor" />
<bean class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping">
<property name="interceptors">
<list>
<ref bean="currentMemberInterceptor" />
</list>
</property>
</bean>
如果拦截器定义更改为 mvc 标签,则拦截器可以工作,例如:
<mvc:interceptors>
<mvc:interceptor>
<mvc:mapping path="/" />
<bean class="com.skill.common.CurrentMemberInjectionInterceptor" />
</mvc:interceptor>
</mvc:interceptors>
阅读弹簧参考后,我无法理解这些标签和关系。
请帮忙,谢谢!