SSH整合项目中容易出现的错误整理

1.
org.hibernate.id.IdentifierGenerationException: ids for this class must be manually assigned before calling save():


原因:<id>元素配置不正确,<id>元素缺少其子元素<generator></generator>的配置。

 

解决方法:<id>元素映射了相应数据库表的主键字段,对其子元素<generator class="">,其中class的取值可以为increment、identity、sequence、hilo、native...... 等,一般取其值为native 。


2.
java.lang.IllegalArgumentException: id to load is required for loading


方案:Users user=(Users)this.getHibernateTemplate().get(Users.class, id);

       如果以用户名为参数不能用此方法


3.
org.springframework.dao.InvalidDataAccessResourceUsageException: could not execute query; nested exception is org.hibernate.exception.SQLGrammarException: could not execute query


方案:sql语句有错误


4.
严重: Error starting static Resources
java.lang.IllegalArgumentException: Document base D:\Program Files\Apache Software Foundation\Tomcat 5.0\webapps\tomcat-docs does not exist or is not a readable directory
严重: Error in resourceStart()
2007-6-6 23:32:25 org.apache.catalina.core.StandardContext start
严重: Error getConfigured
2007-6-6 23:32:25 org.apache.catalina.core.StandardContext start
严重: Context startup failed due to previous errors
2007-6-6 23:32:25 org.apache.catalina.core.StandardContext start
严重: Exception during cleanup after start failed
LifecycleException:  Container StandardContext[/tomcat-docs] has not been started


5.jsf+spring+hibernate


严重: Exception sending context initialized event to listener instance of class org.springframework.web.context.ContextLoaderListener
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dataSource' defined in ServletContext resource [/WEB-INF/applicationContext.xml]: Instantiation of bean failed; nested exception is java.lang.NoClassDefFoundError: org/apache/commons/pool/impl/GenericObjectPool
Caused by: java.lang.NoClassDefFoundError: org/apache/commons/pool/impl/GenericObjectPool
严重: Error listenerStart
2007-6-8 10:31:55 org.apache.catalina.core.StandardContext start
严重: Context [/shj01] startup failed due to previous errors
2007-6-8 10:31:55 org.apache.catalina.core.ApplicationContext log


方案:spring-framework-2.0.5\lib\jakarta-commons下的commons-collections.jar  commons-dbcp.jar   commons-pool.jar加载到工程去
6.
严重: Exception sending context initialized event to listener instance of class com.sun.faces.config.ConfigureListener
javax.faces.FacesException: Can't parse configuration file:jar:file:/E:/工具/apache-tomcat-6.0.9/apache-tomcat-6.0.9/webapps /jsf02/WEB-INF/lib/jsf-impl.jar!/com/sun/faces/standard-html-renderkit.xml


方案:把tomcat的安装文件换了位置就没事了


7.spring MVC+hibernate


严重: StandardWrapper.Throwable
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory' defined in ServletContext resource [/WEB-INF/applicationContext.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
Caused by: java.lang.NoSuchMethodError: org.objectweb.asm.ClassVisitor.visit(IILjava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)V


方案:
在使用Spring的AOP编程时,会用到这几个lib:
asm-2.2.2.jar
asm-commons-2.2.2.jar
asm-util-2.2.2.jar
Hibernate使用如果lib:
asm.jar
asm-attrs.jar
其中asm-2.2.2.jar与asm.jar存在类上的冲突!!!
使用其中之一或两者都使用,可能会出现如下错误:
java.lang.NoClassDefFoundError: org/objectweb/asm/CodeVisitor
java.lang.NoClassDefFoundError: org/objectweb/asm/commons/EmptyVisitor
java.lang.NoSuchMethodError: org.objectweb.asm.ClassVisitor.visit。。。。。。


解决办法是:
1.去掉类路径上的关于Hibernate的3个lib
asm.jar
asm-attrs.jar
cglib-2.1.3.jar


2.加入Spring中的以下4个lib
asm-2.2.2.jar
asm-commons-2.2.2.jar
asm-util-2.2.2.jar
cglib-nodep-2.1_3.jar


8.spring MVC+hibernate


Exception in thread "main" org.springframework.dao.InvalidDataAccessResourceUsageException: Could not execute JDBC batch update; nested exception is org.hibernate.exception.SQLGrammarException: Could not execute JDBC batch update
Caused by: org.hibernate.exception.SQLGrammarException: Could not execute JDBC batch update


9.
org.springframework.beans.factory.CannotLoadBeanClassException: Error loading class [org.springframework.transaction.interceptor.TransactionProxyFactoryBean] for bean with name 'userService' defined in ServletContext resource [/WEB-INF/applicationContext.xml]: problem with class file or dependent class; nested exception is java.lang.NoClassDefFoundError: org/springframework/aop/framework/AbstractSingletonProxyFactoryBean
Caused by: java.lang.NoClassDefFoundError: org/springframework/aop/framework/AbstractSingletonProxyFactoryBean


