使用OpenSessionInViewFilter延时session关闭后无法启用事务

来源:互联网 发布:vb datagrid 自动列宽 编辑:程序博客网 时间:2024/09/21 09:22

要将配置文件放到contextConfigLocation,作为根上下文

    <context-param>          <param-name>contextConfigLocation</param-name>          <param-value>              classpath:spring-*.xml        </param-value>      </context-param> <listener>           <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>     </listener>    <!-- session延时关闭 -->    <filter>        <filter-name>OpenSessionInViewFilter</filter-name>        <filter-class>org.springframework.orm.hibernate4.support.OpenSessionInViewFilter</filter-class>        <init-param>            <param-name>singleSession</param-name>            <param-value>true</param-value>        </init-param>        <init-param>            <param-name>sessionFactory</param-name>            <param-value>sessionFactory</param-value>        </init-param>    </filter>    <filter-mapping>          <filter-name>OpenSessionInViewFilter</filter-name>          <url-pattern>/*</url-pattern>      </filter-mapping>

而不能放在DispatcherServlet

<servlet>    <servlet-name>项目名</servlet-name>    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>    <init-param>          <param-name>contextConfigLocation</param-name>            <param-value>                 classpath:/spring-*.xml            </param-value>    </init-param>    <load-on-startup>1</load-on-startup>  </servlet>  <servlet-mapping>    <servlet-name>项目名</servlet-name>    <url-pattern>/</url-pattern>  </servlet-mapping>

具体原因不清楚,知道以后再回来补充

0 0
原创粉丝点击