<mvc:annotation-driven/>与<mvc:default-servlet-handler/>之间的一个问题
2016-04-03 15:54
351 查看
在做项目的时候,我希望静态资源由WEB服务器默认的Servlet来处理,所以我在配置文件中添加了如下的语句:
<mvc:default-servlet-handler/>
但是我再次运行项目,并访问资源的时候,发现访问@RequestMapping("/path1/path2")都不能访问了,之前没有添加的时候是能够访问的。
解决方案是,在配置文件中再添加一句代码:
<mvc:annotation-driven/>
这样做的原因是:
当两种标签都没有的时候,框架默认注册的有AnnotationMethodHandlerAdapter这个bean,所以能够处理@RequestMapping这个注解,但是只配置了<mvc:default-servlet-handler/>时所注册的三个bean都不能处理@RequestMapping注解,因此无法找到相应的Controller,进而无法进行访问路径的映射,当两种标签都有的时候,<mvc:annotation-driven/>会注册一个RequestMappingHandlerAdapter的bean,这个bean能够处理@RequestMapping这个注解。
<mvc:default-servlet-handler/>
但是我再次运行项目,并访问资源的时候,发现访问@RequestMapping("/path1/path2")都不能访问了,之前没有添加的时候是能够访问的。
解决方案是,在配置文件中再添加一句代码:
<mvc:annotation-driven/>
这样做的原因是:
当两种标签都没有的时候,框架默认注册的有AnnotationMethodHandlerAdapter这个bean,所以能够处理@RequestMapping这个注解,但是只配置了<mvc:default-servlet-handler/>时所注册的三个bean都不能处理@RequestMapping注解,因此无法找到相应的Controller,进而无法进行访问路径的映射,当两种标签都有的时候,<mvc:annotation-driven/>会注册一个RequestMappingHandlerAdapter的bean,这个bean能够处理@RequestMapping这个注解。
相关文章推荐
- oracle ocp 学习day4总结(对象的基本操作)
- LC77 Combinations
- ARM Cortex-A 编程手册学习笔记
- Android网络与数据存储_学习笔记_第六周:SQLite与ContentProvider
- 利用冒泡排序的思想对符合格式的时间字符串进行排序
- JAVA虚拟机-JMM内存模型(六)
- Java常见异常总结
- Linux目录结构和常用命令
- 欢迎使用CSDN-markdown编辑器
- 那些C++牛人的博客
- API集合框架-Set集合之HashSet
- 特殊字符\u2028导致的Javascript脚本异常
- 泪儿嗒
- 被事务代理的spring service 使用注解方式发布Dubbo服务
- Java I/O 模型的演进
- Android 百度地图API 定位 导航
- 陪伴
- strcpy的使用以及注意事项
- ccf题解
- 素数对猜想