`

struts2、spring和hibernate整合时遇到的一些问题

 
阅读更多

1.Action对象的产生问题(struts2本身产生好呢?还是让spring代替struts2产生好呢?)

答:这个问题是关于struts2spring的整合问题,需要用到struts2struts2-spring-plugin.jar

如果让struts2本身产生actionaction中的set方法struts2会根据这个jar包自动注入(不需要通过@Resource手动注入),如果在set方法上通过@Resource手动注入的话,会起不到任何作用,除非在set方法对应的成员变量上通过@Resource手动注入。

如果让spring代替struts2产生action,这个时候就需要在set方法上通过@Resource手动注入,并且action本身需要注入@Component("xxx")@Scope("prototype"),注意,这里的xxx需要和struts.xmlaction标签的class属性名一致,这里如果没有@Scope("prototype"),那么产生的action就是单例了。

 

2.jsp页面中文数据传递到action中的乱码问题?

答:struts2.1.8已经修正,只需要改struts.i18n.encoding的值为GBK即可。

如果是以前的版本,需要在web.xml中配置spring中的CharacterEncodingFilter过滤器设置encoding的值为GBK

<filter>
	<filter-name>encodingFilter</filter-name>
	<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
	<init-param>
		<param-name>encoding</param-name>
		<param-value>GBK</param-value>
	</init-param>
</filter>
	
<filter-mapping>
	<filter-name>encodingFilter</filter-name>
	<url-pattern>/*</url-pattern>
</filter-mapping>

 

3.jsp页面获取后台load查询出来的数据时,怎么延迟session的关闭时间?

答:在web.xml中配置spring中的OpenSessionInViewFilter过滤器。

 

4.配置的OpenSessionInViewFilter过滤器是放到struts2配置的过滤器前面还是后面?

答:放到struts2配置的过滤器前面。

 

5.配置OpenSessionInViewFilter过滤器后,如果spring配置文件中的SessionFactory的名称不是sessionFactory,会出现什么问题,怎么解决?

答:出现异常信息如下:org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'sessionFactory' is defined

需要设置sessionFactoryBeanName的值为spring配置文件中的SessionFactory的名称。

<filter>
	<filter-name>openSessionInView</filter-name>
	<filter-class>org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</filter-class>
	<init-param>
           <param-name>sessionFactoryBeanName</param-name>
           <param-value>mySessionFactory</param-value>
       </init-param>
</filter>
<filter-mapping>
	<filter-name>openSessionInView</filter-name>
	<url-pattern>/*</url-pattern>
</filter-mapping>

 

6.配置OpenSessionInViewFilter过滤器后,如果spring配置文件中没有配置aop的事务边界,会出现什么情况?

答:会出现读取数据库中的数据正常,更新(新增、修改、删除) 数据库中的数据异常。异常信息如下:

org.springframework.dao.InvalidDataAccessApiUsageException: 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.

 

分享到:
评论
1 楼 limitee_god 2013-09-23  
Spring MVC远优于structs,任重道远,望自珍重。

相关推荐

    struts2和spring和Hibernate整合的jar包

    在整合Struts2、Spring和Hibernate时,我们通常会遇到一些包冲突的问题,尤其是在使用IDE如MyEclipse时。这可能是由于不同库版本之间的不兼容性,或者是重复引入了相同的类导致的。解决这些问题通常需要仔细检查项目...

    struts+spring+hibernate整合

    通过以上步骤,一个基本的Struts、Spring和Hibernate整合的应用就搭建完成了。这个整合的关键在于Struts处理HTTP请求,Spring管理业务对象和依赖,而Hibernate则处理数据库操作。这样的架构可以实现松耦合,便于代码...

    SSH整合源码(Struts+Spring+Hibernate整合用户注册例子)

    SSH整合,全称为Struts、Spring和Hibernate的集成,是一种常见的Java Web开发框架组合,用于构建高效、可维护的企业级应用程序。在这个例子中,我们看到的是一个基于SSH的用户注册功能的实现,使用的开发工具是...

    轻量级J2EE企业应用实战--Struts+Spring+Hibernate整合开发笔记

    本资源为轻量级 J2EE 企业应用实战开发笔记,涵盖 Struts、Spring 和 Hibernate 三大框架的整合开发实践。笔记从 JDK 安装和配置环境变量开始,接着介绍了 JSP 的技术原理和使用方法,包括 JSP 注释、声明、表达式、...

    struts2 spring hibernate 整合

    【SSH整合】指的是Struts2、Spring和Hibernate这三个开源框架的集成应用,它们在JavaEE企业级开发中占据着重要地位。Struts2是一个MVC框架,负责处理用户请求和控制应用程序流程;Spring是一个全面的后端解决方案,...

    struts2+spring+hibernate 整合的jar包

    Struts2、Spring和Hibernate是Java Web开发中的三大框架,它们的整合(SSH)极大地提升了开发效率和项目的可维护性。下面将详细讲解这三大框架的核心功能以及整合过程中的关键知识点。 1. **Struts2**:Struts2是一...

    轻量级 J2EE 企业应用实战:Struts+Spring+Hibernate 整合开发

    Struts、Spring和Hibernate的整合使用,通常被称为SSH(Struts-Spring-Hibernate)框架集成,是J2EE开发中的一个经典架构。这种集成能够充分利用各框架的优势,如Struts的MVC设计、Spring的依赖注入和事务管理、...

    Struts+Spring+Hibernate整合教程.pdf

    **Struts+Spring+Hibernate整合** 这三者整合的目的是为了构建一个高效、松散耦合的企业级应用。Spring可以作为容器,管理Struts中的Action和Service对象,实现依赖注入,同时Spring的AOP功能可以用于事务管理。...

    最新版本的Struts2+Spring4+Hibernate4框架整合

    整合使用最新版本的三大框架(即Struts2、Spring4和Hibernate4),搭建项目架构原型。 项目架构原型:Struts2.3.16 + Spring4.1.1 + Hibernate4.3.6。 此外,还有:log4j、slf4j、junit4、ehcache等知识点。 项目...

    struts,spring,hibernate整合

    Struts、Spring和Hibernate是Java开发中的三大主流框架,它们分别负责MVC(Model-View-Controller)架构的各个层面,提供了强大的功能和灵活的扩展性。SSH整合是指将这三个框架进行集成,以构建高效、模块化的Web...

    Struts2 Spring3 Hibernate3.3框架整合

    Struts2 Spring3 Hibernate3.3框架整合,增删改查,包含有数据库建表语句,包含有JAR包,包含有源代码。包含有事务的配置以及运用。使用的是Oracle的序列来提供的主键自增,建表和建立序列的sql语句,已经放在工程...

    Struts+Spring+Hibernate 整合教程.pdf

    #### 二、Struts+Spring+Hibernate整合实践 **2.1 Spring整合Struts** **2.1.1 整合理念** Spring框架可以用来整合Struts框架,以实现更高级别的松耦合。通过这种方式,可以确保业务逻辑与UI逻辑的分离,同时也...

    Struts+Spring+Hibernate整合练习

    Struts+Spring+Hibernate 整合是Java Web开发中常用的一种技术栈,它结合了三个强大的框架,分别负责表现层(Struts)、业务逻辑层(Spring)和持久化层(Hibernate)。这种组合提供了完整的MVC架构,使得开发过程...

    struts2整合Spring和hibernate案例

    Struts2、Spring和Hibernate是Java Web开发中的三大框架,它们各自在应用程序的不同层面发挥着重要作用。Struts2作为MVC(模型-视图-控制器)框架,负责处理请求和展示视图;Spring是一个全面的后端解决方案,提供...

    struts+spring+hibernate实现图书修改和删除

    SSH整合的关键在于配置文件,包括Struts 2的struts.xml、Spring的applicationContext.xml和Hibernate的hibernate.cfg.xml。这些文件定义了各组件之间的关系和行为。例如,struts.xml中配置Action类及其结果视图,...

    Struts+Spring+Hibernate整合教程

    在整合这三个框架的过程中,开发人员可以按照本文提到的方法,把Struts、Spring和Hibernate整合在一起,形成一个强而有力的Web应用开发环境。通过这种整合,可以将各种技术的特性发挥到极致,同时保持它们的独立性。...

    struts2+spring+hibernate整合小案例

    这个"struts2+spring+hibernate整合小案例"是一个用于教学和实践的DEMO,旨在帮助开发者理解和掌握这三大框架的协同工作方式。 首先,Struts2作为MVC(模型-视图-控制器)架构的一部分,主要负责处理HTTP请求,提供...

    Struts2,Spring与Hibernate整合应用,学生成绩管理系统

    ### Struts2、Spring与Hibernate整合应用:学生成绩管理系统 #### 一、知识点概览 本项目聚焦于Struts2、Spring与Hibernate三大框架的整合应用,旨在构建一个高效、稳定、易于维护的学生成绩管理系统。通过整合这...

    Struts Spring Hibernate整合实践

    Struts、Spring 和 Hibernate 是三个著名的 Java 开发框架,它们分别负责不同的职责。Struts 是一个 MVC(Model-View-Controller)框架,主要用于构建 web 应用的控制层,简化了Servlet和JSP的开发。Spring 是一个...

Global site tag (gtag.js) - Google Analytics