大家帮忙总结下,使用SSH框架容易出现的问题,还有运行时候容易出现的问题!

辰爸 2009-03-24 10:07:53
加精
如题!
...全文
2102 76 打赏 收藏 转发到动态 举报
写回复
用AI写文章
76 条回复
切换为时间正序
请发表友善的回复…
发表回复
small white rat 2012-03-17
  • 打赏
  • 举报
回复
Batch update returned unexpected row count from update [0]; actual row count: 0; expected: 1

不注意的话,还真的有点无所适从,Batch update returned unexpected row count from update [0]; actual row count: 0; expected: 1这个异常是由于主键设置为自增长,而在我们插入记录的时候设置了ID的值导致的。

java.lang.NoClassDefFoundError: antlr/ANTLRException

开始没有注意到这个,只看下面的详细情况.结果调试了两天还是不行.没办法,搜索了一下antlr/ANTLRException,结果发现是少了antlr-2.7.5H3.jar包



使用Hibernate3.2 以上版本的注解映射,需导入以下jar包: 织梦好,好织梦
1. ejb3-persistence.jar
2. hibernate-annotations.jar
3. hibernate-commons-annotations.jar
4. hibernate-core.jar
如果和Spring 整合,那么需要另外导入一个jar包(spring.jar)。
注意:
此spring.jar必须是 Spring2.5以上版本的,因为,Spring2.5之前org.springframework.orm.hibernate3.LocalSessionFactoryBean类中,并没有 packageToScan 这个属性,只有mappingResuorces这个属性。而packageToScan这个属性正是映射包中的类,而mappingResuorces只是映射某个文件。

com.test.po
这样,即可完成映射。

