`
yangmeng_3331
  • 浏览: 91656 次
  • 性别: Icon_minigender_1
  • 来自: 天津
社区版块
存档分类
最新评论

OpenSessionInViewFilter失效问题

阅读更多
我在ssh2框架下使用OpenSessionInViewFilter过滤器,让spring控制session的开关。出现了使用lazy特性读取属性的时候报错说,no session or session was close.
经过反复的查找和测试发现问题,tomcat容器在加载过滤器的时候是按照数序加载的,他在写配置文件的时候先写的是struts2的过滤器配置,然后才是OpenSessionInViewFilter过滤器配置,所以加载的顺序导致,action在获得数据的时候session并没有被spring管理,导致的问题的延续。

解决办法将OpenSessionInViewFilter配置写在struts2的配置前面,发布,测试,搞定了,以后提醒自己多注意一些细节了。
分享到:
评论

相关推荐

    关于OpenSessionInViewFilter的学习

    OpenSessionInViewFilter是Spring框架中一个非常重要的组件,主要用于解决数据访问层(DAO)与视图层(View)之间的事务管理问题。在Web应用中,由于HTTP请求的无状态性,一次请求通常由多个Servlet过滤器、控制器和...

    OpenSessionInViewFilter

    OpenSessionInViewFilter个人学习总结

    懒加载异常解决.docx

    - 在高并发场景下,需要注意OpenSessionInViewFilter可能会导致的性能问题,因为它使得Session的生命周期变长,增加了Session占用资源的时间。 - 如果项目中同时使用了其他Session管理机制,需要确保它们之间不会...

    Sping 事务管理.doc

    OpenSessionInViewFilter解决Web应用程序的问题

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

    OpenSessionInView(OSIV)模式是SSH整合中常见的一种优化策略,它在用户的一次HTTP请求过程中保持Hibernate Session,避免了多次打开和关闭Session,减少了N+1查询问题,提高了性能。 **Spring** 是一个全面的企业...

    Spring提供的CharacterEncoding和OpenSessionInView功能

    在处理Web应用时,Spring提供了一些关键特性,如`CharacterEncodingFilter`和`OpenSessionInViewFilter`,它们对于解决特定问题至关重要。 首先,让我们深入了解一下`CharacterEncodingFilter`。在Web应用中,字符...

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

    在实际项目中,这样的集成方案可以帮助开发团队快速开发出高效、稳定的Java Web应用,但同时也需要注意版本兼容性、性能优化以及安全问题。例如,Struts2框架在后续版本中修复了一些安全漏洞,因此在使用旧版本时需...

    hibernate 中 fetch=FetchType.LAZY 懒加载失败处理方法

    为了解决这个问题,我们可以使用 Spring 提供的一个支持类OpenSessionInViewFilter,这个类可以在发起一个页面请求时打开 Hibernate 的 Session,并保持这个 Session 的生命周期,直到这个请求结束。这样可以确保 ...

    过滤器对于session周期的控制

    但是,如果设置为`false`,则每次执行数据库操作时都会创建一个新的Session,这可能导致性能问题以及难以管理的Session生命周期。 #### 总结 综上所述,`OpenSessionInViewFilter`是Spring提供的一个强大工具,...

    Spring hibernate opensessioninview

    该模式的核心在于通过Spring提供的`OpenSessionInViewFilter`过滤器,在视图渲染过程中保持Hibernate Session的打开状态,从而简化了事务管理,并避免了一些常见的懒加载异常。 #### 一、OpenSessionInViewFilter...

    三大框架整合常见问题

    ### 三大框架整合常见问题详解 #### 一、三大框架整合背景及意义 在Java Web开发领域中,SSH(Struts + Spring + Hibernate)是一种非常流行的组合方式,它结合了Struts视图层的灵活性、Spring业务逻辑层的强大...

    spring监听器

    1. **OpenSessionInViewFilter**:这是一个由Spring提供的过滤器,用于解决在Web应用程序中使用Hibernate时常见的问题——事务管理。当用户发起一个HTTP请求时,OpenSessionInViewFilter会在请求开始时打开一个新的...

    struts-hibernate-sprint开发详解 乱码问题 连接池

    同时,配置`OpenSessionInViewFilter`(懒加载过滤器)以处理Hibernate的懒加载问题。接着,配置Struts2的FilterDispatcher,确保所有请求都被Struts2拦截和处理。 最后,`applicationContext.xml`是Spring的核心...

    使用Spring引起的错误

    #### 问题背景 在使用Spring框架时,特别是在与Hibernate结合的情况下,可能会遇到“Write operations are not allowed in read-only mode (FlushMode.NEVER)”这样的异常。这个问题通常发生在使用Spring提供的Open...

    我的智囊团(SSH)_04_开发提问及回复功能_上

    OpenSessionInViewFilter的主要作用是在HTTP请求的生命周期内保持一个Hibernate的Session,确保在视图层(例如JSP页面)也能访问到数据库会话,解决了“懒加载”问题,避免了因为请求结束而关闭Session导致的数据...

    JavaEE技术面试常见问题.doc

    7. **OpenSessionInViewFilter的使用** - 用于解决懒加载问题。 8. **Hibernate检索方式** - **HQL**:面向对象的查询语言。 - **Criteria**:灵活构建查询条件。 - **Native SQL**:直接使用SQL。 #### ...

    Open_Session_In_View详解.doc

    在使用Hibernate进行对象持久化时,经常遇到的一个问题是关于懒加载(lazy loading)的处理。懒加载是一种优化技术,允许在真正需要某个关联对象的数据时才加载它们,而不是一开始就加载所有相关联的数据。这种策略...

    Hibernate事务管理.

    当请求处理完毕后,通过`OpenSessionInViewFilter`或`OpenSessionInViewInterceptor`,Session会在合适的时机被自动关闭,释放资源。 `OpenSessionInViewInterceptor`是在Spring的MVC环境中配置的拦截器,它需要在`...

    Struts2+Spring+hibernate中对action的单元测试环境搭建[总结].pdf

    解决这个问题的方法有两种:一种是在 web.xml 中使用 Spring 提供的 OpenSessionInViewFilter,另一种是在 application.xml 中配置 OpenSessionInViewFilter。前者通用,后者只能用于 SpringMVC 结构中。 最后,...

    spring框架登录初始化数据与struct2权限设置等相关知识

    为了避免这类问题,通常采用`OpenSessionInViewFilter`来处理懒加载问题。 - **OpenSessionInViewFilter的工作原理**: - **线程绑定**:`OpenSessionInViewFilter`的主要作用是将`HibernateSession`绑定到当前...

Global site tag (gtag.js) - Google Analytics