您的位置:首页 > 编程语言 > Java开发

为什么 在springmvc.xml 中 配置了<mvc:default-servlet-handler /> 一定要配置<mvc:annotation-driven >?

2017-04-23 20:45 561 查看
有没有遇到过这样的问题:为了解决SpringMVC不能调用 静态资源的问题,经常会需要在springmvc.xml中配置<mvc:default-servlet-handler/>,但是当配置了 <mvc:default-servlet-handler/> 解决了静态资源调用的问题时,而原来@RequestMapping(value="/path1") 配置的URL地址 不能正使用了,这是问题?

      其实这个问题很好解决: 只需要在springmvc.xml 中在配置一下 <mvc:annotation-driven/> 就OK了!

      这是问题?是不是很奇怪? 

   

下面我们就一探究竟。话不多说,先看图:



       ①. 当两种标签都没有的时候,框架默认注册的有AnnotationMethodHandlerAdapter这个bean,所以能够处理@RequestMapping这个注解。

②. 但是只配置了<mvc:default-servlet-handler/>时所注册的两个bean都不能处理@RequestMapping注解,因此无法找到相应的Controller,进而无法进行访问路径的映射,

           ③. 两种标签都有的时候,<mvc:annotation-driven/>会注册一个RequestMappingHandlerAdapter的bean,这个bean能够处理@RequestMapping这个注解。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