方案:没加 spring 2.0 aop libraries


10.
org.apache.jasper.JasperException: Unable to compile class for JSP:


方案:jsp网页中的java代码有问题


11.
Exception in thread "main" org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'CompanyController' defined in class path resource [com/company/test/company-config.xml]: Error setting property values; nested exception is org.springframework.beans.NotWritablePropertyException: Invalid property 'methodNameResolver' of bean class [com.company.action.CompanyController]: Bean property 'methodNameResolver' is not writable or has an invalid setter method. Does the parameter type of the setter match the return type of the getter?
Caused by: org.springframework.beans.NotWritablePropertyException: Invalid property 'methodNameResolver' of bean class [com.company.action.CompanyController]: Bean property 'methodNameResolver' is not writable or has an invalid setter method. Does the parameter type of the setter match the return type of the getter?


控制器没继承MultiActionController

 

12.
Exception in thread "main" org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'turDiffService' defined in class path resource [com/expert/test/expert-config.xml]: Error setting property values; nested exception is org.springframework.beans.NotWritablePropertyException: Invalid property 'turDifficultDao' of bean class [com.expert.operation.impl.TurDiffSerImpl]: Bean property 'turDifficultDao' is not writable or has an invalid setter method. Did you mean 'truDifficultDao'?
Caused by: org.springframework.beans.NotWritablePropertyException: Invalid property 'turDifficultDao' of bean class [com.expert.operation.impl.TurDiffSerImpl]: Bean property 'turDifficultDao' is not writable or has an invalid setter method. Did you mean 'truDifficultDao'?


原因:
在定义时TurDifficultDao turDifficultDao  ,把有个字母写错,后发现错误,改过来了,但没把get()  set()方法中对应的改过来

 

13.

Exception in thread "main" org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'urlMapping' defined in class path resource [com/expert/test/expert-config.xml]: Initialization of bean failed; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named '' is defined
Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named '' is defined


原因:
在expert-config.xml中创建
<bean id="urlMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
  <property name="mappings">
   <props>
   
    <prop key=""></prop>
   
    </props>
  </property>
</bean>
没有给<prop key=""></prop>赋值

 

14.

org.springframework.orm.hibernate3.HibernateQueryException: Instruction is not mapped

[from Instruction]; nested exception is org.hibernate.hql.ast.QuerySyntaxException:

Instruction is not mapped [from Instruction]
Caused by: org.hibernate.hql.ast.QuerySyntaxException: Instruction is not mapped [from

Instruction]


原因:在data-config.xml中没加入<value>com/serializ/Instruction.hbm.xml</value>


15.

java.sql.SQLException: Field 'userId' doesn't have a default value


原因:把配置文件的主键改为<generator class="assigned" /> 可以进行自定义主键值,因为我在设主键时没有设成自动增长的,要求填默认值是受了配置文件里<generator class="native"/>的影响了。

 

16.org.apache.jasper.JasperException: Unable to compile class for JSP

 

原因:jsp页面中的java代码括号不对称!

 

17.Error creating bean with name 'sessionFactory '

 

网友回复:Error creating bean with name 'sessionFactory '
网友回复: 'UserDAO ' 这个 java Bean 有问题,

导致 : 严重: action: null
再试试, 有可能是 没有符合javabean 的规则

网友回复:spring的配置文件有错误~~
网友回复:UserDAO是自动生成的,spring配置肯定没问题啊
网友回复:我遇到的问题跟你遇到的一模一样,我到现在也还没能解决出来,如果你解决了希望能告诉一下。非常感谢
网友回复:RP
网友回复:看错误信息,似乎是java bean里的setter方法不正确。建议检查一下。
网友回复:Caused by: java.lang.NoClassDefFoundError:org/apache/commons/pool/impl/GenericObjectPool
是一些包没有加载进去吧
eclipse是数据字典的方式加载的,放到tomcat中要重新引用
网友回复:我在上面写到跟你出的问题大概差不多,我现在我的问题已经解决掉了,我在service类修改了一下,我的service是不是用工具生成的,我的错误是service继承了hibernateDaoSupport类,粗

心造成的
网友回复:我也遇到这个错误了,不过在网上终于找到了答案,你这个是一个包没有导入进去, <bean id= "dataSource " class= "org.apache.commons.dbcp.BasicDataSource " destroy-method=

"close "> 除了需要commons-dbcp-1.2-1.jar之外还需要commons-pool.jar这个包,把后面这个commons-pool.jar包导入进去就应该行了

 

 

 

 

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/phphot/archive/2009/04/01/4041858.aspx

你可能感兴趣的:(spring,tomcat,Hibernate,bean,ssh)