struts+Spring+Hibernate中(the owning Session was closed错误)

        用业务层调用DAO的方法取得数据后放在List中,并且把List传给前台页面时,有错 Could not initialize proxy - the owning Session was closed!

       是由hibernate的lazy机制导制的,详细情况我就不多说了,网上有很多这方面的资料

         解决办法1,就是在many-to-one 中加入 lazy="false"  ,这个方法我试过,行的通

        解决办法2,在web.xml文件中配置filter来解决.
 <!--  hibernate session filter  -->
  < 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 > *.do </ url-pattern >
  </ filter-mapping >

 我们的系统架构是struts+spring+hibernate,struts跟spring的整合是在struts-config.xml里加了个plugin:
        <plug-in
        className="org.springframework.web.struts.ContextLoaderPlugIn">
        <set-property property="contextConfigLocation"
        value="classpath*:spring/**/*.xml" />
        </plug-in>
在web.xml中配置hibernateFilter 后,还需要在struts-config.xml里把plugin去掉,在web.xml里加上如下代码:
<!--Spring ApplicationContext-->
    <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>

  但此方法还没有试过。

听说还有几个方法可以解决

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值