为什么 在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这个注解。
其实这个问题很好解决: 只需要在springmvc.xml 中在配置一下 <mvc:annotation-driven/> 就OK了!
这是问题?是不是很奇怪?
下面我们就一探究竟。话不多说,先看图:
①. 当两种标签都没有的时候,框架默认注册的有AnnotationMethodHandlerAdapter这个bean,所以能够处理@RequestMapping这个注解。
②. 但是只配置了<mvc:default-servlet-handler/>时所注册的两个bean都不能处理@RequestMapping注解,因此无法找到相应的Controller,进而无法进行访问路径的映射,
③. 当两种标签都有的时候,<mvc:annotation-driven/>会注册一个RequestMappingHandlerAdapter的bean,这个bean能够处理@RequestMapping这个注解。
相关文章推荐
- 为什么 在springmvc.xml 中 配置了<mvc:default-servlet-handler /> 一定要配置<mvc:annotation-driven >
- 为什么 在springmvc.xml 中 配置了<mvc:default-servlet-handler /> 一定要配置<mvc:annotation-driven >?
- spring中配置<mvc:default-servlet-handler />后必须配置<mvc:annotation-driven/>的问题
- springMVC配置文件spring-servlet.xml中<mvc:annotation-driven />的意义
- SpringMVC系列(十)<mvc:default-servlet-handler/>(处理静态资源)和<mvc:annotation-driven />
- 架构搭起后 为了实现 对静态资源文件的访问 spring_mvc.xml 添加<mvc:default-servlet-handler /> 但却再也无法访问到controller
- SpringMVC——静态资源访问之<mvc:annotation-driven/>与<mvc:default-servlet-handler/>
- <mvc:annotation-driven/>与<mvc:default-servlet-handler/>之间的一个问题
- <mvc:annotation-driven/>与<mvc:default-servlet-handler/>问题
- <mvc:annotation-driven/>与<mvc:default-servlet-handler/>之间的一个问题
- 使用SpringMVC 配置<mvc:default-servlet-handler/> 报错
- 使用@Controller注解为什么要配置<mvc:annotation-driven />
- 160331、使用@Controller注解为什么要配置<mvc:annotation-driven />
- Spring配置 <context:component-scan/> <mvc:annotation-driven />
- 使用@Controller注解为什么要配置<mvc:annotation-driven />
- 使用@Controller注解为什么要配置<mvc:annotation-driven />
- 使用@Controller注解为什么要配置<mvc:annotation-driven />
- springMVC <mvc:default-servlet-handler /> 导致controller无效
- Spring配置文件详解:<context:annotation-config/>和<context:component-scan base-package=""/>和<mvc:annotation-driven />
- spring mvc <mvc:annotation-driven>配置使用出现故障