在SSH框架中如果Dao组件继承的是HibernateDaoSupport类,在这种方式下,对象的加载方式是延迟加载,所以如果要在表现层即action中调用逻辑组件,会出现异常如:the owning Session was closed 就是在表现层调用Dao组件时session已经关闭,这是采用延迟加载造成的,由于Spring控制的Hibernate的生命周期只针对数据层和服务层,而未管理到表现层,所以会出现the owning Session was closed的现象。
解决办法:在web.xml中加入这样的代码:
解决办法:在web.xml中加入这样的代码:
<filter>
<filter-name> OpenSessionInViewFilter </filter-name>
<filter-
class>org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</filter-class>
</filter>
<filter-mapping>
<filter-name> OpenSessionInViewFilter </filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>