`

整合struts+spring+jpa中出现的解决方法

    博客分类:
  • j2ee
阅读更多

1. org.springframework.transaction.CannotCreateTransactionException: Could not open JPA EntityManager for transaction; nested exception is java.lang.UnsupportedOperationException: Not supported by BasicDataSource

Spring不能为JPA创建事务。原因是spring-config.xml设定了数据源,persistence.xml中要把数据库连接去掉

     <property name="hibernate.connection.username" value="xxx"/>
     <property name="hibernate.connection.password" value="xxx"/>  
     <property name="hibernate.connection.url" value="jdbc:mysql://localhost:3306/xxx?     useUnicode=true&amp;characterEncoding=UTF-8"/>

2. org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'productServiceBean': Injection of persistence fields failed; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in class path resource [beans.xml]: Invocation of init method failed; nested exception is javax.persistence.PersistenceException: org.hibernate.MappingException: Could not determine type for: java.util.Set, for columns: [org.hibernate.mapping.Column(childtypes)]

原因:@Id @GeneratedValue(strategy = GenerationType.AUTO)
           这个注解写在get方法上不要写在属性声明上。


3. javax.persistence.PersistenceException: org.hibernate.exception.DataException: could not insert: [com.yufei.bean.product.ProductType]
 Caused by: java.sql.SQLException: Data too long for column 'visible' at row 1

原因:实体类字段中的visible插入到数据库中所对应的值为ASCII码味49,超出范围。
          换个mysql的jar包解决问题。


4. web容器出现

严重: Exception sending context initialized event to listener instance of class org.springframework.web.context.ContextLoaderListener java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory

此问题多样化,查阅资料说是jar包commons-logging.jar问题 ,但解决的方式是重新导入项目...

5. org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'productTypeService': Injection of persistence fields failed; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in class path resource [beans.xml]: Invocation of init method failed; nested exception is java.lang.NoSuchMethodError: org.objectweb.asm.ClassVisitor.visit(IILjava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)V

原因: Spring2.5下asm-2.2.3.jar 与hibernate下的asm.jar 冲突, 删除asm-2.2.3.jar 。

6.  Failed to load or instantiate TagLibraryValidator class: org.apache.taglibs.standard.tlv.JstlCoreTLV

 org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:40)
org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:407)
org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:88)
org.apache.jasper.compiler.Parser.processIncludeDirective(Parser.java:340)

原因:lib中缺少standard.jar , jstl.jar
7. java.lang.NoSuchFieldError: DIRECTORY
 at net.fckeditor.connector.impl.AbstractLocalFileSystemConnector.getFolders(AbstractLocalFileSystemConnector.java:140)
 at net.fckeditor.connector.Dispatcher.getFoldersAndOrFiles(Dispatcher.java:204)
 at net.fckeditor.connector.Dispatcher.doGet(Dispatcher.java:156)
 at net.fckeditor.connector.ConnectorServlet.doGet(ConnectorServlet.java:89)

原因:包冲突,删掉struts1.3自带的commons-io-1.1.jar,commons-fileupload-1.1.1.jar,加入commons-io-1.3.2.jar,commons-fileupload-1.2.1.jar

8.IOException while loading persisted sessions: java.io.EOFException

java.io.EOFException
at java.io.ObjectInputStream$PeekInputStream.readFully(ObjectInputStream.java:2281)
at java.io.ObjectInputStream$BlockDataInputStream.readShort(ObjectInputStream.java:2750)
at java.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:780)
at java.io.ObjectInputStream.<init>(ObjectInputStream.java:280)

原因是tomcat对硬盘的session读取失败,彻底解决办法一下:将work下面的文件清空,主要是*.ser文件,或者只是删除掉session.ser即可以解决。

9.javax.persistence.PersistenceException: org.hibernate.PersistentObjectException: detached entity passed to persist: com.dalton.domain.User

org.hibernate.ejb.AbstractEntityManagerImpl.throwPersistenceException

原因:(1) 是entity bean的 @Id标记错了,标记在了String 等类型上

(2) 对id字段手工设定了值。 

10 org.springframework.web.context.ContextLoader(line:215)  - Context initialization failed
org.springframework.beans.factory.BeanCreationException: Error creating bean with
name 'brand' defined in file [D:\Tomcat6\webapps\autoet\WEB-INF\classes\com\autoet\
action\brand\BrandAction.class]: Instantiation of bean failed; nested exception is
org.springframework.beans.BeanInstantiationException: Could not instantiate bean
class [com.autoet.action.brand.BrandAction]: Constructor threw exception; nested
exception is java.lang.NullPointerException
原因:项目使用了<context:component-scan/>扫描机制, 而类BrandAction没有标注为原型,
为类添加 @Scope("prototype")标注(与@Controller相同位置)

11 org.hibernate.tool.hbm2ddl.SchemaUpdate(line:222)  - could not complete schema update
java.lang.UnsupportedOperationException: Not supported by BasicDataSource
原因 spring.xml 与 persistence.xml中都配置了数据库连接,注释掉persistence.xml中的连接信息

12 org.apache.struts2.dispatcher.Dispatcher(line:27)  - Dispatcher initialization failed
Unable to load configuration. - [unknown location]
Cannot locate the chosen ObjectFactory implementation: spring - [unknown location]
原因 struts.xml中使用了<constant name="struts.objectFactory" value="spring"/>,将其注释掉。

 

 

 

 

分享到:
评论

相关推荐

    struts2+spring+jpa整合的完整例子(含分页)

    在学习jpa时候做的一个struts2+spring+jpa整合的完整例子 包含分页,一个简单的 资产入库系统 并实现了登陆等。

    Struts+Spring+Jpa(hibernate)整合

    在提供的文件中,`Spring+Struts2+Jpa.ppt`可能是整合的讲解或教程,包含详细步骤和注意事项。`applicationContext.xml`是Spring的配置文件,其中会定义bean,包括DataSource、SessionFactory、TransactionManager等...

    整合 Struts 2 + Spring 2 + JPA + AJAX

    整合Struts 2、Spring 2、JPA 和 AJAX 需要完成以下步骤: 1. **配置环境**:确保安装了所有必要的库,如Struts 2、Spring、JPA实现(如Hibernate)、以及JavaScript库。 2. **创建项目结构**:定义MVC架构,包括...

    struts+spring+hibernate三大框架整合

    **Spring整合Struts** Spring整合Struts主要有三种方式: 1. **使用Spring的ActionSupport**:Action类直接继承自Spring的ActionSupport,通过`super.getWebApplicationContext()`获取Spring上下文,然后通过`...

    Spring+Struts2+JPA

    **Spring+Struts2+JPA 整合详解** 在Java Web开发中,Spring、Struts2和JPA是三个非常重要的框架。Spring作为一个全面的轻量级框架,提供了依赖注入(DI)和面向切面编程(AOP)等功能;Struts2是一个强大的MVC框架...

    struts2.0+spring2.5+JPA整合框架

    在整合Struts2、Spring和JPA时,通常需要以下步骤: 1. 配置Struts2:在web.xml中配置Struts2的前端控制器DispatcherServlet,以及struts-default和struts-plugin.xml配置。 2. 配置Spring:创建ApplicationContext....

    Struts2整合Spring、JPA

    Struts2整合Spring和JPA是企业级Java应用开发中常见的技术组合,它们分别负责不同的职责:Struts2作为一款成熟的MVC框架,主要用于处理Web层的请求与响应;Spring作为一个全面的轻量级框架,提供了依赖注入(DI)和...

    Struts2+Spring+JPA实例

    在这个"Struts2+Spring+JPA实例"中,我们首先会看到如何将这三个框架整合在一起。整合的核心在于配置,通常需要在Struts2的配置文件(struts.xml)中定义Action类,这些类通常由Spring管理。Spring的配置文件(spring....

    Struts 2 + Spring 2 + JPA + AJAX

    Struts 2、Spring 2、JPA 和 AJAX 是四个在企业级 Java 开发中非常重要的技术组件。这个项目组合提供了全面的解决方案,用于构建高效、可扩展且易于维护的 Web 应用程序。 **Struts 2** 是一个基于 MVC(Model-View...

    基于_Struts_2+Spring+JPA_框架的WEB_应用

    在整合这三个框架时,Struts 2负责前端的请求处理,Spring作为应用的容器管理所有bean,包括Struts 2的Action类和JPA的EntityManager。JPA则负责数据持久化,通过Spring的数据访问/集成模块与数据库交互。 - **配置...

    struts2+spring+jpa小例子

    Struts2、Spring 和 JPA 是Java开发中常用的三大框架,它们各自负责应用程序的不同层面:Struts2 主要处理 MVC(Model-View-Controller)架构中的控制层,Spring 提供全面的依赖注入(DI)以及面向切面编程(AOP),...

    Struts 2 + Spring 2 + JPA + AJAX 示例

    Struts 2、Spring 2、JPA 和 AJAX 是企业级 Web 应用开发中的四大核心技术,它们在构建高效、可扩展的系统中扮演着重要角色。本示例结合这四种技术,提供了一个完整的应用实例,帮助开发者了解如何将它们整合在一起...

    JPA+Spring+Struts整合实例,JPA+Spring+Struts整合实例

    通过以上步骤,你就能完成一个基本的JPA+Spring+Struts整合应用。这种整合方式能充分利用每个框架的优点,提高代码的可维护性和可扩展性,降低开发复杂度。在实际项目中,你可能还需要考虑异常处理、安全控制、性能...

    整合Struts + Spring + Hibernate

    在这个背景下,“整合Struts + Spring + Hibernate”是一个常见的技术栈组合,它结合了三个强大的框架:Struts作为前端控制器,Spring作为全面的框架提供者,Hibernate作为持久层解决方案。这种集成能够实现高效的...

    整合struts2.3.4+spring3.1.1+hibernae4.1.3+JPA

    标题 "整合struts2.3.4+spring3.1.1+hibernate4.1.3+JPA" 暗示了一个常见的企业级Java应用开发集成框架的搭建过程。这个集成环境将Struts2作为MVC框架,Spring作为服务层管理和依赖注入容器,Hibernate作为持久层...

    Struts2+Spring+JPA的Jar包

    整合Struts2、Spring和JPA,可以实现MVC架构的完整流程:Struts2负责接收用户请求,通过Action处理业务逻辑,Spring管理这些Action对象以及数据访问层,JPA则处理与数据库的交互。这样的组合提供了良好的分层结构,...

    struts+spring+hibernate

    随着技术的发展,Spring Boot 和 Spring Framework 5 的出现,许多SSH的功能已被简化或替代,例如Spring MVC替代了Struts,JPA或MyBatis代替了Hibernate。但SSH作为早期的主流组合,仍然在许多现有项目中发挥着作用...

    Java Web整合开发王者归来(JSP+Servlet+Struts+Hibernate+Spring)

    第9篇为实战篇,内容为两个典型的应用系统:论坛系统(Spring+Struts+Hibernate)、宠物商店(EJB 3+JPA+Struts 2)。 《Java Web整合开发王者归来(JSP+Servlet+Struts+Hibernate+Spring)》附1张DVD光盘,内容为《Java ...

Global site tag (gtag.js) - Google Analytics