定义多个handel mapping和ViewResolver
1. 定义多个handel mapping
Spring 的org.springframework.core包里面有个Ordered的接口,这个接口有个未实现的方法是public int getOrder();我理解这个接口的意义就是让实现它的类有者顺序关系,Spring提供的所以handelmapping类都是实现了Ordered接口的,这说明了所有的handelmapping类都有着顺序关系,所以在同一个WebApplication中可以定义多个handelmapping,每个handelmapping都有自己的order值,值越小的优先权越大,系统先会用优先权最大的的去做mapping,如果找不到资源的话,再用下一个级别的mapping去找!
例如:
<bean id="beanNameUrlMapping" class="org.springframework.web.
servlet.handler.BeanNameUrlHandlerMapping">
<property name="order"><value>1</value></property>
</bean>
<bean id="simpleUrlMapping" class="org.springframework.web.
servlet.handler.SimpleUrlHandlerMapping">
<property name="order"><value>0</value></property>
<property name="mappings">
…
</property>
</bean>
以上的例子表示simpleUrlMapping的优先权大于beanNameUrlMapping,系统先用simpleUrlMapping去找资源,找不到再用beanNameUrlMapping去找一次。
2. 定义多个ViewResolver
和定义handel mapping类似,也是通过定义ViewResolver的order属性来定义ViewResolver的优先权,但我不理解的是ViewResolver并没有实现Ordered接口,不知道他的order属性从何而来。
Spring in Action给出的例子:
<bean id="viewResolver" class=
"org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix"><value>/WEB-INF/jsp/</value></property>
<property name="suffix"><value>.jsp</value></property>
<property name="order"><value>1</value></property>
</bean>
<bean id="xmlFileViewResolver" class=
"org.springframework.web.servlet.view.XmlFileViewResolver">
<property name="location">
<value>/WEB-INF/views.xml</value>
</property>
<property name="order"><value>2</value></property>
</bean>
发表评论
- 浏览: 84495 次
- 性别:

- 来自: 北京

- 详细资料
搜索本博客
最近加入圈子
最新评论
-
Static初始化代码快访问st ...
当然啦,final型常量只能被赋值一次
-- by Chihom -
Tomcat 5.5不能使用EL表达 ...
請在web.xml修改XSD<?xml version="1.0" enc ...
-- by trowa -
一个通用的泛型GenericH ...
谢谢!使用中!
-- by sangood -
Spring AOP四种创建通知( ...
我一直想知道如何拦截某个类中特定的方法,而不是所有的方法?
-- by yourgame -
HashTable和HashMap的区 ...
这么多总结,还算你的这个不错,谢谢,学习
-- by lysmart_8






评论排行榜