在web.xml文件中配置OpenSessionInViewFilter
<!---->
<filter>
<filter-name>hibernateFilter</filter-name>
<filter-class>
org.springframework.orm.hibernate3.support.OpenSessionInViewFilter
</filter-class>
</filter>
在spring的事务配置中:
<!----><aop:config>
<aop:advisor id="managerTx" advice-ref="txAdvice"
pointcut="execution(* *..service.*Manager.*(..))" order="2" />
</aop:config>
<tx:advice id="txAdvice">
<tx:attributes>
<tx:method name="get*" read-only="true" />
<tx:method name="find*" read-only="true" />
<tx:method name="*" />
</tx:attributes>
</tx:advice>
这样的配置,当在容器中通过action调用service代码保存对象时,不能成功保存对象,
同时出现如下类似错误:
<!---->Write operations are not allowed in read-only mode (FlushMode.NEVER/MANUAL): Turn your Session into
FlushMode.COMMIT/AUTO or remove 'readOnly' marker from transaction definition.
这时修改filter的配置,增加如下代码:
<!----> <filter>
<filter-name>hibernateFilter</filter-name>
<filter-class>
org.springframework.orm.hibernate3.support.OpenSessionInViewFilter
</filter-class>
<init-param>
<param-name>singleSession</param-name>
<param-value>false</param-value>
</init-param>
</filter>
这样就能成功保存对象了。
===================================================================
额。。。上面那个配置等于不用OpenSessionInViewFilter。。。 没意义。。
分享到:
相关推荐
OpenSessionInViewFilter是Spring框架中一个非常重要的组件,主要用于解决数据访问...这个文档应该包含了OpenSessionInViewFilter的源码分析、配置示例以及常见问题的解答,对理解该过滤器的功能和工作原理非常有帮助。
涉及到了多个知识点,包括 Spring 配置、Hibernate 配置、Struts2 配置、ConnectionPool 配置、数据库配置、事务管理、OpenSessionInViewFilter 配置、web.xml 配置、依赖注入、Struts2 和 Spring 整合、Hibernate ...
- **Hibernate OpenSessionInViewFilter**:开启事务,确保在视图层操作时,Hibernate会话保持打开状态,通常需置于Struts2 Filter之前。 #### 三、常见问题与解决方案 - **包的导入冲突**:在构建SSH框架时,...
在`web.xml`中配置Spring监听器以初始化Spring容器,并添加`OpenSessionInViewFilter`以解决懒加载问题: ```xml <listener-class>org.springframework.web.context.ContextLoaderListener <filter-name>...
### SSH配置总结与部署步骤详解 #### 一、SSH框架简介 SSH框架是Java Web开发领域内非常流行的一种组合...以上就是关于SSH框架部署的基本步骤及注意事项的详细介绍。希望对正在学习或使用SSH框架的开发者有所帮助。
为了实现事务的一致性,通常会在`web.xml`中配置一个过滤器,用以开启Session的生命周期与HTTP请求的生命周期相匹配,即`OpenSessionInViewFilter`: ```xml <filter-name>hibernateOpenSessionInViewFilter ...
以下是对SSH整合环境配置的详细说明: 1. **Spring配置**: - `ContextLoaderListener` 是一个监听器,用于在Web应用启动时加载Spring的IoC(Inversion of Control)容器。它会查找`contextConfigLocation`指定的...
在SSH配置中,SSH指的是Struts2、Spring和Hibernate三个开源框架的组合,它们协同工作以构建企业级的Java Web应用程序。Struts2负责MVC(模型-视图-控制器)架构,Spring提供依赖注入和事务管理,而Hibernate则作为...
### Spring框架中常用的配置 #### 一、Spring框架配置概述 Spring框架作为一款非常流行的Java企业级应用开发框架,提供了大量的功能与配置选项来帮助开发者更高效地进行软件开发。在Spring框架中,配置是非常核心...
SSH+Flex配置是一种常见的Java Web开发技术组合,用于构建高效、可扩展的Web应用程序。SSH分别代表Struts2(一个MVC框架)、Hibernate(一个对象关系映射框架)和Spring(一个全面的企业级应用框架)。Flex是Adobe...
- **Hibernate 会话管理**:同样通过 `<filter>` 和 `<filter-mapping>` 配置了 `OpenSessionInViewFilter`,用于管理 Hibernate 的会话生命周期。`singleSession` 参数被设置为 `true` 表示使用单一会话模式,即每...
这是Spring针对Hibernate的非JPA实现使用的`OpenSessionInViewFilter`的JPA版本。 #### 2. applicationContext.xml配置详解 `applicationContext.xml`是Spring的基本配置文件之一,主要用于配置数据源、JPA实体...
本文将深入解析SSH框架整合的配置文件,旨在为开发者提供全面的理解与指导。 ### SSH框架整合的核心:配置文件 #### 1. **web.xml** —— Servlet容器的配置文件 `web.xml`是Web应用程序的核心配置文件,用于配置...
- `<filter-class>org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</filter-class>`:OSIV模式允许在视图层(如JSP)处理请求时仍然保持数据库会话,以解决延迟绑定问题。`...
在`web.xml`中,Struts2的配置通过`StrutsPrepareAndExecuteFilter`进行,而Spring与Hibernate的集成则通过`OpenSessionInViewFilter`实现。这些配置保证了请求到达时,Struts2能正确处理请求,同时Spring能够管理和...
在给定的文件信息中,虽然标题和描述指向了“SSH配置文件”,但【部分内容】却涉及到了Struts2、Spring、Hibernate这三个框架在Web项目中的集成与配置。因此,以下将围绕这部分内容进行深入解析,详细介绍如何在Web...
- 此段配置将`OpenSessionInViewFilter`过滤器应用于所有的`.action`请求。 ##### 4. Struts2配置 ```xml <filter-name>struts2 <filter-class>org.apache.struts2.dispatcher.FilterDispatcher ``` - `...
本篇将深入讲解Java Servlet过滤器的配置,包括`EncodingFilter`类的使用、jsp页面配置以及`web.xml`文件的配置。 首先,`EncodingFilter`是一个常见的过滤器,主要用于解决HTTP请求和响应中的编码问题。在处理中文...
例如,在上面的例子中,`OpenSessionInViewFilter`被配置在`webwork`过滤器之前,这是为了确保在处理Struts2相关的请求之前,Session已经被打开。 #### 单个Session vs 多个Session 当`singleSession`参数设置为`...