spring原攔截器配置與新名稱空間mvc:interceptors配置攔截器對比與注意事項
阿新 • • 發佈:2019-01-29
原先,我們是這麼配置攔截器的
這樣對嗎??? 產生了no session的異常
<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>
<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>
這樣對嗎???
由於<mvc:annotation-driven />會自動註冊DefaultAnnotationHandlerMapping和AnnotationMethodHandlerAdapter兩個例項,
<span style="color:#FF6666;"><beanclass="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping"></span>
這兒又註冊一次導致導致沒有openSessionInViewInterceptor,所以:放棄原攔截器配置方式擁抱新的方法:
<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>