Spring学习点滴,《Spring in Action》笔记(五) - 编程入门网
rMapping、ViewResolver等的方法就在 DispatcherServlet.initFrameworkServlet() 方法中,依次调用的是:
initMultipartResolver(); initLocaleResolver(); initThemeResolver(); initHandlerMappings(); initHandlerAdapters(); initHandlerExceptionResolvers(); initViewResolvers(); 我们看 initViewResolvers(); 的实现,如果 detectAllViewResolvers(默认为 true) 为 true 的话 就从 Spring 配置(unmi-servlet.xml)中获取所有类型为 ViewResolver 的 Bean,否则就只获取名为 VIEW_RESOLVER_BEAN_NAME(即“viewResolver”) 的 ViewResolver(视图解析器)。初始化 HandlerMapping的原则也是一样的。(P248) Spring学习点滴,《Spring in Action》笔记(五)(3)时间:2011-08-18 unmi.cc 隔叶黄莺77. 有三种类型的请求映射控制器,实现的是 HandlerMapping 接口 BeanNameUrlHandlerMapping -- 根据控制器的名字将控制器映射到 URL SimpleUrlHandlerMapping -- 用上下文配置文件中定义的属性集合将控制器映射到 URL CommonsPathMapHandlerMapping -- 使用控制器代码中的元数据将控制器映射到 URL DispatcherServlet 缺省映射处理器是 BeanNameUrlHandlerMapping,它将表现层 URL 和控制器名字 绑定起来了, Spring 不建议使用这个映射处理器,建议用 SimpleUrlHandlerMapping。可是我觉得用 BeanNameUrlHandlerMapping 挺方便的啊(P250) 78. 使用 SimpleUrlHandlerMapping 的配置,需要将系统中用到的 URL 一一逻列出来(P251) <bean id="simpleUrlMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping"> <property name="mappings"> <props> <prop key="/listCourse.html">listCoursesController</prop> <prop key="/register.htm">registerStudentController</prop> </props> </peroperty></bean> 79. 使用 CommonsPathMapHandlerMapping 需要为 Controller 类注解上 PathMap 属性为一个 URL。 是否用注解还是用配置文件一直存在争议,而我是不喜欢把配置的东西放到源代码中,这像是在硬编码, 所以应该不会考虑用这种方式。(P252) 80. 可用同时配置多映射处理器,通过配置它们实现的 Ordered 接口的 order 属性, DispatcherServlet 按顺序采用哪个映射处理器(责任链模式) |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |