在使用Struts2+spring+hibernate3时,发现在web.xml配置的OpenSessionInViewFilter失效,使用load方法加载数据时,仍然会报“could not initialize proxy - the owning Session was closed“异常,后来在web.xml里面,把OpenSessionInViewFilter放在struts2的配置前,问题得到解决。配置如下:
<!-- OpenSessionInViewFilter--> <filter> <filter-name>hibernateFilter</filter-name> <filter-class> org.springframework.orm.hibernate3.support.OpenSessionInViewFilter </filter-class> </filter> <filter-mapping> <filter-name>hibernateFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <!--Struts2--> <filter> <filter-name>Struts2</filter-name> <filter-class> org.apache.struts2.dispatcher.FilterDispatcher </filter-class> </filter> <filter-mapping> <filter-name>Struts2</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>