在使用 Hiberante注解映射和Spring整合过程中可能遇到的异常:
如出现java.lang.NoClassDefFoundError: org/dom4j/ ,导入dom4j.jar包即可
如出现java.lang.NoClassDefFoundError: org/slf4j/LoggerFactory , 需要导入以下四个jar包(1: slf4j-api-1.4.3.jar、2:slf4j-jdk14-1.4.3.jar、3:slf4j-log4j12-1.4.3.jar、4:log4j-over-slf4j-1.4.3.jar) 即可
如出现java.lang.NoClassDefFoundError: javax/transaction/TransactionManager , 需要导入 jta.jar包
java.lang.ClassNotFoundException: antlr.ANTLRException 则需要导入ant.jar包
org.springframework.util.Assert.noNullElements([Ljava/lang/Object;Ljava/lang/String;)V Invalid property 'packagesToScan' of bean class [org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean]: Bean property 'packagesToScan' is not writable or has an invalid setter method. Does the parameter type of the setter match the return type of the getter? 这是由于,spring.jar包的版本不符,把spring.jar换成Spring 2.5以上版本即可
6. java.lang.NoSuchMethodError: org.objectweb.asm.ClassVisitor.visit(IILjava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)V jar包冲突,删除asm-2.2.3.jar 即可



ids for this class must be manually assigned before calling save()

oracle:

@Id
@GeneratedValue(generator = "uuid")
@GenericGenerator(name = "uuid", strategy = "org.hibernate.id.UUIDGenerator")
@Column(name = "ID", unique = true, nullable = false, length = 50)
public String getId() {
return this.id;
}

id最好是自动生成:
如果是配置Hbm文件,可以加入<generator class="assigned"></generator>
如果是注解:@GeneratedValue(strategy=GenerationType.IDENTITY)
public Long getId() {
return id;
}


hibernate +MySQL 5中,出现错误提示:
Field 'id' doesn't have a default value
解决方法
打开my.ini(my-template.ini),查找
sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
修改为
sql-mode="NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"


Spring与Hibernate整合getHibernateTemplate().delete(object)删除不了数据

Spring 还是没有封装 Hibernate 的删除、插入时事物的开启 和提交..
找了资料我去hibernate.cfg.xml 添加了一句
<property name="connection.autocommit">true</property>



Write operations are not allowed in read-only mode (FlushMode.NEVER) - turn your Session into FlushMode.AUTO or remove 'readOnly' marker from transaction definition 错误解决

错误代码:
org.springframework.dao.InvalidDataAccessApiUsageException: Write operations are not allowed in read-only mode (FlushMode.NEVER) - turn your Session into FlushMode.AUTO or remove 'readOnly' marker from transaction definition
错误原因:
OpenSessionInViewFilter在getSession的时候,会把获取回来的session的flush mode 设为FlushMode.NEVER。然后把该sessionFactory绑定到TransactionSynchronizationManager,使request的整个过程都使用同一个session,在请求过后再接除该sessionFactory的绑定,最后closeSessionIfNecessary根据该session是否已和transaction绑定来决定是否关闭session。在这个过程中,若HibernateTemplate 发现自当前session有不是readOnly的transaction,就会获取到FlushMode.AUTO Session,使方法拥有写权限。
也即是,如果有不是readOnly的transaction就可以由Flush.NEVER转为Flush.AUTO,拥有insert,update,delete操作权限,如果没有transaction,并且没有另外人为地设flush model的话,则doFilter的整个过程都是Flush.NEVER。所以受transaction保护的方法有写权限,没受保护的则没有。
参考文章:
http://calvin.blog.javascud.org/post/46.htm
解决办法:
采用spring的事务声明,使方法受transaction控制
<bean id="baseTransaction"
class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean"
abstract="true">
<property name="transactionManager" ref="transactionManager"/>
<property name="proxyTargetClass" value="true"/>
<property name="transactionAttributes">
<props>
<prop key="get*">PROPAGATION_REQUIRED,readOnly</prop>
<prop key="find*">PROPAGATION_REQUIRED,readOnly</prop>
<prop key="load*">PROPAGATION_REQUIRED,readOnly</prop>
<prop key="save*">PROPAGATION_REQUIRED</prop>
<prop key="add*">PROPAGATION_REQUIRED</prop>
<prop key="update*">PROPAGATION_REQUIRED</prop>
<prop key="remove*">PROPAGATION_REQUIRED</prop>
</props>
</property>
</bean>
<bean id="userService" parent="baseTransaction">
<property name="target">
<bean class="com.phopesoft.security.service.impl.UserServiceImpl"/>
</property>
</bean>


a181111979 2011-03-08
  • 打赏
  • 举报
回复
mark一下 整合的时候问题基本都遇到过,当初怎么没做笔记呢
filish108 2010-11-18
  • 打赏
  • 举报
回复
学习中.....
sunflowerxy 2010-11-16
  • 打赏
  • 举报
回复
雁过留痕!
  • 打赏
  • 举报
回复
感觉经常出现包冲突问题。。
ai523730098 2009-11-21
  • 打赏
  • 举报
回复
我遇到2个有趣的问题:
1.叫什么FiledNot。。ERROR,这个错误是jar包重复的问题
2.配置文件版本也要注意:如果不相配,会出现route not to host(找不到主机的路由)的错误
StudyFly 2009-11-20
  • 打赏
  • 举报
回复
SSH整合的时候确实jar包会冲突,我自己把ssh整合时所用到得jar包全整合好了,以后只要用到得话,直接导进去就Ok了
longlikema 2009-10-07
  • 打赏
  • 举报
回复
三个框架使用jar包可能会导致错误的发生
有没有人有相关的详细说明?
lyjgo 2009-04-10
  • 打赏
  • 举报
回复
代码真多啊.看到我头晕了
西部流云 2009-04-07
  • 打赏
  • 举报
回复
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包导入进去就应该行了,我的是这样解决的

网友回复:commons-pool.jar:
http://www.apache.org/dist/commons/pool/commons-pool-current.zip
commons-dbcp-1.2.1.jar:
http://archive.apache.org/dist/commons/dbcp/binaries/commons-dbcp-1.2.1.zip

西部流云 2009-04-07
  • 打赏
  • 举报
回复
这个不是我自己总结的,我在csdn博客上看到的。我转给你。以后多多看看csdn博客,里面有好的东东。
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
clylft 2009-04-07
  • 打赏
  • 举报
回复
看 你 的 帖子 很 高兴
mmhvsysl 2009-04-07
  • 打赏
  • 举报
回复
ddd
syz0620 2009-04-06
  • 打赏
  • 举报
回复
aaaaaa/////
studyjavaee 2009-04-06
  • 打赏
  • 举报
回复
多多学习。
shwy0000 2009-04-06
  • 打赏
  • 举报
回复
学习
zhaoyu876 2009-04-06
  • 打赏
  • 举报
回复
顶呀
hurry903 2009-04-05
  • 打赏
  • 举报
回复
学习一下
Eric_Yu_Nupt 2009-04-05
  • 打赏
  • 举报
回复
定三楼
mingfeng2009 2009-04-05
  • 打赏
  • 举报
回复
大家有没有关于SSH协议文档啊?
加载更多回复(55)

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