OpenSessionInViewFilter失效

来源:互联网 发布:网络药品销售促成技巧 编辑:程序博客网 时间:2024/04/24 15:59
  1.     <filter>
  2.         <filter-name>openSessionInViewFilter</filter-name>
  3.         <filter-class>
  4.             org.springframework.orm.hibernate3.support.OpenSessionInViewFilter
  5.         </filter-class>
  6.     </filter>
  7.     <filter>
  8.         <filter-name>struts2</filter-name>
  9.         <filter-class>
  10.             org.apache.struts2.dispatcher.FilterDispatcher
  11.         </filter-class>
  12.     </filter>
  13.     <filter>
  14.         <filter-name>struts2-cleanup</filter-name>
  15.         <filter-class>
  16.             org.apache.struts2.dispatcher.ActionContextCleanUp
  17.         </filter-class>
  18.     </filter>
  19.     <!-- Filter Mapping -->
  20.     <!-- OpenSessionInView 配置在struts的mapping前面-->
  21.     <filter-mapping>
  22.         <filter-name>openSessionInViewFilter</filter-name>
  23.         <url-pattern>/*</url-pattern>
  24.     </filter-mapping>
  25.     <!--struts 配置在opensessionInview mapping的后面  -->
  26.     <filter-mapping>
  27.         <filter-name>struts2</filter-name>
  28.         <url-pattern>/*</url-pattern>
  29.     </filter-mapping>
  30.     <filter-mapping>
  31.         <filter-name>struts2-cleanup</filter-name>
  32.         <url-pattern>/*</url-pattern>
  33.     </filter-mapping>

 保证OpenSessionInViewFilter在strust Action之前执行

 

 

值得注意的是: 如果

<bean id="mySessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
        <property name="dataSource">
             <ref local="dataSource" />
         </property>

 

id 不是"sessionFactory" 而是其他名字  需要在配OpenSessionInViewFilter的时候指出

 

<filter>
        <filter-name>openSessionInViewFilter</filter-name>
        <filter-class>
            org.springframework.orm.hibernate3.support.OpenSessionInViewFilter
        </filter-class>
        <init-param>
            <param-name>sessionFactoryBeanName</param-name>
            <param-value>mySessionFactory</param-value>
        </init-param>
    </filter>