spring原攔截器配置與新命名空間mvc:interceptors配置攔截器對(duì)比與注意事項(xiàng)
來源:程序員人生 發(fā)布時(shí)間:2014-09-16 02:40:32 閱讀次數(shù):2648次
原先
,我們是這么配置攔截器的
<bean id="openSessionInViewInterceptor"class="org.springframework.orm.hibernate3.support.OpenSessionInViewInterceptor">
<property name="sessionFactory" ref="sessionFactory" />
</bean>
<beanclass="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping">
<property name="interceptors">
<list>
<ref bean="openSessionInViewInterceptor"/>
<bean class="com.jumbo.interceptor.MetaInfoInterceptor"/>
</list>
</property>
</bean>
原配置方式結(jié)合新命名空間mvc:interceptors配置方式:
<mvc:annotation-driven />
<!-- *************openSessionInViewInterceptor *************-->
<bean id="openSessionInViewInterceptor"class="org.springframework.orm.hibernate3.support.OpenSessionInViewInterceptor">
<property name="sessionFactory" ref="sessionFactory" />
</bean>
<!--
**************interceptors **************************
-->
<beanclass="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping">
<property name="interceptors">
<list>
<ref bean="openSessionInViewInterceptor" />
</list>
</property>
</bean>
<mvc:interceptors>
<mvc:interceptor>
<mvc:mapping path="/**/*.htm" />
<bean id="metaInfoInterceptor" class="com.jumbo.web.interceptor.MetaInfoInterceptor"/>
</mvc:interceptor>
</mvc:interceptors>
這樣對(duì)嗎???
由于<mvc:annotation-driven />會(huì)自動(dòng)注冊(cè)DefaultAnnotationHandlerMapping和AnnotationMethodHandlerAdapter兩個(gè)實(shí)例,
<span style="color:#FF6666;"><beanclass="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping"></span>
這兒又注冊(cè)一次導(dǎo)致導(dǎo)致沒有openSessionInViewInterceptor,產(chǎn)生了no session的 異常
所以:放棄原攔截器配置方式擁抱新的方法:
<mvc:annotation-driven />
<mvc:interceptors>
<!--*************openSessionInViewInterceptor ************* -->
<bean id="openSessionInViewInterceptor"class="org.springframework.orm.hibernate3.support.OpenSessionInViewInterceptor">
<property name="sessionFactory" ref="sessionFactory" />
</bean>
<mvc:interceptor>
<mvc:mapping path="/**/*.htm" />
<bean id="metaInfoInterceptor" class="com.jumbo.web.interceptor.MetaInfoInterceptor"/>
</mvc:interceptor>
</mvc:interceptors>
生活不易,碼農(nóng)辛苦
如果您覺得本網(wǎng)站對(duì)您的學(xué)習(xí)有所幫助,可以手機(jī)掃描二維碼進(jìn)行捐贈(zèng)