`

OpenSessionInViewFilter失效问题解决(SSH2)

 
阅读更多

今天在用Hibernate延迟加载时,显示到界面出现如下问题:
org.hibernate.LazyInitializationException: could not initialize proxy - the owning Session was closed

原因: 在界面加载数据时, session已经关闭,故报此错. 此前的对象只是代理对象(只有ID值)

故使用Spring 里的 OpenSessionInViewFilter 来解决此问题

在web.xml里配置

Xml代码:
  1. <!--Hibernate Open Session in View Filter-->   
  2. < filter >   
  3.      < filter-name > hibernateFilter </ filter-name >   
  4.      < filter-class > org.springframework.orm.hibernate3.support.OpenSessionInViewFilter </ filter-class >   
  5. </ filter >   
  6. < filter-mapping >   
  7.      < filter-name > hibernateFilter </ filter-name >   
  8.      < url-pattern > /* </ url-pattern >   
  9. </ filter-mapping >   

 

再测试, 问题依然存在,,, 纳闷....... 后来分析,再google... 终于发现问题出在Struts2上....

现在的web.xml里,我是把OpenSessionInViewFilter的配置放在Struts2后面的.

更改下前后顺序 , 神奇的解决了:)   正确的配置顺序如下:

 

Xml代码 :
  1. <!--Hibernate Open Session in View Filter 注意要放在Struts2配置前面-->   
  2. < filter >   
  3.      < filter-name > hibernateFilter </ filter-name >   
  4.      < filter-class > org.springframework.orm.hibernate3.support.OpenSessionInViewFilter </ filter-class >   
  5. </ filter >   
  6. < filter-mapping >   
  7.      < filter-name > hibernateFilter </ filter-name >   
  8.      < url-pattern > /* </ url-pattern >   
  9. </ filter-mapping >   
  10.   
  11. < filter >      
  12.      < filter-name > Struts2 </ filter-name >      
  13.      < filter-class > org.apache.struts2.dispatcher.FilterDispatcher </ filter-class >      
  14. </ filter >      
  15. < filter-mapping >      
  16.      < filter-name > Struts2 </ filter-name >      
  17.      < url-pattern > /* </ url-pattern >      
  18. </ filter-mapping >    
分享到:
评论

相关推荐

    OpenSessionInViewFilter

    OpenSessionInViewFilter个人学习总结

    关于OpenSessionInViewFilter的学习

    NULL 博文链接:https://yanzhenwei.iteye.com/blog/1701164

    OA项目SSH整合框架

    3,在web.xml中配置 spring 的 OpenSessionInView 过滤器(解决抛LazyInitializationException的问题) 1,配置 &lt;!-- 配置 spring 的 OpenSessionInView 过滤器 --&gt; &lt;filter-name&gt;OpenSessionInView ...

    SSH项目整合示例【OpenSessionInView】所用到的jar包

    SSH项目整合示例【OpenSessionInView】所用到的jar包 包含Struts + Hibernate + Spring所有jar及其依赖的jar

    Sping 事务管理.doc

    OpenSessionInViewFilter解决Web应用程序的问题

    Mac Mysql数据库中文乱码问题解决

    Mac 下MySQL数据库中文乱码解决方案: 当我们用框架进行数据库的存储操作时,经常会遇到中文乱码的问题。 如:在使用Java中得SSH框架时,我们需要在web.xml文件中配置编码的filter,具体代码是: ...

    spring_note.rar_inversion_spring concept

    课程内容 面向接口(抽象)编程的概念与好处 IOC/DI的概念与好处 inversion of control dependency injection AOP的概念与好处 ...opensessionInviewfilter(记住,解决什么问题,怎么解决) Spring JDBC

    jar包(struts2.0.8+spring2.0+hibernate3.2)

    struts2.0.8+spring2.0+hibernate3.2 jar包

    S2SH集成 案例

    该案例实现了一个简单的登录功能,但里面将S2SH集成的所有配置信息都添加进去了。 如,OpenSessionInViewFilter、声明式事务、三层等等

    struts+spring+hibernate整合

    Spring4.0、Struts2.3.15、Hibernate4.2.4、jQuery1.9.1涉及到了诸多开发时的细节:ModelDriven、Preparable 拦截器、编写自定义的类型转换器、Struts2 处理 Ajax、OpenSessionInViewFilter、迫切左外连接、Spring ...

    spring_demo:Spring MVC示范项目

    Spring MVC Hibernate Demo Hibernate 配置 数据库实体必须设置以下注解 @Entity ... &lt;filter&gt;org.springframework.orm.hibernate4.support.OpenSessionInViewFilter &lt;param&gt;flushMode&lt;/param-nam

    SPRING API 2.0.CHM

    All Classes ...Cglib2AopProxy.SerializableNoOp CglibSubclassingInstantiationStrategy ChainedExceptionListener ChainedPersistenceExceptionTranslator CharacterEditor CharacterEncodingFilter ...

Global site tag (gtag.js) - Google Analytics