2008-04-06
OpenSessionInViewFilter失效问题解决(SSH2)
关键字: opensessioninviewfilter 失效今天在用Hibernate延迟加载时,显示到界面出现如下问题:
org.hibernate.LazyInitializationException: could not initialize proxy - the owning Session was closed
原因: 在界面加载数据时, session已经关闭,故报此错. 此前的对象只是代理对象(只有ID值)
故使用Spring 里的 OpenSessionInViewFilter 来解决此问题
在web.xml里配置
<!--Hibernate Open Session in View 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>/*</url-pattern> </filter-mapping>
再测试, 问题依然存在,,, 纳闷....... 后来分析,再google... 终于发现问题出在Struts2上....
现在的web.xml里,我是把OpenSessionInViewFilter的配置放在Struts2后面的.
我更改下前后顺序, 神奇的解决了:) 正确的配置顺序如下:
<!--Hibernate Open Session in View Filter 注意要放在Struts2配置前面--> <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> <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>
发表评论
- 浏览: 7675 次
- 性别:

- 来自: 深圳

- 详细资料
搜索本博客
最近加入圈子
链接
最新评论
-
用JFreeChart实现简单的柱 ...
谢谢 环境什么的需要的jar包
-- by hero_2010 -
收藏 CSS JS VBS 参考手册
用firefox下载,解压了打开没东西,郁闷了半天,才发现是上级文件夹的原因。
-- by 树枝孤鸟 -
今天听到除JUnit外的另一 ...
你有关于dbunit的书籍吗??????
-- by liyxiang -
接触AppFuse!
嗯,对头。不过要先学习一下别人的经验。。自己才有能力去做这些东西! 虽然是框架组 ...
-- by ryan_ncu -
接触AppFuse!
Appfuse也是基于其他的开源框架组合而成,学习它到不如学习更底层的东西,然后 ...
-- by JaNer






评论排行榜